/* Generated by Cython 0.29.32 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "C:\\Users\\mavaz\\git\\cuda-python-build-utils\\conda-recipe\\cuda-headers\\include\\cuda.h",
            "C:\\Users\\mavaz\\git\\cuda-python-build-utils\\conda-recipe\\cuda-headers\\include\\cudaProfiler.h",
            "C:\\Users\\mavaz\\git\\cuda-python-build-utils\\conda-recipe\\cuda-headers\\include\\cuda_runtime.h",
            "C:\\Users\\mavaz\\git\\cuda-python-build-utils\\conda-recipe\\cuda-headers\\include\\driver_types.h",
            "cuda"
        ],
        "include_dirs": [
            ".\\cuda",
            "cuda",
            "C:\\ProgramData\\Anaconda3\\conda-bld\\cuda-python_1662763164470\\_h_env",
            "C:\\Users\\mavaz\\git\\cuda-python-build-utils\\conda-recipe\\cuda-headers/include"
        ],
        "language": "c++",
        "library_dirs": [
            "C:\\ProgramData\\Anaconda3\\conda-bld\\cuda-python_1662763164470\\_h_env\\Lib\\site-packages",
            "C:\\ProgramData\\Anaconda3\\conda-bld\\cuda-python_1662763164470\\_h_env\\lib"
        ],
        "name": "cuda.cudart",
        "sources": [
            "cuda\\cudart.pyx"
        ]
    },
    "module_name": "cuda.cudart"
}
END: Cython Metadata */

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
#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 < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
    #error Cython requires Python 2.6+ or Python 3.3+.
#else
#define CYTHON_ABI "0_29_32"
#define CYTHON_HEX_VERSION 0x001D20F0
#define CYTHON_FUTURE_DIVISION 1
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !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
  #if PY_VERSION_HEX >= 0x02070000
    #define HAVE_LONG_LONG
  #endif
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_NOGIL 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 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_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 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 (PYPY_VERSION_HEX >= 0x07030900)
  #endif
#elif defined(PYSTON_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_NOGIL 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #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
  #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
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 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(PY_NOGIL)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 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_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #define CYTHON_COMPILING_IN_NOGIL 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 0
  #elif !defined(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
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 0
  #elif !defined(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
  #if PY_VERSION_HEX >= 0x030B00A4
    #undef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 0
  #elif !defined(CYTHON_FAST_THREAD_STATE)
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000)
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
  #endif
  #ifndef CYTHON_USE_DICT_VERSIONS
    #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
  #endif
  #if PY_VERSION_HEX >= 0x030B00A4
    #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 (PY_VERSION_HEX >= 0x030700A3)
  #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 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(__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_MAYBE_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# 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 int      uint32_t;
        #else
           typedef unsigned __int8   uint8_t;
           typedef unsigned __int32  uint32_t;
        #endif
    #endif
#else
   #include <stdint.h>
#endif
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus) && __cplusplus >= 201103L
    #if __has_cpp_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH [[fallthrough]]
    #elif __has_cpp_attribute(clang::fallthrough)
      #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
    #elif __has_cpp_attribute(gnu::fallthrough)
      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__ ) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif

#ifndef __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 ==(U other) { return *ptr == other; }
    template<typename U> bool operator !=(U other) { return *ptr != other; }
  private:
    T *ptr;
};

#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  #define Py_OptimizeFlag 0
#endif
#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_PyCode_New(a, 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)
  #define __Pyx_DefaultClassType PyClass_Type
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_DefaultClassType PyType_Type
#if PY_VERSION_HEX >= 0x030B00A1
    static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, 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 *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
        PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
        const char *fn_cstr=NULL;
        const char *name_cstr=NULL;
        PyCodeObject* co=NULL;
        PyObject *type, *value, *traceback;
        PyErr_Fetch(&type, &value, &traceback);
        if (!(kwds=PyDict_New())) goto end;
        if (!(argcount=PyLong_FromLong(a))) goto end;
        if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
        if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
        if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
        if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
        if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
        if (!(nlocals=PyLong_FromLong(l))) goto end;
        if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
        if (!(stacksize=PyLong_FromLong(s))) goto end;
        if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
        if (!(flags=PyLong_FromLong(f))) goto end;
        if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
        if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
        if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
        if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
        if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too;
        if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here
        if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too;
        Py_XDECREF((PyObject*)co);
        co = (PyCodeObject*)call_result;
        call_result = NULL;
        if (0) {
            cleanup_code_too:
            Py_XDECREF((PyObject*)co);
            co = NULL;
        }
        end:
        Py_XDECREF(kwds);
        Py_XDECREF(argcount);
        Py_XDECREF(posonlyargcount);
        Py_XDECREF(kwonlyargcount);
        Py_XDECREF(nlocals);
        Py_XDECREF(stacksize);
        Py_XDECREF(replace);
        Py_XDECREF(call_result);
        Py_XDECREF(empty);
        if (type) {
            PyErr_Restore(type, value, traceback);
        }
        return co;
    }
#else
  #define __Pyx_PyCode_New(a, 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
  #define __Pyx_DefaultClassType PyType_Type
#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 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_FAST_PYCCALL
#define __Pyx_PyFastCFunction_Check(func)\
    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
#else
#define __Pyx_PyFastCFunction_Check(func) 0
#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_CPYTHON && PY_VERSION_HEX < 0x030400A1
  #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
  #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
  #define PyMem_RawFree(p)             PyMem_Free(p)
#endif
#if CYTHON_COMPILING_IN_PYSTON
  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#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 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 CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#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 >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
#else
#define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #if defined(PyUnicode_IS_READY)
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #else
  #define __Pyx_PyUnicode_READY(op)       (0)
  #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)         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, ch)
  #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
  #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
  #else
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
  #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) ? 65535 : 1114111)
  #define __Pyx_PyUnicode_KIND(u)         (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] = 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 && !defined(PyUnicode_Contains)
  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
#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
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_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_SIZE(seq)  Py_SIZE(seq)
#else
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
#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 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
#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 PY_MAJOR_VERSION >= 3
  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
#else
  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
#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; }

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#define __PYX_HAVE__cuda__cudart
#define __PYX_HAVE_API__cuda__cudart
/* Early includes */
#include "driver_types.h"
#include <stdint.h>
#include "cuda_runtime.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 const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
#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_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __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)
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);
}
#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
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
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] = 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
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; }

static PyObject *__pyx_m = NULL;
static PyObject *__pyx_d;
static PyObject *__pyx_b;
static PyObject *__pyx_cython_runtime = NULL;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static PyObject *__pyx_empty_unicode;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;


static const char *__pyx_f[] = {
  "cuda\\cudart.pyx",
  "stringsource",
  "cuda\\cudart.pxd",
  "cuda\\cuda.pxd",
  "cuda\\_lib\\utils.pxd",
  "type.pxd",
};
/* NoFastGil.proto */
#define __Pyx_PyGILState_Ensure PyGILState_Ensure
#define __Pyx_PyGILState_Release PyGILState_Release
#define __Pyx_FastGIL_Remember()
#define __Pyx_FastGIL_Forget()
#define __Pyx_FastGilFuncInit()

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


/* "cuda/ccudart.pxd":1084
 * 
 * 
 * ctypedef unsigned int GLenum             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int GLuint
 */
typedef unsigned int __pyx_t_4cuda_7ccudart_GLenum;

/* "cuda/ccudart.pxd":1086
 * ctypedef unsigned int GLenum
 * 
 * ctypedef unsigned int GLuint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef unsigned int __pyx_t_4cuda_7ccudart_GLuint;

/* "cuda/ccudart.pxd":1098
 * ctypedef void* EGLStreamKHR
 * 
 * ctypedef unsigned int EGLint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef unsigned int __pyx_t_4cuda_7ccudart_EGLint;

/* "cuda/ccudart.pxd":1105
 * ctypedef void* EGLSyncKHR
 * 
 * ctypedef uint32_t VdpDevice             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long VdpGetProcAddress
 */
typedef uint32_t __pyx_t_4cuda_7ccudart_VdpDevice;

/* "cuda/ccudart.pxd":1107
 * ctypedef uint32_t VdpDevice
 * 
 * ctypedef unsigned long long VdpGetProcAddress             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpVideoSurface
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_7ccudart_VdpGetProcAddress;

/* "cuda/ccudart.pxd":1109
 * ctypedef unsigned long long VdpGetProcAddress
 * 
 * ctypedef uint32_t VdpVideoSurface             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpOutputSurface
 */
typedef uint32_t __pyx_t_4cuda_7ccudart_VdpVideoSurface;

/* "cuda/ccudart.pxd":1111
 * ctypedef uint32_t VdpVideoSurface
 * 
 * ctypedef uint32_t VdpOutputSurface             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaGLDeviceList:
 */
typedef uint32_t __pyx_t_4cuda_7ccudart_VdpOutputSurface;

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

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

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

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

/* "cuda/ccuda.pxd":2496
 * 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":2498
 * ctypedef unsigned long long VdpGetProcAddress
 * 
 * ctypedef uint32_t VdpVideoSurface             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpOutputSurface
 */
typedef uint32_t __pyx_t_4cuda_5ccuda_VdpVideoSurface;

/* "cuda/ccuda.pxd":2500
 * ctypedef uint32_t VdpVideoSurface
 * 
 * ctypedef uint32_t VdpOutputSurface             # <<<<<<<<<<<<<<
 * 
 * cdef CUresult cuVDPAUGetDevice(CUdevice* pDevice, VdpDevice vdpDevice, VdpGetProcAddress* vdpGetProcAddress) nogil except ?CUDA_ERROR_NOT_FOUND
 */
typedef uint32_t __pyx_t_4cuda_5ccuda_VdpOutputSurface;

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

/* "cuda/cudart.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
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_char_ptr;

/* "cuda/cudart.pyx":24
 * ctypedef unsigned long long signed_char_ptr
 * ctypedef unsigned long long unsigned_char_ptr
 * ctypedef unsigned long long char_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long short_ptr
 * ctypedef unsigned long long unsigned_short_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_char_ptr;

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

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

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

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

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

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

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

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

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

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

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

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

/* "cuda/cudart.pyx":37
 * 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 size_t_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_ptr;

/* "cuda/cudart.pyx":38
 * 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 size_t_ptr
 * ctypedef unsigned long long float_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_long_long_ptr;

/* "cuda/cudart.pyx":39
 * ctypedef unsigned long long unsigned_ptr
 * ctypedef unsigned long long unsigned_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_6cudart_size_t_ptr;

/* "cuda/cudart.pyx":40
 * ctypedef unsigned long long unsigned_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_6cudart_float_ptr;

/* "cuda/cudart.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_6cudart_double_ptr;

/* "cuda/cudart.pyx":42
 * ctypedef unsigned long long float_ptr
 * ctypedef unsigned long long double_ptr
 * ctypedef unsigned long long void_ptr             # <<<<<<<<<<<<<<
 * 
 * #: Default page-locked allocation flag
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_void_ptr;

/*--- Type declarations ---*/
struct __pyx_obj_4cuda_4cuda_CUcontext;
struct __pyx_obj_4cuda_4cuda_CUmodule;
struct __pyx_obj_4cuda_4cuda_CUfunction;
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_CUlinkState;
struct __pyx_obj_4cuda_4cuda_EGLImageKHR;
struct __pyx_obj_4cuda_4cuda_EGLStreamKHR;
struct __pyx_obj_4cuda_4cuda_EGLSyncKHR;
struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection;
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_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_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_MEMSET_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s;
struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s;
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__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u;
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_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_ARRAY_DESCRIPTOR_st;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st;
struct __pyx_obj_4cuda_4cuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s;
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__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s;
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s;
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s;
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s;
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s;
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u;
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_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u;
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__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s;
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s;
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_WAIT_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u;
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s;
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s;
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u;
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u;
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st;
struct __pyx_obj_4cuda_4cuda_CUmemLocation_st;
struct __pyx_obj_4cuda_4cuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s;
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st;
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_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_st;
struct __pyx_obj_4cuda_4cuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u;
struct __pyx_obj_4cuda_4cuda_CUeglFrame_st;
struct __pyx_obj_4cuda_4cuda_CUuuid;
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;
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;
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_HOST_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS;
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_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_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_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_WAIT_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
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_CUmemAccessDesc_v1;
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc;
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;
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_CUdeviceptr;
struct __pyx_obj_4cuda_4cuda_CUdevice_v1;
struct __pyx_obj_4cuda_4cuda_CUdevice;
struct __pyx_obj_4cuda_4cuda_CUtexObject_v1;
struct __pyx_obj_4cuda_4cuda_CUtexObject;
struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1;
struct __pyx_obj_4cuda_4cuda_CUsurfObject;
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1;
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle;
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_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_InputVoidPtrPtrHelper;
struct __pyx_obj_4cuda_6cudart_cudaArray_t;
struct __pyx_obj_4cuda_6cudart_cudaArray_const_t;
struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t;
struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t;
struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t;
struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t;
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t;
struct __pyx_obj_4cuda_6cudart_EGLImageKHR;
struct __pyx_obj_4cuda_6cudart_EGLStreamKHR;
struct __pyx_obj_4cuda_6cudart_EGLSyncKHR;
struct __pyx_obj_4cuda_6cudart_cudaHostFn_t;
struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t;
struct __pyx_obj_4cuda_6cudart_dim3;
struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc;
struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s;
struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties;
struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements;
struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr;
struct __pyx_obj_4cuda_6cudart_cudaExtent;
struct __pyx_obj_4cuda_6cudart_cudaPos;
struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms;
struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms;
struct __pyx_obj_4cuda_6cudart_cudaMemsetParams;
struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow;
struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams;
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s;
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s;
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s;
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s;
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u;
struct __pyx_obj_4cuda_6cudart_cudaResourceDesc;
struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc;
struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes;
struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes;
struct __pyx_obj_4cuda_6cudart_cudaMemLocation;
struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc;
struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps;
struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData;
struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams;
struct __pyx_obj_4cuda_6cudart_CUuuid_st;
struct __pyx_obj_4cuda_6cudart_cudaDeviceProp;
struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st;
struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st;
struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s;
struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u;
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc;
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc;
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u;
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s;
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s;
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s;
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams;
struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams;
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams;
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams;
struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s;
struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s;
struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue;
struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st;
struct __pyx_obj_4cuda_6cudart_cudaTextureDesc;
struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2;
struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st;
struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u;
struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st;
struct __pyx_obj_4cuda_6cudart_CUuuid;
struct __pyx_obj_4cuda_6cudart_cudaUUID_t;
struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t;
struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t;
struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute;
struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue;
struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue;
struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc;
struct __pyx_obj_4cuda_6cudart_cudaEglFrame;
struct __pyx_obj_4cuda_6cudart_cudaStream_t;
struct __pyx_obj_4cuda_6cudart_cudaEvent_t;
struct __pyx_obj_4cuda_6cudart_cudaGraph_t;
struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t;
struct __pyx_obj_4cuda_6cudart_cudaUserObject_t;
struct __pyx_obj_4cuda_6cudart_cudaFunction_t;
struct __pyx_obj_4cuda_6cudart_cudaMemPool_t;
struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t;
struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection;
struct __pyx_obj_4cuda_6cudart_GLenum;
struct __pyx_obj_4cuda_6cudart_GLuint;
struct __pyx_obj_4cuda_6cudart_EGLint;
struct __pyx_obj_4cuda_6cudart_VdpDevice;
struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress;
struct __pyx_obj_4cuda_6cudart_VdpVideoSurface;
struct __pyx_obj_4cuda_6cudart_VdpOutputSurface;
struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t;
struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr;
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr;
struct __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc_st;
union __pyx_t_4cuda_7ccudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u;
struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st;

/* "cuda/ccudart.pxd":1068
 * 
 * 
 * cdef enum cudaStreamAttrID:             # <<<<<<<<<<<<<<
 *     cudaStreamAttributeAccessPolicyWindow = 1
 *     cudaStreamAttributeSynchronizationPolicy = 3
 */
enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID {
  __pyx_e_4cuda_7ccudart_cudaStreamAttributeAccessPolicyWindow = 1,
  __pyx_e_4cuda_7ccudart_cudaStreamAttributeSynchronizationPolicy = 3
};

/* "cuda/ccudart.pxd":1072
 *     cudaStreamAttributeSynchronizationPolicy = 3
 * 
 * cdef enum cudaKernelNodeAttrID:             # <<<<<<<<<<<<<<
 *     cudaKernelNodeAttributeAccessPolicyWindow = 1
 *     cudaKernelNodeAttributeCooperative = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID {
  __pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeAccessPolicyWindow = 1,
  __pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeCooperative = 2,
  __pyx_e_4cuda_7ccudart_cudaKernelNodeAttributePriority = 8
};

/* "cuda/ccudart.pxd":1113
 * ctypedef uint32_t VdpOutputSurface
 * 
 * cdef enum cudaGLDeviceList:             # <<<<<<<<<<<<<<
 *     cudaGLDeviceListAll = 1
 *     cudaGLDeviceListCurrentFrame = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList {
  __pyx_e_4cuda_7ccudart_cudaGLDeviceListAll = 1,
  __pyx_e_4cuda_7ccudart_cudaGLDeviceListCurrentFrame = 2,
  __pyx_e_4cuda_7ccudart_cudaGLDeviceListNextFrame = 3
};

/* "cuda/ccudart.pxd":1118
 *     cudaGLDeviceListNextFrame = 3
 * 
 * cdef enum cudaGLMapFlags:             # <<<<<<<<<<<<<<
 *     cudaGLMapFlagsNone = 0
 *     cudaGLMapFlagsReadOnly = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags {
  __pyx_e_4cuda_7ccudart_cudaGLMapFlagsNone = 0,
  __pyx_e_4cuda_7ccudart_cudaGLMapFlagsReadOnly = 1,
  __pyx_e_4cuda_7ccudart_cudaGLMapFlagsWriteDiscard = 2
};

/* "cuda/ccudart.pxd":1775
 * 
 * 
 * cdef enum cudaEglFrameType_enum:             # <<<<<<<<<<<<<<
 *     cudaEglFrameTypeArray = 0
 *     cudaEglFrameTypePitch = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum {
  __pyx_e_4cuda_7ccudart_cudaEglFrameTypeArray = 0,
  __pyx_e_4cuda_7ccudart_cudaEglFrameTypePitch = 1
};

/* "cuda/ccudart.pxd":1781
 * ctypedef cudaEglFrameType_enum cudaEglFrameType
 * 
 * cdef enum cudaEglResourceLocationFlags_enum:             # <<<<<<<<<<<<<<
 *     cudaEglResourceLocationSysmem = 0
 *     cudaEglResourceLocationVidmem = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum {
  __pyx_e_4cuda_7ccudart_cudaEglResourceLocationSysmem = 0,
  __pyx_e_4cuda_7ccudart_cudaEglResourceLocationVidmem = 1
};

/* "cuda/ccudart.pxd":1787
 * ctypedef cudaEglResourceLocationFlags_enum cudaEglResourceLocationFlags
 * 
 * cdef enum cudaEglColorFormat_enum:             # <<<<<<<<<<<<<<
 *     cudaEglColorFormatYUV420Planar = 0
 *     cudaEglColorFormatYUV420SemiPlanar = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum {
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar = 0,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar = 1,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422Planar = 2,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422SemiPlanar = 3,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatARGB = 6,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatRGBA = 7,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatL = 8,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatR = 9,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444Planar = 10,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444SemiPlanar = 11,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUYV422 = 12,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatUYVY422 = 13,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatABGR = 14,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBGRA = 15,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatA = 16,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatRG = 17,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatAYUV = 18,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444SemiPlanar = 19,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422SemiPlanar = 20,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar = 21,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_444SemiPlanar = 22,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar = 23,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_444SemiPlanar = 24,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_420SemiPlanar = 25,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatVYUY_ER = 26,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatUYVY_ER = 27,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUYV_ER = 28,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVYU_ER = 29,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUVA_ER = 31,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatAYUV_ER = 32,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444Planar_ER = 33,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422Planar_ER = 34,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar_ER = 35,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444SemiPlanar_ER = 36,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422SemiPlanar_ER = 37,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar_ER = 38,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444Planar_ER = 39,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422Planar_ER = 40,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar_ER = 41,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444SemiPlanar_ER = 42,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422SemiPlanar_ER = 43,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar_ER = 44,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerRGGB = 45,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerBGGR = 46,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerGRBG = 47,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerGBRG = 48,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10RGGB = 49,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10BGGR = 50,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10GRBG = 51,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10GBRG = 52,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12RGGB = 53,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12BGGR = 54,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12GRBG = 55,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12GBRG = 56,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14RGGB = 57,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14BGGR = 58,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14GRBG = 59,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14GBRG = 60,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20RGGB = 61,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20BGGR = 62,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20GRBG = 63,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20GBRG = 64,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444Planar = 65,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422Planar = 66,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar = 67,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspRGGB = 68,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspBGGR = 69,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspGRBG = 70,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspGBRG = 71,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerBCCR = 72,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerRCCB = 73,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerCRBC = 74,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerCBRC = 75,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10CCCC = 76,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12BCCR = 77,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12RCCB = 78,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12CRBC = 79,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12CBRC = 80,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12CCCC = 81,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY = 82,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar_2020 = 83,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar_2020 = 84,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar_2020 = 85,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar_2020 = 86,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar_709 = 87,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar_709 = 88,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar_709 = 89,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar_709 = 90,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_709 = 91,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_2020 = 92,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_422SemiPlanar_2020 = 93,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_422SemiPlanar = 94,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_422SemiPlanar_709 = 95,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY_ER = 96,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY_709_ER = 97,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10_ER = 98,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10_709_ER = 99,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12_ER = 0x64,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12_709_ER = 0x65,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYUVA = 0x66,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatYVYU = 0x68,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatVYUY = 0x69,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_ER = 0x6A,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_709_ER = 0x6B,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_444SemiPlanar_ER = 0x6C,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_444SemiPlanar_709_ER = 0x6D,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_420SemiPlanar_ER = 0x6E,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_420SemiPlanar_709_ER = 0x6F,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_444SemiPlanar_ER = 0x70,
  __pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER = 0x71
};

/* "cuda/ccudart.pxd":1954
 * cdef cudaError_t cudaEventCreateFromEGLSync(cudaEvent_t* phEvent, EGLSyncKHR eglSync, unsigned int flags) nogil except ?cudaErrorCallRequiresNewerDriver
 * 
 * cdef enum: cudaHostAllocDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocPortable = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocDefault = 0
};

/* "cuda/ccudart.pxd":1956
 * cdef enum: cudaHostAllocDefault = 0
 * 
 * cdef enum: cudaHostAllocPortable = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocMapped = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocPortable = 1
};

/* "cuda/ccudart.pxd":1958
 * cdef enum: cudaHostAllocPortable = 1
 * 
 * cdef enum: cudaHostAllocMapped = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocWriteCombined = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocMapped = 2
};

/* "cuda/ccudart.pxd":1960
 * cdef enum: cudaHostAllocMapped = 2
 * 
 * cdef enum: cudaHostAllocWriteCombined = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocWriteCombined = 4
};

/* "cuda/ccudart.pxd":1962
 * cdef enum: cudaHostAllocWriteCombined = 4
 * 
 * cdef enum: cudaHostRegisterDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterPortable = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterDefault = 0
};

/* "cuda/ccudart.pxd":1964
 * cdef enum: cudaHostRegisterDefault = 0
 * 
 * cdef enum: cudaHostRegisterPortable = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterMapped = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterPortable = 1
};

/* "cuda/ccudart.pxd":1966
 * cdef enum: cudaHostRegisterPortable = 1
 * 
 * cdef enum: cudaHostRegisterMapped = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterIoMemory = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterMapped = 2
};

/* "cuda/ccudart.pxd":1968
 * cdef enum: cudaHostRegisterMapped = 2
 * 
 * cdef enum: cudaHostRegisterIoMemory = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterReadOnly = 8
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterIoMemory = 4
};

/* "cuda/ccudart.pxd":1970
 * cdef enum: cudaHostRegisterIoMemory = 4
 * 
 * cdef enum: cudaHostRegisterReadOnly = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaPeerAccessDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterReadOnly = 8
};

/* "cuda/ccudart.pxd":1972
 * cdef enum: cudaHostRegisterReadOnly = 8
 * 
 * cdef enum: cudaPeerAccessDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaPeerAccessDefault = 0
};

/* "cuda/ccudart.pxd":1974
 * cdef enum: cudaPeerAccessDefault = 0
 * 
 * cdef enum: cudaStreamDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamNonBlocking = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaStreamDefault = 0
};

/* "cuda/ccudart.pxd":1976
 * cdef enum: cudaStreamDefault = 0
 * 
 * cdef enum: cudaStreamNonBlocking = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamLegacy = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaStreamNonBlocking = 1
};

/* "cuda/ccudart.pxd":1978
 * cdef enum: cudaStreamNonBlocking = 1
 * 
 * cdef enum: cudaStreamLegacy = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamPerThread = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaStreamLegacy = 1
};

/* "cuda/ccudart.pxd":1980
 * cdef enum: cudaStreamLegacy = 1
 * 
 * cdef enum: cudaStreamPerThread = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaStreamPerThread = 2
};

/* "cuda/ccudart.pxd":1982
 * cdef enum: cudaStreamPerThread = 2
 * 
 * cdef enum: cudaEventDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventBlockingSync = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventDefault = 0
};

/* "cuda/ccudart.pxd":1984
 * cdef enum: cudaEventDefault = 0
 * 
 * cdef enum: cudaEventBlockingSync = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventDisableTiming = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventBlockingSync = 1
};

/* "cuda/ccudart.pxd":1986
 * cdef enum: cudaEventBlockingSync = 1
 * 
 * cdef enum: cudaEventDisableTiming = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventInterprocess = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventDisableTiming = 2
};

/* "cuda/ccudart.pxd":1988
 * cdef enum: cudaEventDisableTiming = 2
 * 
 * cdef enum: cudaEventInterprocess = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventRecordDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventInterprocess = 4
};

/* "cuda/ccudart.pxd":1990
 * cdef enum: cudaEventInterprocess = 4
 * 
 * cdef enum: cudaEventRecordDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventRecordExternal = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventRecordDefault = 0
};

/* "cuda/ccudart.pxd":1992
 * cdef enum: cudaEventRecordDefault = 0
 * 
 * cdef enum: cudaEventRecordExternal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventWaitDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventRecordExternal = 1
};

/* "cuda/ccudart.pxd":1994
 * cdef enum: cudaEventRecordExternal = 1
 * 
 * cdef enum: cudaEventWaitDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventWaitExternal = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventWaitDefault = 0
};

/* "cuda/ccudart.pxd":1996
 * cdef enum: cudaEventWaitDefault = 0
 * 
 * cdef enum: cudaEventWaitExternal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleAuto = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventWaitExternal = 1
};

/* "cuda/ccudart.pxd":1998
 * cdef enum: cudaEventWaitExternal = 1
 * 
 * cdef enum: cudaDeviceScheduleAuto = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleSpin = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleAuto = 0
};

/* "cuda/ccudart.pxd":2000
 * cdef enum: cudaDeviceScheduleAuto = 0
 * 
 * cdef enum: cudaDeviceScheduleSpin = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleYield = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleSpin = 1
};

/* "cuda/ccudart.pxd":2002
 * cdef enum: cudaDeviceScheduleSpin = 1
 * 
 * cdef enum: cudaDeviceScheduleYield = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleBlockingSync = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleYield = 2
};

/* "cuda/ccudart.pxd":2004
 * cdef enum: cudaDeviceScheduleYield = 2
 * 
 * cdef enum: cudaDeviceScheduleBlockingSync = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceBlockingSync = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleBlockingSync = 4
};

/* "cuda/ccudart.pxd":2006
 * cdef enum: cudaDeviceScheduleBlockingSync = 4
 * 
 * cdef enum: cudaDeviceBlockingSync = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleMask = 7
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceBlockingSync = 4
};

/* "cuda/ccudart.pxd":2008
 * cdef enum: cudaDeviceBlockingSync = 4
 * 
 * cdef enum: cudaDeviceScheduleMask = 7             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceMapHost = 8
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleMask = 7
};

/* "cuda/ccudart.pxd":2010
 * cdef enum: cudaDeviceScheduleMask = 7
 * 
 * cdef enum: cudaDeviceMapHost = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceLmemResizeToMax = 16
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceMapHost = 8
};

/* "cuda/ccudart.pxd":2012
 * cdef enum: cudaDeviceMapHost = 8
 * 
 * cdef enum: cudaDeviceLmemResizeToMax = 16             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceMask = 31
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceLmemResizeToMax = 16
};

/* "cuda/ccudart.pxd":2014
 * cdef enum: cudaDeviceLmemResizeToMax = 16
 * 
 * cdef enum: cudaDeviceMask = 31             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceMask = 31
};

/* "cuda/ccudart.pxd":2016
 * cdef enum: cudaDeviceMask = 31
 * 
 * cdef enum: cudaArrayDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayLayered = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayDefault = 0
};

/* "cuda/ccudart.pxd":2018
 * cdef enum: cudaArrayDefault = 0
 * 
 * cdef enum: cudaArrayLayered = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySurfaceLoadStore = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayLayered = 1
};

/* "cuda/ccudart.pxd":2020
 * cdef enum: cudaArrayLayered = 1
 * 
 * cdef enum: cudaArraySurfaceLoadStore = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayCubemap = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArraySurfaceLoadStore = 2
};

/* "cuda/ccudart.pxd":2022
 * cdef enum: cudaArraySurfaceLoadStore = 2
 * 
 * cdef enum: cudaArrayCubemap = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayTextureGather = 8
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayCubemap = 4
};

/* "cuda/ccudart.pxd":2024
 * cdef enum: cudaArrayCubemap = 4
 * 
 * cdef enum: cudaArrayTextureGather = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayColorAttachment = 32
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayTextureGather = 8
};

/* "cuda/ccudart.pxd":2026
 * cdef enum: cudaArrayTextureGather = 8
 * 
 * cdef enum: cudaArrayColorAttachment = 32             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySparse = 64
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayColorAttachment = 32
};

/* "cuda/ccudart.pxd":2028
 * cdef enum: cudaArrayColorAttachment = 32
 * 
 * cdef enum: cudaArraySparse = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayDeferredMapping = 128
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArraySparse = 64
};

/* "cuda/ccudart.pxd":2030
 * cdef enum: cudaArraySparse = 64
 * 
 * cdef enum: cudaArrayDeferredMapping = 128             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayDeferredMapping = 0x80
};

/* "cuda/ccudart.pxd":2032
 * cdef enum: cudaArrayDeferredMapping = 128
 * 
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachGlobal = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaIpcMemLazyEnablePeerAccess = 1
};

/* "cuda/ccudart.pxd":2034
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 1
 * 
 * cdef enum: cudaMemAttachGlobal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachHost = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaMemAttachGlobal = 1
};

/* "cuda/ccudart.pxd":2036
 * cdef enum: cudaMemAttachGlobal = 1
 * 
 * cdef enum: cudaMemAttachHost = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachSingle = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaMemAttachHost = 2
};

/* "cuda/ccudart.pxd":2038
 * cdef enum: cudaMemAttachHost = 2
 * 
 * cdef enum: cudaMemAttachSingle = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaOccupancyDefault = 0
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaMemAttachSingle = 4
};

/* "cuda/ccudart.pxd":2040
 * cdef enum: cudaMemAttachSingle = 4
 * 
 * cdef enum: cudaOccupancyDefault = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaOccupancyDisableCachingOverride = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaOccupancyDefault = 0
};

/* "cuda/ccudart.pxd":2042
 * cdef enum: cudaOccupancyDefault = 0
 * 
 * cdef enum: cudaOccupancyDisableCachingOverride = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaCpuDeviceId = -1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaOccupancyDisableCachingOverride = 1
};

/* "cuda/ccudart.pxd":2044
 * cdef enum: cudaOccupancyDisableCachingOverride = 1
 * 
 * cdef enum: cudaCpuDeviceId = -1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaInvalidDeviceId = -2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaCpuDeviceId = -1L
};

/* "cuda/ccudart.pxd":2046
 * cdef enum: cudaCpuDeviceId = -1
 * 
 * cdef enum: cudaInvalidDeviceId = -2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaInvalidDeviceId = -2L
};

/* "cuda/ccudart.pxd":2048
 * cdef enum: cudaInvalidDeviceId = -2
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPreSync = 1
};

/* "cuda/ccudart.pxd":2050
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 1
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPostSync = 2
};

/* "cuda/ccudart.pxd":2052
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 2
 * 
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArraySparsePropertiesSingleMipTail = 1
};

/* "cuda/ccudart.pxd":2054
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 1
 * 
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalMemoryDedicated = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_CUDA_IPC_HANDLE_SIZE = 64
};

/* "cuda/ccudart.pxd":2056
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64
 * 
 * cdef enum: cudaExternalMemoryDedicated = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryDedicated = 1
};

/* "cuda/ccudart.pxd":2058
 * cdef enum: cudaExternalMemoryDedicated = 1
 * 
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1
};

/* "cuda/ccudart.pxd":2060
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 1
 * 
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaNvSciSyncAttrSignal = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2
};

/* "cuda/ccudart.pxd":2062
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 2
 * 
 * cdef enum: cudaNvSciSyncAttrSignal = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaNvSciSyncAttrWait = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrSignal = 1
};

/* "cuda/ccudart.pxd":2064
 * cdef enum: cudaNvSciSyncAttrSignal = 1
 * 
 * cdef enum: cudaNvSciSyncAttrWait = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeClusterDimension = 4
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrWait = 2
};

/* "cuda/ccudart.pxd":2066
 * cdef enum: cudaNvSciSyncAttrWait = 2
 * 
 * cdef enum: cudaKernelNodeAttributeClusterDimension = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeClusterDimension = 4
};

/* "cuda/ccudart.pxd":2068
 * cdef enum: cudaKernelNodeAttributeClusterDimension = 4
 * 
 * cdef enum: cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType1D = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5
};

/* "cuda/ccudart.pxd":2070
 * cdef enum: cudaKernelNodeAttributeClusterSchedulingPolicyPreference = 5
 * 
 * cdef enum: cudaSurfaceType1D = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType2D = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType1D = 1
};

/* "cuda/ccudart.pxd":2072
 * cdef enum: cudaSurfaceType1D = 1
 * 
 * cdef enum: cudaSurfaceType2D = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType3D = 3
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType2D = 2
};

/* "cuda/ccudart.pxd":2074
 * cdef enum: cudaSurfaceType2D = 2
 * 
 * cdef enum: cudaSurfaceType3D = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceTypeCubemap = 12
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType3D = 3
};

/* "cuda/ccudart.pxd":2076
 * cdef enum: cudaSurfaceType3D = 3
 * 
 * cdef enum: cudaSurfaceTypeCubemap = 12             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType1DLayered = 241
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemap = 12
};

/* "cuda/ccudart.pxd":2078
 * cdef enum: cudaSurfaceTypeCubemap = 12
 * 
 * cdef enum: cudaSurfaceType1DLayered = 241             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType2DLayered = 242
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType1DLayered = 0xF1
};

/* "cuda/ccudart.pxd":2080
 * cdef enum: cudaSurfaceType1DLayered = 241
 * 
 * cdef enum: cudaSurfaceType2DLayered = 242             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceTypeCubemapLayered = 252
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType2DLayered = 0xF2
};

/* "cuda/ccudart.pxd":2082
 * cdef enum: cudaSurfaceType2DLayered = 242
 * 
 * cdef enum: cudaSurfaceTypeCubemapLayered = 252             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType1D = 1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemapLayered = 0xFC
};

/* "cuda/ccudart.pxd":2084
 * cdef enum: cudaSurfaceTypeCubemapLayered = 252
 * 
 * cdef enum: cudaTextureType1D = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType2D = 2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType1D = 1
};

/* "cuda/ccudart.pxd":2086
 * cdef enum: cudaTextureType1D = 1
 * 
 * cdef enum: cudaTextureType2D = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType3D = 3
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType2D = 2
};

/* "cuda/ccudart.pxd":2088
 * cdef enum: cudaTextureType2D = 2
 * 
 * cdef enum: cudaTextureType3D = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureTypeCubemap = 12
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType3D = 3
};

/* "cuda/ccudart.pxd":2090
 * cdef enum: cudaTextureType3D = 3
 * 
 * cdef enum: cudaTextureTypeCubemap = 12             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType1DLayered = 241
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureTypeCubemap = 12
};

/* "cuda/ccudart.pxd":2092
 * cdef enum: cudaTextureTypeCubemap = 12
 * 
 * cdef enum: cudaTextureType1DLayered = 241             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType2DLayered = 242
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType1DLayered = 0xF1
};

/* "cuda/ccudart.pxd":2094
 * cdef enum: cudaTextureType1DLayered = 241
 * 
 * cdef enum: cudaTextureType2DLayered = 242             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureTypeCubemapLayered = 252
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType2DLayered = 0xF2
};

/* "cuda/ccudart.pxd":2096
 * cdef enum: cudaTextureType2DLayered = 242
 * 
 * cdef enum: cudaTextureTypeCubemapLayered = 252             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDART_VERSION = 11080
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureTypeCubemapLayered = 0xFC
};

/* "cuda/ccudart.pxd":2098
 * cdef enum: cudaTextureTypeCubemapLayered = 252
 * 
 * cdef enum: CUDART_VERSION = 11080             # <<<<<<<<<<<<<<
 * 
 * cdef enum: __CUDART_API_VERSION = 11080
 */
enum  {
  __pyx_e_4cuda_7ccudart_CUDART_VERSION = 0x2B48
};

/* "cuda/ccudart.pxd":2100
 * cdef enum: CUDART_VERSION = 11080
 * 
 * cdef enum: __CUDART_API_VERSION = 11080             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EGL_MAX_PLANES = 3
 */
enum  {
  __pyx_e_4cuda_7ccudart___CUDART_API_VERSION = 0x2B48
};

/* "cuda/ccudart.pxd":2102
 * cdef enum: __CUDART_API_VERSION = 11080
 * 
 * cdef enum: CUDA_EGL_MAX_PLANES = 3             # <<<<<<<<<<<<<<
 */
enum  {
  __pyx_e_4cuda_7ccudart_CUDA_EGL_MAX_PLANES = 3
};

/* "cuda/ccudart.pxd":1077
 *     cudaKernelNodeAttributePriority = 8
 * 
 * ctypedef cudaLaunchAttributeValue cudaStreamAttrValue             # <<<<<<<<<<<<<<
 * 
 * ctypedef cudaLaunchAttributeValue cudaKernelNodeAttrValue
 */
typedef union cudaLaunchAttributeValue __pyx_t_4cuda_7ccudart_cudaStreamAttrValue;

/* "cuda/ccudart.pxd":1079
 * ctypedef cudaLaunchAttributeValue cudaStreamAttrValue
 * 
 * ctypedef cudaLaunchAttributeValue cudaKernelNodeAttrValue             # <<<<<<<<<<<<<<
 * 
 * from libc.stdint cimport uint32_t
 */
typedef union cudaLaunchAttributeValue __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue;

/* "cuda/ccudart.pxd":1091
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLImageKHR             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef void *__pyx_t_4cuda_7ccudart_EGLImageKHR;

/* "cuda/ccudart.pxd":1096
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLStreamKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int EGLint
 */
typedef void *__pyx_t_4cuda_7ccudart_EGLStreamKHR;

/* "cuda/ccudart.pxd":1103
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLSyncKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpDevice
 */
typedef void *__pyx_t_4cuda_7ccudart_EGLSyncKHR;

/* "cuda/ccudart.pxd":1779
 *     cudaEglFrameTypePitch = 1
 * 
 * ctypedef cudaEglFrameType_enum cudaEglFrameType             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaEglResourceLocationFlags_enum:
 */
typedef enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum __pyx_t_4cuda_7ccudart_cudaEglFrameType;

/* "cuda/ccudart.pxd":1785
 *     cudaEglResourceLocationVidmem = 1
 * 
 * ctypedef cudaEglResourceLocationFlags_enum cudaEglResourceLocationFlags             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaEglColorFormat_enum:
 */
typedef enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags;

/* "cuda/ccudart.pxd":1899
 *     cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER = 113
 * 
 * ctypedef cudaEglColorFormat_enum cudaEglColorFormat             # <<<<<<<<<<<<<<
 * 
 * cdef struct cudaEglPlaneDesc_st:
 */
typedef enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat;

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

/* "cuda/ccudart.pxd":1910
 *     unsigned int reserved[4]
 * 
 * ctypedef cudaEglPlaneDesc_st cudaEglPlaneDesc             # <<<<<<<<<<<<<<
 * 
 * cdef union _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u:
 */
typedef struct __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc_st __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc;

/* "cuda/ccudart.pxd":1912
 * ctypedef cudaEglPlaneDesc_st cudaEglPlaneDesc
 * 
 * cdef union _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u:             # <<<<<<<<<<<<<<
 *     cudaArray_t pArray[3]
 *     cudaPitchedPtr pPitch[3]
 */
union __pyx_t_4cuda_7ccudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u {
  cudaArray_t pArray[3];
  struct cudaPitchedPtr pPitch[3];
};

/* "cuda/ccudart.pxd":1916
 *     cudaPitchedPtr pPitch[3]
 * 
 * cdef struct cudaEglFrame_st:             # <<<<<<<<<<<<<<
 *     _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u frame
 *     cudaEglPlaneDesc planeDesc[3]
 */
struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st {
  union __pyx_t_4cuda_7ccudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u frame;
  __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc planeDesc[3];
  unsigned int planeCount;
  __pyx_t_4cuda_7ccudart_cudaEglFrameType frameType;
  __pyx_t_4cuda_7ccudart_cudaEglColorFormat eglColorFormat;
};

/* "cuda/ccudart.pxd":1923
 *     cudaEglColorFormat eglColorFormat
 * 
 * ctypedef cudaEglFrame_st cudaEglFrame             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st __pyx_t_4cuda_7ccudart_cudaEglFrame;

/* "cuda/ccudart.pxd":1928
 *     cdef struct CUeglStreamConnection_st:
 *         pass
 * ctypedef CUeglStreamConnection_st* cudaEglStreamConnection             # <<<<<<<<<<<<<<
 * 
 * cdef cudaError_t cudaGraphicsEGLRegisterImage(cudaGraphicsResource_t* pCudaResource, EGLImageKHR image, unsigned int flags) nogil except ?cudaErrorCallRequiresNewerDriver
 */
typedef struct CUeglStreamConnection_st *__pyx_t_4cuda_7ccudart_cudaEglStreamConnection;
union __pyx_t_4cuda_5ccuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u;
struct __pyx_t_4cuda_5ccuda_CUeglFrame_st;

/* "cuda/ccuda.pxd":2511
 * 
 * 
 * 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":2517
 * 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":2523
 * 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":2692
 * 
 * 
 * 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":2699
 * 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":2712
 * cdef CUresult cuGLGetDevices(unsigned int* pCudaDeviceCount, CUdevice* pCudaDevices, unsigned int cudaDeviceCount, CUGLDeviceList deviceList) nogil except ?CUDA_ERROR_NOT_FOUND
 * 
 * cdef enum: CUDA_VERSION = 11080             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_VERSION = 0x2B48
};

/* "cuda/ccuda.pxd":2714
 * cdef enum: CUDA_VERSION = 11080
 * 
 * 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":2716
 * 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":2718
 * cdef enum: CU_STREAM_LEGACY = 1
 * 
 * cdef enum: CU_STREAM_PER_THREAD = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_STREAM_PER_THREAD = 2
};

/* "cuda/ccuda.pxd":2720
 * cdef enum: CU_STREAM_PER_THREAD = 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":2722
 * 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":2724
 * 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":2726
 * 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":2728
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8
};

/* "cuda/ccuda.pxd":2730
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8
 * 
 * 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":2732
 * cdef enum: CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
};

/* "cuda/ccuda.pxd":2734
 * cdef enum: CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
 * 
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 2
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_PORTABLE = 1
};

/* "cuda/ccuda.pxd":2736
 * 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":2738
 * 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":2740
 * 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":2742
 * 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":2744
 * 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":2746
 * 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":2748
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 8
 * 
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EXTERNAL_MEMORY_DEDICATED = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1
};

/* "cuda/ccuda.pxd":2750
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1
 * 
 * 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":2752
 * 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":2754
 * 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":2756
 * 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":2758
 * 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":2760
 * 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":2762
 * 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":2764
 * 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":2766
 * 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":2768
 * 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":2770
 * 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":2772
 * 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":2774
 * 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":2776
 * 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":2778
 * 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":2780
 * 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":2782
 * 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":2784
 * 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":2786
 * 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":2788
 * 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":2790
 * 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":2792
 * 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":2794
 * 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":2796
 * 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":2798
 * 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":2800
 * 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":2802
 * 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":2804
 * 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":2806
 * 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":2808
 * 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":2810
 * 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":2812
 * cdef enum: CU_DEVICE_CPU = -1
 * 
 * cdef enum: CU_DEVICE_INVALID = -2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: MAX_PLANES = 3
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_DEVICE_INVALID = -2L
};

/* "cuda/ccuda.pxd":2814
 * cdef enum: CU_DEVICE_INVALID = -2
 * 
 * cdef enum: MAX_PLANES = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EGL_INFINITE_TIMEOUT = 4294967295
 */
enum  {
  __pyx_e_4cuda_5ccuda_MAX_PLANES = 3
};

/* "cuda/ccuda.pxd":2816
 * 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":2480
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLImageKHR             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef void *__pyx_t_4cuda_5ccuda_EGLImageKHR;

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

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

/* "cuda/ccuda.pxd":2515
 *     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":2521
 *     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":2640
 *     CU_EGL_COLOR_FORMAT_MAX = 114
 * 
 * ctypedef CUeglColorFormat_enum CUeglColorFormat             # <<<<<<<<<<<<<<
 * 
 * cdef union _CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum __pyx_t_4cuda_5ccuda_CUeglColorFormat;

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

/* "cuda/ccuda.pxd":2646
 *     void* pPitch[3]
 * 
 * cdef struct CUeglFrame_st:             # <<<<<<<<<<<<<<
 *     _CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u frame
 *     unsigned int width
 */
struct __pyx_t_4cuda_5ccuda_CUeglFrame_st {
  union __pyx_t_4cuda_5ccuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u 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":2658
 *     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":2660
 * 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":2665
 *     cdef struct CUeglStreamConnection_st:
 *         pass
 * ctypedef CUeglStreamConnection_st* CUeglStreamConnection             # <<<<<<<<<<<<<<
 * 
 * cdef CUresult cuGraphicsEGLRegisterImage(CUgraphicsResource* pCudaResource, EGLImageKHR image, unsigned int flags) nogil except ?CUDA_ERROR_NOT_FOUND
 */
typedef struct CUeglStreamConnection_st *__pyx_t_4cuda_5ccuda_CUeglStreamConnection;

/* "cuda/ccuda.pxd":2697
 *     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":2704
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 * 
 * ctypedef CUGLmap_flags_enum CUGLmap_flags             # <<<<<<<<<<<<<<
 * 
 * cdef CUresult cuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags) nogil except ?CUDA_ERROR_NOT_FOUND
 */
typedef enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum __pyx_t_4cuda_5ccuda_CUGLmap_flags;

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


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


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


/* "cuda/cuda.pxd":53
 *     cdef ccuda.CUfunction* _ptr
 * 
 * cdef class CUarray:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUarray {
  PyObject_HEAD
  CUarray __pyx___val;
  CUarray *_ptr;
};


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


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


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


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


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


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


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


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


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


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


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


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


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


/* "cuda/cuda.pxd":249
 *     cdef ccuda.CUuserObject* _ptr
 * 
 * cdef class CUlinkState:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlinkState {
  PyObject_HEAD
  CUlinkState __pyx___val;
  CUlinkState *_ptr;
  PyObject *_keepalive;
};


/* "cuda/cuda.pxd":262
 *     cdef list _keepalive
 * 
 * cdef class EGLImageKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_EGLImageKHR {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_EGLImageKHR __pyx___val;
  __pyx_t_4cuda_5ccuda_EGLImageKHR *_ptr;
};


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


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


/* "cuda/cuda.pxd":298
 *     cdef ccuda.EGLSyncKHR* _ptr
 * 
 * cdef class CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection __pyx___val;
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *_ptr;
};


/* "cuda/cuda.pxd":312
 *     cdef ccuda.CUeglStreamConnection* _ptr
 * 
 * cdef class CUhostFn:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUhostFn {
  PyObject_HEAD
  CUhostFn __pyx___val;
  CUhostFn *_ptr;
};


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


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


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


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


/* "cuda/cuda.pxd":383
 *     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 __pyx___val;
  struct CUipcMemHandle_st *_ptr;
};


/* "cuda/cuda.pxd":401
 *     cdef ccuda.CUipcMemHandle_st* _ptr
 * 
 * cdef class CUstreamMemOpWaitValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
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_cuuint64_t *_value64;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_alias;
};


/* "cuda/cuda.pxd":428
 *     cdef CUdeviceptr _alias
 * 
 * cdef class CUstreamMemOpWriteValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
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_cuuint64_t *_value64;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_alias;
};


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


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


/* "cuda/cuda.pxd":491
 *     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 __pyx___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":524
 *     cdef CUstreamMemOpMemoryBarrierParams_st _memoryBarrier
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_st __pyx___val;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
  size_t _paramArray_length;
  CUstreamBatchMemOpParams *_paramArray;
};


/* "cuda/cuda.pxd":550
 *     cdef ccuda.CUstreamBatchMemOpParams* _paramArray
 * 
 * cdef class CUdevprop_st:             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
 */
struct __pyx_obj_4cuda_4cuda_CUdevprop_st {
  PyObject_HEAD
  struct CUdevprop_st __pyx___val;
  struct CUdevprop_st *_ptr;
};


/* "cuda/cuda.pxd":586
 *     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 __pyx___val;
  struct CUaccessPolicyWindow_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cbase_ptr;
};


/* "cuda/cuda.pxd":625
 *     cdef utils.HelperInputVoidPtr _cbase_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 __pyx___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":663
 *     cdef utils.HelperKernelParams _ckernelParams
 * 
 * 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 __pyx___val;
  struct CUDA_MEMSET_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dst;
};


/* "cuda/cuda.pxd":692
 *     cdef CUdeviceptr _dst
 * 
 * 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 __pyx___val;
  struct CUDA_HOST_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUhostFn *_fn;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cuserData;
};


/* "cuda/cuda.pxd":714
 *     cdef utils.HelperInputVoidPtr _cuserData
 * 
 * cdef class _CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_ptr;
};


/* "cuda/cuda.pxd":734
 *     cdef ccuda.CUlaunchAttributeValue_union* _ptr
 * 
 * cdef class _CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUevent *_event;
};


/* "cuda/cuda.pxd":755
 *     cdef CUevent _event
 * 
 * cdef class CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union {
  PyObject_HEAD
  union CUlaunchAttributeValue_union __pyx___val;
  union CUlaunchAttributeValue_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *_accessPolicyWindow;
  struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s *_clusterDim;
  struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s *_programmaticEvent;
};


/* "cuda/cuda.pxd":792
 *     cdef _CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s _programmaticEvent
 * 
 * cdef class CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st {
  PyObject_HEAD
  struct CUlaunchAttribute_st __pyx___val;
  struct CUlaunchAttribute_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *_value;
};


/* "cuda/cuda.pxd":812
 *     cdef CUlaunchAttributeValue _value
 * 
 * cdef class CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st {
  PyObject_HEAD
  struct CUlaunchConfig_st __pyx___val;
  struct CUlaunchConfig_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUstream *_hStream;
  size_t _attrs_length;
  CUlaunchAttribute *_attrs;
};


/* "cuda/cuda.pxd":850
 *     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 __pyx___val;
  struct CUexecAffinitySmCount_st *_ptr;
};


/* "cuda/cuda.pxd":868
 *     cdef ccuda.CUexecAffinitySmCount_st* _ptr
 * 
 * cdef class _CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u {
  PyObject_HEAD
  struct CUexecAffinityParam_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *_smCount;
};


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


/* "cuda/cuda.pxd":906
 *     cdef _CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u _param
 * 
 * cdef class CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st {
  PyObject_HEAD
  struct CUDA_MEMCPY2D_st __pyx___val;
  struct CUDA_MEMCPY2D_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_csrcHost;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_srcArray;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdstHost;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_dstArray;
};


/* "cuda/cuda.pxd":960
 *     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 __pyx___val;
  struct CUDA_MEMCPY3D_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_csrcHost;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_srcArray;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_creserved0;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdstHost;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_dstArray;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_creserved1;
};


/* "cuda/cuda.pxd":1035
 *     cdef utils.HelperInputVoidPtr _creserved1
 * 
 * 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 __pyx___val;
  struct CUDA_MEMCPY3D_PEER_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_csrcHost;
  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_4_lib_5utils_HelperInputVoidPtr *_cdstHost;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_dstArray;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_dstContext;
};


/* "cuda/cuda.pxd":1111
 *     cdef CUcontext _dstContext
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st {
  PyObject_HEAD
  struct CUDA_ARRAY_DESCRIPTOR_st __pyx___val;
  struct CUDA_ARRAY_DESCRIPTOR_st *_ptr;
};


/* "cuda/cuda.pxd":1135
 *     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 __pyx___val;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *_ptr;
};


/* "cuda/cuda.pxd":1163
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR_st* _ptr
 * 
 * cdef class _CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s {
  PyObject_HEAD
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st *_ptr;
};


/* "cuda/cuda.pxd":1183
 *     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 __pyx___val;
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s *_tileExtent;
};


/* "cuda/cuda.pxd":1211
 *     cdef _CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s _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 __pyx___val;
  struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st *_ptr;
};


/* "cuda/cuda.pxd":1233
 *     cdef ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st* _ptr
 * 
 * cdef class _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUarray *_hArray;
};


/* "cuda/cuda.pxd":1250
 *     cdef CUarray _hArray
 * 
 * cdef class _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *_hMipmappedArray;
};


/* "cuda/cuda.pxd":1267
 *     cdef CUmipmappedArray _hMipmappedArray
 * 
 * cdef class _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_devPtr;
};


/* "cuda/cuda.pxd":1290
 *     cdef CUdeviceptr _devPtr
 * 
 * cdef class _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_devPtr;
};


/* "cuda/cuda.pxd":1317
 *     cdef CUdeviceptr _devPtr
 * 
 * cdef class _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":1333
 *     cdef ccuda.CUDA_RESOURCE_DESC_st* _ptr
 * 
 * cdef class _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s *_array;
  struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s *_mipmap;
  struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s *_linear;
  struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s *_pitch2D;
  struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s *_reserved;
};


/* "cuda/cuda.pxd":1362
 *     cdef _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s _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 __pyx___val;
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u *_res;
};


/* "cuda/cuda.pxd":1385
 *     cdef _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u _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 __pyx___val;
  struct CUDA_TEXTURE_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":1421
 *     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 __pyx___val;
  struct CUDA_RESOURCE_VIEW_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":1455
 *     cdef ccuda.CUDA_RESOURCE_VIEW_DESC_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 __pyx___val;
  struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *_ptr;
};


/* "cuda/cuda.pxd":1475
 *     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 __pyx___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":1514
 *     cdef utils.HelperKernelParams _ckernelParams
 * 
 * cdef class _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_chandle;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cname;
};


/* "cuda/cuda.pxd":1534
 *     cdef utils.HelperInputVoidPtr _cname
 * 
 * cdef class _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s *_win32;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cnvSciBufObject;
};


/* "cuda/cuda.pxd":1556
 *     cdef utils.HelperInputVoidPtr _cnvSciBufObject
 * 
 * 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 __pyx___val;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u *_handle;
};


/* "cuda/cuda.pxd":1583
 *     cdef _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u _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 __pyx___val;
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":1607
 *     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 __pyx___val;
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *_arrayDesc;
};


/* "cuda/cuda.pxd":1633
 *     cdef CUDA_ARRAY3D_DESCRIPTOR _arrayDesc
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_chandle;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cname;
};


/* "cuda/cuda.pxd":1653
 *     cdef utils.HelperInputVoidPtr _cname
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s *_win32;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cnvSciSyncObj;
};


/* "cuda/cuda.pxd":1675
 *     cdef utils.HelperInputVoidPtr _cnvSciSyncObj
 * 
 * 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 __pyx___val;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u *_handle;
};


/* "cuda/cuda.pxd":1700
 *     cdef _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u _handle
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1716
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _ptr
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cfence;
};


/* "cuda/cuda.pxd":1735
 *     cdef utils.HelperInputVoidPtr _cfence
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1751
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _ptr
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s *_fence;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u *_nvSciSync;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s *_keyedMutex;
};


/* "cuda/cuda.pxd":1776
 *     cdef _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s _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 __pyx___val;
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s *_params;
};


/* "cuda/cuda.pxd":1806
 *     cdef _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s _params
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1822
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _ptr
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cfence;
};


/* "cuda/cuda.pxd":1841
 *     cdef utils.HelperInputVoidPtr _cfence
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1859
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _ptr
 * 
 * cdef class _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s *_fence;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u *_nvSciSync;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s *_keyedMutex;
};


/* "cuda/cuda.pxd":1884
 *     cdef _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s _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 __pyx___val;
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s *_params;
};


/* "cuda/cuda.pxd":1914
 *     cdef _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s _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 __pyx___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":1941
 *     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 __pyx___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":1968
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* _paramsArray
 * 
 * cdef class _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *_mipmap;
  struct __pyx_obj_4cuda_4cuda_CUarray *_array;
};


/* "cuda/cuda.pxd":1988
 *     cdef CUarray _array
 * 
 * cdef class _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
};


/* "cuda/cuda.pxd":2018
 *     cdef ccuda.CUarrayMapInfo_st* _ptr
 * 
 * cdef class _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
};


/* "cuda/cuda.pxd":2038
 *     cdef ccuda.CUarrayMapInfo_st* _ptr
 * 
 * cdef class _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s *_sparseLevel;
  struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s *_miptail;
};


/* "cuda/cuda.pxd":2058
 *     cdef _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s _miptail
 * 
 * cdef class _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *_memHandle;
};


/* "cuda/cuda.pxd":2075
 *     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 __pyx___val;
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u *_resource;
  struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u *_subresource;
  struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u *_memHandle;
};


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


/* "cuda/cuda.pxd":2137
 *     cdef ccuda.CUmemLocation_st* _ptr
 * 
 * cdef class _CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s {
  PyObject_HEAD
  struct CUmemAllocationProp_st *_ptr;
};


/* "cuda/cuda.pxd":2159
 *     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 __pyx___val;
  struct CUmemAllocationProp_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cwin32HandleMetaData;
  struct __pyx_obj_4cuda_4cuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s *_allocFlags;
};


/* "cuda/cuda.pxd":2192
 *     cdef _CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s _allocFlags
 * 
 * cdef class CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st {
  PyObject_HEAD
  struct CUmemAccessDesc_st __pyx___val;
  struct CUmemAccessDesc_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
};


/* "cuda/cuda.pxd":2213
 *     cdef CUmemLocation _location
 * 
 * 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 __pyx___val;
  struct CUmemPoolProps_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cwin32SecurityAttributes;
};


/* "cuda/cuda.pxd":2246
 *     cdef utils.HelperInputVoidPtr _cwin32SecurityAttributes
 * 
 * cdef class CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st {
  PyObject_HEAD
  struct CUmemPoolPtrExportData_st __pyx___val;
  struct CUmemPoolPtrExportData_st *_ptr;
};


/* "cuda/cuda.pxd":2264
 *     cdef ccuda.CUmemPoolPtrExportData_st* _ptr
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_MEM_ALLOC_NODE_PARAMS_st __pyx___val;
  struct CUDA_MEM_ALLOC_NODE_PARAMS_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":2298
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class _CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *_ptr;
};


/* "cuda/cuda.pxd":2316
 *     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 __pyx___val;
  struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *_ptr;
  struct __pyx_obj_4cuda_4cuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u *_frame;
};


/* "cuda/cuda.pxd":2355
 *     cdef _CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u _frame
 * 
 * cdef class CUuuid(CUuuid_st):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUuuid {
  struct __pyx_obj_4cuda_4cuda_CUuuid_st __pyx_base;
};


/* "cuda/cuda.pxd":2371
 *     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":2388
 *     pass
 * 
 * cdef class CUipcEventHandle(CUipcEventHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle {
  struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st __pyx_base;
};


/* "cuda/cuda.pxd":2405
 *     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":2422
 *     pass
 * 
 * cdef class CUipcMemHandle(CUipcMemHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle {
  struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st __pyx_base;
};


/* "cuda/cuda.pxd":2439
 *     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":2466
 *     pass
 * 
 * cdef class CUstreamBatchMemOpParams(CUstreamBatchMemOpParams_union):             # <<<<<<<<<<<<<<
 *     """
 *     Per-operation parameters for cuStreamBatchMemOp
 */
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams {
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union __pyx_base;
};


/* "cuda/cuda.pxd":2493
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS(CUDA_BATCH_MEM_OP_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":2515
 *     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":2550
 *     pass
 * 
 * cdef class CUdevprop(CUdevprop_st):             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
 */
struct __pyx_obj_4cuda_4cuda_CUdevprop {
  struct __pyx_obj_4cuda_4cuda_CUdevprop_st __pyx_base;
};


/* "cuda/cuda.pxd":2585
 *     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":2622
 *     pass
 * 
 * cdef class CUaccessPolicyWindow(CUaccessPolicyWindow_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies an access policy for a window, a contiguous extent of
 */
struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow {
  struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st __pyx_base;
};


/* "cuda/cuda.pxd":2659
 *     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":2694
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS(CUDA_KERNEL_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":2729
 *     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":2756
 *     pass
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS(CUDA_MEMSET_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":2783
 *     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":2802
 *     pass
 * 
 * cdef class CUDA_HOST_NODE_PARAMS(CUDA_HOST_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":2821
 *     pass
 * 
 * cdef class CUlaunchAttributeValue(CUlaunchAttributeValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_base;
};


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


/* "cuda/cuda.pxd":2871
 *     pass
 * 
 * cdef class CUlaunchConfig(CUlaunchConfig_st):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchConfig {
  struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st __pyx_base;
};


/* "cuda/cuda.pxd":2905
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue_v1(CUlaunchAttributeValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1 {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_base;
};


/* "cuda/cuda.pxd":2937
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue(CUlaunchAttributeValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_base;
};


/* "cuda/cuda.pxd":2969
 *     pass
 * 
 * cdef class CUstreamAttrValue_v1(CUlaunchAttributeValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1 {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_base;
};


/* "cuda/cuda.pxd":3001
 *     pass
 * 
 * cdef class CUstreamAttrValue(CUlaunchAttributeValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_base;
};


/* "cuda/cuda.pxd":3033
 *     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":3050
 *     pass
 * 
 * cdef class CUexecAffinitySmCount(CUexecAffinitySmCount_st):             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st __pyx_base;
};


/* "cuda/cuda.pxd":3067
 *     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":3086
 *     pass
 * 
 * cdef class CUexecAffinityParam(CUexecAffinityParam_st):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Parameters
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st __pyx_base;
};


/* "cuda/cuda.pxd":3105
 *     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":3152
 *     pass
 * 
 * cdef class CUDA_MEMCPY2D(CUDA_MEMCPY2D_st):             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st __pyx_base;
};


/* "cuda/cuda.pxd":3199
 *     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":3265
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D(CUDA_MEMCPY3D_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st __pyx_base;
};


/* "cuda/cuda.pxd":3331
 *     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":3398
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_PEER(CUDA_MEMCPY3D_PEER_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory cross-context copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st __pyx_base;
};


/* "cuda/cuda.pxd":3465
 *     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":3488
 *     pass
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR(CUDA_ARRAY_DESCRIPTOR_st):             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st __pyx_base;
};


/* "cuda/cuda.pxd":3511
 *     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":3538
 *     pass
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR(CUDA_ARRAY3D_DESCRIPTOR_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_base;
};


/* "cuda/cuda.pxd":3565
 *     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":3591
 *     pass
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES(CUDA_ARRAY_SPARSE_PROPERTIES_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array sparse properties
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_base;
};


/* "cuda/cuda.pxd":3617
 *     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":3638
 *     pass
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS(CUDA_ARRAY_MEMORY_REQUIREMENTS_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array memory requirements
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st __pyx_base;
};


/* "cuda/cuda.pxd":3659
 *     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":3680
 *     pass
 * 
 * cdef class CUDA_RESOURCE_DESC(CUDA_RESOURCE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Resource descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":3701
 *     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":3736
 *     pass
 * 
 * cdef class CUDA_TEXTURE_DESC(CUDA_TEXTURE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     Texture descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":3771
 *     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":3804
 *     pass
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC(CUDA_RESOURCE_VIEW_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":3837
 *     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":3856
 *     pass
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU Direct v3 tokens
 */
struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS {
  struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st __pyx_base;
};


/* "cuda/cuda.pxd":3875
 *     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":3910
 *     pass
 * 
 * cdef class CUDA_LAUNCH_PARAMS(CUDA_LAUNCH_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":3945
 *     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":3970
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC(CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":3995
 *     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":4018
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC(CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":4041
 *     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":4065
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     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_st __pyx_base;
};


/* "cuda/cuda.pxd":4089
 *     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":4112
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":4135
 *     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":4163
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":4191
 *     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":4219
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":4247
 *     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":4269
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     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_st __pyx_base;
};


/* "cuda/cuda.pxd":4291
 *     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":4313
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS(CUDA_EXT_SEM_WAIT_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     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_st __pyx_base;
};


/* "cuda/cuda.pxd":4335
 *     pass
 * 
 * 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":4373
 *     pass
 * 
 * cdef class CUarrayMapInfo(CUarrayMapInfo_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the CUDA array or CUDA mipmapped array memory mapping
 */
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo {
  struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st __pyx_base;
};


/* "cuda/cuda.pxd":4411
 *     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":4430
 *     pass
 * 
 * cdef class CUmemLocation(CUmemLocation_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.
 */
struct __pyx_obj_4cuda_4cuda_CUmemLocation {
  struct __pyx_obj_4cuda_4cuda_CUmemLocation_st __pyx_base;
};


/* "cuda/cuda.pxd":4449
 *     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":4478
 *     pass
 * 
 * cdef class CUmemAllocationProp(CUmemAllocationProp_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the allocation properties for a allocation.
 */
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp {
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st __pyx_base;
};


/* "cuda/cuda.pxd":4507
 *     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":4526
 *     pass
 * 
 * cdef class CUmemAccessDesc(CUmemAccessDesc_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc {
  struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st __pyx_base;
};


/* "cuda/cuda.pxd":4545
 *     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":4575
 *     pass
 * 
 * cdef class CUmemPoolProps(CUmemPoolProps_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolProps {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st __pyx_base;
};


/* "cuda/cuda.pxd":4605
 *     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":4622
 *     pass
 * 
 * cdef class CUmemPoolPtrExportData(CUmemPoolPtrExportData_st):             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st __pyx_base;
};


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


/* "cuda/cuda.pxd":4668
 *     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":4705
 *     pass
 * 
 * cdef class CUeglFrame(CUeglFrame_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame structure Descriptor - structure defining one frame
 */
struct __pyx_obj_4cuda_4cuda_CUeglFrame {
  struct __pyx_obj_4cuda_4cuda_CUeglFrame_st __pyx_base;
};


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


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


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


/* "cuda/cuda.pxd":4780
 *     cdef ccuda.CUdeviceptr_v2* _ptr
 * 
 * cdef class CUdeviceptr:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdeviceptr {
  PyObject_HEAD
  CUdeviceptr __pyx___val;
  CUdeviceptr *_ptr;
};


/* "cuda/cuda.pxd":4794
 *     cdef ccuda.CUdeviceptr* _ptr
 * 
 * cdef class CUdevice_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdevice_v1 {
  PyObject_HEAD
  CUdevice_v1 __pyx___val;
  CUdevice_v1 *_ptr;
};


/* "cuda/cuda.pxd":4808
 *     cdef ccuda.CUdevice_v1* _ptr
 * 
 * cdef class CUdevice:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdevice {
  PyObject_HEAD
  CUdevice __pyx___val;
  CUdevice *_ptr;
};


/* "cuda/cuda.pxd":4822
 *     cdef ccuda.CUdevice* _ptr
 * 
 * cdef class CUtexObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 {
  PyObject_HEAD
  CUtexObject_v1 __pyx___val;
  CUtexObject_v1 *_ptr;
};


/* "cuda/cuda.pxd":4836
 *     cdef ccuda.CUtexObject_v1* _ptr
 * 
 * cdef class CUtexObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexObject {
  PyObject_HEAD
  CUtexObject __pyx___val;
  CUtexObject *_ptr;
};


/* "cuda/cuda.pxd":4850
 *     cdef ccuda.CUtexObject* _ptr
 * 
 * cdef class CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 {
  PyObject_HEAD
  CUsurfObject_v1 __pyx___val;
  CUsurfObject_v1 *_ptr;
};


/* "cuda/cuda.pxd":4864
 *     cdef ccuda.CUsurfObject_v1* _ptr
 * 
 * cdef class CUsurfObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfObject {
  PyObject_HEAD
  CUsurfObject __pyx___val;
  CUsurfObject *_ptr;
};


/* "cuda/cuda.pxd":4878
 *     cdef ccuda.CUsurfObject* _ptr
 * 
 * cdef class CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 {
  PyObject_HEAD
  CUmemGenericAllocationHandle_v1 __pyx___val;
  CUmemGenericAllocationHandle_v1 *_ptr;
};


/* "cuda/cuda.pxd":4890
 *     cdef ccuda.CUmemGenericAllocationHandle_v1* _ptr
 * 
 * cdef class CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle {
  PyObject_HEAD
  CUmemGenericAllocationHandle __pyx___val;
  CUmemGenericAllocationHandle *_ptr;
};


/* "cuda/cuda.pxd":4902
 *     cdef ccuda.CUmemGenericAllocationHandle* _ptr
 * 
 * cdef class GLenum:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_GLenum {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_GLenum __pyx___val;
  __pyx_t_4cuda_5ccuda_GLenum *_ptr;
};


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


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


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


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


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


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


/* "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 InputVoidPtrPtrHelper:             # <<<<<<<<<<<<<<
 *     cdef void** _cptr
 */
struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper {
  PyObject_HEAD
  void **_cptr;
};


/* "cuda/cudart.pxd":12
 * cimport cuda.cuda as cuda
 * 
 * cdef class cudaArray_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaArray_t {
  PyObject_HEAD
  cudaArray_t __pyx___val;
  cudaArray_t *_ptr;
};


/* "cuda/cudart.pxd":26
 *     cdef ccudart.cudaArray_t* _ptr
 * 
 * cdef class cudaArray_const_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaArray_const_t {
  PyObject_HEAD
  cudaArray_const_t __pyx___val;
  cudaArray_const_t *_ptr;
};


/* "cuda/cudart.pxd":40
 *     cdef ccudart.cudaArray_const_t* _ptr
 * 
 * cdef class cudaMipmappedArray_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t {
  PyObject_HEAD
  cudaMipmappedArray_t __pyx___val;
  cudaMipmappedArray_t *_ptr;
};


/* "cuda/cudart.pxd":54
 *     cdef ccudart.cudaMipmappedArray_t* _ptr
 * 
 * cdef class cudaMipmappedArray_const_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t {
  PyObject_HEAD
  cudaMipmappedArray_const_t __pyx___val;
  cudaMipmappedArray_const_t *_ptr;
};


/* "cuda/cudart.pxd":68
 *     cdef ccudart.cudaMipmappedArray_const_t* _ptr
 * 
 * cdef class cudaGraphicsResource_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t {
  PyObject_HEAD
  cudaGraphicsResource_t __pyx___val;
  cudaGraphicsResource_t *_ptr;
};


/* "cuda/cudart.pxd":82
 *     cdef ccudart.cudaGraphicsResource_t* _ptr
 * 
 * cdef class cudaExternalMemory_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t {
  PyObject_HEAD
  cudaExternalMemory_t __pyx___val;
  cudaExternalMemory_t *_ptr;
};


/* "cuda/cudart.pxd":96
 *     cdef ccudart.cudaExternalMemory_t* _ptr
 * 
 * cdef class cudaExternalSemaphore_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t {
  PyObject_HEAD
  cudaExternalSemaphore_t __pyx___val;
  cudaExternalSemaphore_t *_ptr;
};


/* "cuda/cudart.pxd":110
 *     cdef ccudart.cudaExternalSemaphore_t* _ptr
 * 
 * cdef class EGLImageKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_EGLImageKHR {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_EGLImageKHR __pyx___val;
  __pyx_t_4cuda_7ccudart_EGLImageKHR *_ptr;
};


/* "cuda/cudart.pxd":122
 *     cdef ccudart.EGLImageKHR* _ptr
 * 
 * cdef class EGLStreamKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_EGLStreamKHR {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_EGLStreamKHR __pyx___val;
  __pyx_t_4cuda_7ccudart_EGLStreamKHR *_ptr;
};


/* "cuda/cudart.pxd":134
 *     cdef ccudart.EGLStreamKHR* _ptr
 * 
 * cdef class EGLSyncKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_EGLSyncKHR {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_EGLSyncKHR __pyx___val;
  __pyx_t_4cuda_7ccudart_EGLSyncKHR *_ptr;
};


/* "cuda/cudart.pxd":146
 *     cdef ccudart.EGLSyncKHR* _ptr
 * 
 * cdef class cudaHostFn_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaHostFn_t {
  PyObject_HEAD
  cudaHostFn_t __pyx___val;
  cudaHostFn_t *_ptr;
};


/* "cuda/cudart.pxd":158
 *     cdef ccudart.cudaHostFn_t* _ptr
 * 
 * cdef class cudaStreamCallback_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t {
  PyObject_HEAD
  cudaStreamCallback_t __pyx___val;
  cudaStreamCallback_t *_ptr;
};


/* "cuda/cudart.pxd":170
 *     cdef ccudart.cudaStreamCallback_t* _ptr
 * 
 * cdef class dim3:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_dim3 {
  PyObject_HEAD
  struct dim3 __pyx___val;
  struct dim3 *_ptr;
};


/* "cuda/cudart.pxd":191
 *     cdef ccudart.dim3* _ptr
 * 
 * cdef class cudaChannelFormatDesc:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Channel format descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc {
  PyObject_HEAD
  struct cudaChannelFormatDesc __pyx___val;
  struct cudaChannelFormatDesc *_ptr;
};


/* "cuda/cudart.pxd":217
 *     cdef ccudart.cudaChannelFormatDesc* _ptr
 * 
 * cdef class _cudaArraySparseProperties_tileExtent_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s {
  PyObject_HEAD
  struct cudaArraySparseProperties *_ptr;
};


/* "cuda/cudart.pxd":237
 *     cdef ccudart.cudaArraySparseProperties* _ptr
 * 
 * cdef class cudaArraySparseProperties:             # <<<<<<<<<<<<<<
 *     """
 *     Sparse CUDA array and CUDA mipmapped array properties
 */
struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties {
  PyObject_HEAD
  struct cudaArraySparseProperties __pyx___val;
  struct cudaArraySparseProperties *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *_tileExtent;
};


/* "cuda/cudart.pxd":264
 *     cdef _cudaArraySparseProperties_tileExtent_s _tileExtent
 * 
 * cdef class cudaArrayMemoryRequirements:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array and CUDA mipmapped array memory requirements
 */
struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements {
  PyObject_HEAD
  struct cudaArrayMemoryRequirements __pyx___val;
  struct cudaArrayMemoryRequirements *_ptr;
};


/* "cuda/cudart.pxd":286
 *     cdef ccudart.cudaArrayMemoryRequirements* _ptr
 * 
 * cdef class cudaPitchedPtr:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Pitched memory pointer  ::make_cudaPitchedPtr
 */
struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr {
  PyObject_HEAD
  struct cudaPitchedPtr __pyx___val;
  struct cudaPitchedPtr *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cptr;
};


/* "cuda/cudart.pxd":311
 *     cdef utils.HelperInputVoidPtr _cptr
 * 
 * cdef class cudaExtent:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA extent  ::make_cudaExtent
 */
struct __pyx_obj_4cuda_6cudart_cudaExtent {
  PyObject_HEAD
  struct cudaExtent __pyx___val;
  struct cudaExtent *_ptr;
};


/* "cuda/cudart.pxd":334
 *     cdef ccudart.cudaExtent* _ptr
 * 
 * cdef class cudaPos:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA 3D position  ::make_cudaPos
 */
struct __pyx_obj_4cuda_6cudart_cudaPos {
  PyObject_HEAD
  struct cudaPos __pyx___val;
  struct cudaPos *_ptr;
};


/* "cuda/cudart.pxd":356
 *     cdef ccudart.cudaPos* _ptr
 * 
 * cdef class cudaMemcpy3DParms:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA 3D memory copying parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms {
  PyObject_HEAD
  struct cudaMemcpy3DParms __pyx___val;
  struct cudaMemcpy3DParms *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *_srcArray;
  struct __pyx_obj_4cuda_6cudart_cudaPos *_srcPos;
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *_srcPtr;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *_dstArray;
  struct __pyx_obj_4cuda_6cudart_cudaPos *_dstPos;
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *_dstPtr;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *_extent;
};


/* "cuda/cudart.pxd":395
 *     cdef cudaExtent _extent
 * 
 * cdef class cudaMemcpy3DPeerParms:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA 3D cross-device memory copying parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms {
  PyObject_HEAD
  struct cudaMemcpy3DPeerParms __pyx___val;
  struct cudaMemcpy3DPeerParms *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *_srcArray;
  struct __pyx_obj_4cuda_6cudart_cudaPos *_srcPos;
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *_srcPtr;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *_dstArray;
  struct __pyx_obj_4cuda_6cudart_cudaPos *_dstPos;
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *_dstPtr;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *_extent;
};


/* "cuda/cudart.pxd":436
 *     cdef cudaExtent _extent
 * 
 * cdef class cudaMemsetParams:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Memset node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemsetParams {
  PyObject_HEAD
  struct cudaMemsetParams __pyx___val;
  struct cudaMemsetParams *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdst;
};


/* "cuda/cudart.pxd":465
 *     cdef utils.HelperInputVoidPtr _cdst
 * 
 * cdef class cudaAccessPolicyWindow:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies an access policy for a window, a contiguous extent of
 */
struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow {
  PyObject_HEAD
  struct cudaAccessPolicyWindow __pyx___val;
  struct cudaAccessPolicyWindow *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cbase_ptr;
};


/* "cuda/cudart.pxd":503
 *     cdef utils.HelperInputVoidPtr _cbase_ptr
 * 
 * cdef class cudaHostNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA host node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams {
  PyObject_HEAD
  struct cudaHostNodeParams __pyx___val;
  struct cudaHostNodeParams *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *_fn;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cuserData;
};


/* "cuda/cudart.pxd":525
 *     cdef utils.HelperInputVoidPtr _cuserData
 * 
 * cdef class _cudaResourceDesc_res_res_array_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s {
  PyObject_HEAD
  struct cudaResourceDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *_array;
};


/* "cuda/cudart.pxd":542
 *     cdef cudaArray_t _array
 * 
 * cdef class _cudaResourceDesc_res_res_mipmap_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s {
  PyObject_HEAD
  struct cudaResourceDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *_mipmap;
};


/* "cuda/cudart.pxd":559
 *     cdef cudaMipmappedArray_t _mipmap
 * 
 * cdef class _cudaResourceDesc_res_res_linear_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s {
  PyObject_HEAD
  struct cudaResourceDesc *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdevPtr;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *_desc;
};


/* "cuda/cudart.pxd":581
 *     cdef cudaChannelFormatDesc _desc
 * 
 * cdef class _cudaResourceDesc_res_res_pitch2D_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s {
  PyObject_HEAD
  struct cudaResourceDesc *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdevPtr;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *_desc;
};


/* "cuda/cudart.pxd":607
 *     cdef cudaChannelFormatDesc _desc
 * 
 * cdef class _cudaResourceDesc_res_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u {
  PyObject_HEAD
  struct cudaResourceDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *_array;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *_mipmap;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *_linear;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *_pitch2D;
};


/* "cuda/cudart.pxd":633
 *     cdef _cudaResourceDesc_res_res_pitch2D_s _pitch2D
 * 
 * cdef class cudaResourceDesc:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA resource descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaResourceDesc {
  PyObject_HEAD
  struct cudaResourceDesc __pyx___val;
  struct cudaResourceDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *_res;
};


/* "cuda/cudart.pxd":654
 *     cdef _cudaResourceDesc_res_u _res
 * 
 * cdef class cudaResourceViewDesc:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA resource view descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc {
  PyObject_HEAD
  struct cudaResourceViewDesc __pyx___val;
  struct cudaResourceViewDesc *_ptr;
};


/* "cuda/cudart.pxd":686
 *     cdef ccudart.cudaResourceViewDesc* _ptr
 * 
 * cdef class cudaPointerAttributes:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA pointer attributes
 */
struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes {
  PyObject_HEAD
  struct cudaPointerAttributes __pyx___val;
  struct cudaPointerAttributes *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdevicePointer;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_chostPointer;
};


/* "cuda/cudart.pxd":723
 *     cdef utils.HelperInputVoidPtr _chostPointer
 * 
 * cdef class cudaFuncAttributes:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA function attributes
 */
struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes {
  PyObject_HEAD
  struct cudaFuncAttributes __pyx___val;
  struct cudaFuncAttributes *_ptr;
};


/* "cuda/cudart.pxd":778
 *     cdef ccudart.cudaFuncAttributes* _ptr
 * 
 * cdef class cudaMemLocation:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.  To specify a gpu, set type =
 */
struct __pyx_obj_4cuda_6cudart_cudaMemLocation {
  PyObject_HEAD
  struct cudaMemLocation __pyx___val;
  struct cudaMemLocation *_ptr;
};


/* "cuda/cudart.pxd":799
 *     cdef ccudart.cudaMemLocation* _ptr
 * 
 * cdef class cudaMemAccessDesc:             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc {
  PyObject_HEAD
  struct cudaMemAccessDesc __pyx___val;
  struct cudaMemAccessDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaMemLocation *_location;
};


/* "cuda/cudart.pxd":820
 *     cdef cudaMemLocation _location
 * 
 * cdef class cudaMemPoolProps:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
 */
struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps {
  PyObject_HEAD
  struct cudaMemPoolProps __pyx___val;
  struct cudaMemPoolProps *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaMemLocation *_location;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cwin32SecurityAttributes;
};


/* "cuda/cudart.pxd":853
 *     cdef utils.HelperInputVoidPtr _cwin32SecurityAttributes
 * 
 * cdef class cudaMemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
 */
struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData {
  PyObject_HEAD
  struct cudaMemPoolPtrExportData __pyx___val;
  struct cudaMemPoolPtrExportData *_ptr;
};


/* "cuda/cudart.pxd":871
 *     cdef ccudart.cudaMemPoolPtrExportData* _ptr
 * 
 * cdef class cudaMemAllocNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams {
  PyObject_HEAD
  struct cudaMemAllocNodeParams __pyx___val;
  struct cudaMemAllocNodeParams *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *_poolProps;
  size_t _accessDescs_length;
  struct cudaMemAccessDesc *_accessDescs;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdptr;
};


/* "cuda/cudart.pxd":905
 *     cdef utils.HelperInputVoidPtr _cdptr
 * 
 * cdef class CUuuid_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_CUuuid_st {
  PyObject_HEAD
  struct CUuuid_st __pyx___val;
  struct CUuuid_st *_ptr;
};


/* "cuda/cudart.pxd":922
 *     cdef ccudart.CUuuid_st* _ptr
 * 
 * cdef class cudaDeviceProp:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device properties
 */
struct __pyx_obj_4cuda_6cudart_cudaDeviceProp {
  PyObject_HEAD
  struct cudaDeviceProp __pyx___val;
  struct cudaDeviceProp *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaUUID_t *_uuid;
};


/* "cuda/cudart.pxd":1115
 *     cdef cudaUUID_t _uuid
 * 
 * cdef class cudaIpcEventHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
 */
struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st {
  PyObject_HEAD
  struct cudaIpcEventHandle_st __pyx___val;
  struct cudaIpcEventHandle_st *_ptr;
};


/* "cuda/cudart.pxd":1133
 *     cdef ccudart.cudaIpcEventHandle_st* _ptr
 * 
 * cdef class cudaIpcMemHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC memory handle
 */
struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st {
  PyObject_HEAD
  struct cudaIpcMemHandle_st __pyx___val;
  struct cudaIpcMemHandle_st *_ptr;
};


/* "cuda/cudart.pxd":1151
 *     cdef ccudart.cudaIpcMemHandle_st* _ptr
 * 
 * cdef class _cudaExternalMemoryHandleDesc_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s {
  PyObject_HEAD
  struct cudaExternalMemoryHandleDesc *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_chandle;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cname;
};


/* "cuda/cudart.pxd":1171
 *     cdef utils.HelperInputVoidPtr _cname
 * 
 * cdef class _cudaExternalMemoryHandleDesc_handle_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u {
  PyObject_HEAD
  struct cudaExternalMemoryHandleDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *_win32;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cnvSciBufObject;
};


/* "cuda/cudart.pxd":1193
 *     cdef utils.HelperInputVoidPtr _cnvSciBufObject
 * 
 * cdef class cudaExternalMemoryHandleDesc:             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc {
  PyObject_HEAD
  struct cudaExternalMemoryHandleDesc __pyx___val;
  struct cudaExternalMemoryHandleDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *_handle;
};


/* "cuda/cudart.pxd":1218
 *     cdef _cudaExternalMemoryHandleDesc_handle_u _handle
 * 
 * cdef class cudaExternalMemoryBufferDesc:             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc {
  PyObject_HEAD
  struct cudaExternalMemoryBufferDesc __pyx___val;
  struct cudaExternalMemoryBufferDesc *_ptr;
};


/* "cuda/cudart.pxd":1240
 *     cdef ccudart.cudaExternalMemoryBufferDesc* _ptr
 * 
 * cdef class cudaExternalMemoryMipmappedArrayDesc:             # <<<<<<<<<<<<<<
 *     """
 *     External memory mipmap descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc {
  PyObject_HEAD
  struct cudaExternalMemoryMipmappedArrayDesc __pyx___val;
  struct cudaExternalMemoryMipmappedArrayDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *_formatDesc;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *_extent;
};


/* "cuda/cudart.pxd":1270
 *     cdef cudaExtent _extent
 * 
 * cdef class _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s {
  PyObject_HEAD
  struct cudaExternalSemaphoreHandleDesc *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_chandle;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cname;
};


/* "cuda/cudart.pxd":1290
 *     cdef utils.HelperInputVoidPtr _cname
 * 
 * cdef class _cudaExternalSemaphoreHandleDesc_handle_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u {
  PyObject_HEAD
  struct cudaExternalSemaphoreHandleDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *_win32;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cnvSciSyncObj;
};


/* "cuda/cudart.pxd":1312
 *     cdef utils.HelperInputVoidPtr _cnvSciSyncObj
 * 
 * cdef class cudaExternalSemaphoreHandleDesc:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc {
  PyObject_HEAD
  struct cudaExternalSemaphoreHandleDesc __pyx___val;
  struct cudaExternalSemaphoreHandleDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *_handle;
};


/* "cuda/cudart.pxd":1335
 *     cdef _cudaExternalSemaphoreHandleDesc_handle_u _handle
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s {
  PyObject_HEAD
  struct cudaExternalSemaphoreSignalParams *_ptr;
};


/* "cuda/cudart.pxd":1351
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* _ptr
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u {
  PyObject_HEAD
  struct cudaExternalSemaphoreSignalParams *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cfence;
};


/* "cuda/cudart.pxd":1370
 *     cdef utils.HelperInputVoidPtr _cfence
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s {
  PyObject_HEAD
  struct cudaExternalSemaphoreSignalParams *_ptr;
};


/* "cuda/cudart.pxd":1386
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* _ptr
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s {
  PyObject_HEAD
  struct cudaExternalSemaphoreSignalParams *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *_fence;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *_nvSciSync;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *_keyedMutex;
};


/* "cuda/cudart.pxd":1411
 *     cdef _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s _keyedMutex
 * 
 * cdef class cudaExternalSemaphoreSignalParams:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters, compatible with driver type
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams {
  PyObject_HEAD
  struct cudaExternalSemaphoreSignalParams __pyx___val;
  struct cudaExternalSemaphoreSignalParams *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *_params;
};


/* "cuda/cudart.pxd":1441
 *     cdef _cudaExternalSemaphoreSignalParams_params_s _params
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s {
  PyObject_HEAD
  struct cudaExternalSemaphoreWaitParams *_ptr;
};


/* "cuda/cudart.pxd":1457
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* _ptr
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u {
  PyObject_HEAD
  struct cudaExternalSemaphoreWaitParams *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cfence;
};


/* "cuda/cudart.pxd":1476
 *     cdef utils.HelperInputVoidPtr _cfence
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s {
  PyObject_HEAD
  struct cudaExternalSemaphoreWaitParams *_ptr;
};


/* "cuda/cudart.pxd":1494
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* _ptr
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s {
  PyObject_HEAD
  struct cudaExternalSemaphoreWaitParams *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *_fence;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *_nvSciSync;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *_keyedMutex;
};


/* "cuda/cudart.pxd":1519
 *     cdef _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s _keyedMutex
 * 
 * cdef class cudaExternalSemaphoreWaitParams:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters, compatible with driver type
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams {
  PyObject_HEAD
  struct cudaExternalSemaphoreWaitParams __pyx___val;
  struct cudaExternalSemaphoreWaitParams *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *_params;
};


/* "cuda/cudart.pxd":1549
 *     cdef _cudaExternalSemaphoreWaitParams_params_s _params
 * 
 * cdef class cudaKernelNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPU kernel node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams {
  PyObject_HEAD
  struct cudaKernelNodeParams __pyx___val;
  struct cudaKernelNodeParams *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cfunc;
  struct __pyx_obj_4cuda_6cudart_dim3 *_gridDim;
  struct __pyx_obj_4cuda_6cudart_dim3 *_blockDim;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *_ckernelParams;
};


/* "cuda/cudart.pxd":1581
 *     cdef utils.HelperKernelParams _ckernelParams
 * 
 * cdef class cudaExternalSemaphoreSignalNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams {
  PyObject_HEAD
  struct cudaExternalSemaphoreSignalNodeParams __pyx___val;
  struct cudaExternalSemaphoreSignalNodeParams *_ptr;
  size_t _extSemArray_length;
  cudaExternalSemaphore_t *_extSemArray;
  size_t _paramsArray_length;
  struct cudaExternalSemaphoreSignalParams *_paramsArray;
};


/* "cuda/cudart.pxd":1608
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* _paramsArray
 * 
 * cdef class cudaExternalSemaphoreWaitNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams {
  PyObject_HEAD
  struct cudaExternalSemaphoreWaitNodeParams __pyx___val;
  struct cudaExternalSemaphoreWaitNodeParams *_ptr;
  size_t _extSemArray_length;
  cudaExternalSemaphore_t *_extSemArray;
  size_t _paramsArray_length;
  struct cudaExternalSemaphoreWaitParams *_paramsArray;
};


/* "cuda/cudart.pxd":1635
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* _paramsArray
 * 
 * cdef class _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s {
  PyObject_HEAD
  union cudaLaunchAttributeValue *_ptr;
};


/* "cuda/cudart.pxd":1655
 *     cdef ccudart.cudaLaunchAttributeValue* _ptr
 * 
 * cdef class _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s {
  PyObject_HEAD
  union cudaLaunchAttributeValue *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *_event;
};


/* "cuda/cudart.pxd":1676
 *     cdef cudaEvent_t _event
 * 
 * cdef class cudaLaunchAttributeValue:             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of
 */
struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue {
  PyObject_HEAD
  union cudaLaunchAttributeValue __pyx___val;
  union cudaLaunchAttributeValue *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *_accessPolicyWindow;
  struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *_clusterDim;
  struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *_programmaticEvent;
};


/* "cuda/cudart.pxd":1715
 *     cdef _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s _programmaticEvent
 * 
 * cdef class cudaLaunchAttribute_st:             # <<<<<<<<<<<<<<
 *     """
 *     Launch attribute
 */
struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st {
  PyObject_HEAD
  struct cudaLaunchAttribute_st __pyx___val;
  struct cudaLaunchAttribute_st *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *_val;
};


/* "cuda/cudart.pxd":1736
 *     cdef cudaLaunchAttributeValue _val
 * 
 * cdef class cudaTextureDesc:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaTextureDesc {
  PyObject_HEAD
  struct cudaTextureDesc __pyx___val;
  struct cudaTextureDesc *_ptr;
};


/* "cuda/cudart.pxd":1776
 *     cdef ccudart.cudaTextureDesc* _ptr
 * 
 * cdef class cudaTextureDesc_v2:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 {
  PyObject_HEAD
  struct cudaTextureDesc_v2 __pyx___val;
  struct cudaTextureDesc_v2 *_ptr;
};


/* "cuda/cudart.pxd":1817
 *     cdef ccudart.cudaTextureDesc_v2* _ptr
 * 
 * cdef class cudaEglPlaneDesc_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGL Plane Descriptor - structure defining each plane of a CUDA
 */
struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc_st __pyx___val;
  struct __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc_st *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *_channelDesc;
};


/* "cuda/cudart.pxd":1849
 *     cdef cudaChannelFormatDesc _channelDesc
 * 
 * cdef class _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st *_ptr;
};


/* "cuda/cudart.pxd":1867
 *     cdef ccudart.cudaEglFrame_st* _ptr
 * 
 * cdef class cudaEglFrame_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame Descriptor - structure defining one frame of EGL.
 */
struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st __pyx___val;
  struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st *_ptr;
  struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *_frame;
};


/* "cuda/cudart.pxd":1901
 *     cdef _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u _frame
 * 
 * cdef class CUuuid(CUuuid_st):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_CUuuid {
  struct __pyx_obj_4cuda_6cudart_CUuuid_st __pyx_base;
};


/* "cuda/cudart.pxd":1917
 *     pass
 * 
 * cdef class cudaUUID_t(CUuuid_st):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaUUID_t {
  struct __pyx_obj_4cuda_6cudart_CUuuid_st __pyx_base;
};


/* "cuda/cudart.pxd":1933
 *     pass
 * 
 * cdef class cudaIpcEventHandle_t(cudaIpcEventHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
 */
struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t {
  struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st __pyx_base;
};


/* "cuda/cudart.pxd":1950
 *     pass
 * 
 * cdef class cudaIpcMemHandle_t(cudaIpcMemHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC memory handle
 */
struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t {
  struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st __pyx_base;
};


/* "cuda/cudart.pxd":1967
 *     pass
 * 
 * cdef class cudaLaunchAttribute(cudaLaunchAttribute_st):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attribute
 */
struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute {
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st __pyx_base;
};


/* "cuda/cudart.pxd":1986
 *     pass
 * 
 * cdef class cudaStreamAttrValue(cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of
 */
struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue {
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue __pyx_base;
};


/* "cuda/cudart.pxd":2020
 *     pass
 * 
 * cdef class cudaKernelNodeAttrValue(cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of
 */
struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue {
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue __pyx_base;
};


/* "cuda/cudart.pxd":2054
 *     pass
 * 
 * cdef class cudaEglPlaneDesc(cudaEglPlaneDesc_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGL Plane Descriptor - structure defining each plane of a CUDA
 */
struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc {
  struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st __pyx_base;
};


/* "cuda/cudart.pxd":2084
 *     pass
 * 
 * cdef class cudaEglFrame(cudaEglFrame_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame Descriptor - structure defining one frame of EGL.
 */
struct __pyx_obj_4cuda_6cudart_cudaEglFrame {
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st __pyx_base;
};


/* "cuda/cudart.pxd":2116
 *     pass
 * 
 * cdef class cudaStream_t(cuda.CUstream):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaStream_t {
  struct __pyx_obj_4cuda_4cuda_CUstream __pyx_base;
};


/* "cuda/cudart.pxd":2130
 *     pass
 * 
 * cdef class cudaEvent_t(cuda.CUevent):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaEvent_t {
  struct __pyx_obj_4cuda_4cuda_CUevent __pyx_base;
};


/* "cuda/cudart.pxd":2144
 *     pass
 * 
 * cdef class cudaGraph_t(cuda.CUgraph):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaGraph_t {
  struct __pyx_obj_4cuda_4cuda_CUgraph __pyx_base;
};


/* "cuda/cudart.pxd":2158
 *     pass
 * 
 * cdef class cudaGraphNode_t(cuda.CUgraphNode):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t {
  struct __pyx_obj_4cuda_4cuda_CUgraphNode __pyx_base;
};


/* "cuda/cudart.pxd":2172
 *     pass
 * 
 * cdef class cudaUserObject_t(cuda.CUuserObject):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaUserObject_t {
  struct __pyx_obj_4cuda_4cuda_CUuserObject __pyx_base;
};


/* "cuda/cudart.pxd":2186
 *     pass
 * 
 * cdef class cudaFunction_t(cuda.CUfunction):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaFunction_t {
  struct __pyx_obj_4cuda_4cuda_CUfunction __pyx_base;
};


/* "cuda/cudart.pxd":2200
 *     pass
 * 
 * cdef class cudaMemPool_t(cuda.CUmemoryPool):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaMemPool_t {
  struct __pyx_obj_4cuda_4cuda_CUmemoryPool __pyx_base;
};


/* "cuda/cudart.pxd":2214
 *     pass
 * 
 * cdef class cudaGraphExec_t(cuda.CUgraphExec):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t {
  struct __pyx_obj_4cuda_4cuda_CUgraphExec __pyx_base;
};


/* "cuda/cudart.pxd":2228
 *     pass
 * 
 * cdef class cudaEglStreamConnection(cuda.CUeglStreamConnection):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection {
  struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection __pyx_base;
};


/* "cuda/cudart.pxd":2242
 *     pass
 * 
 * cdef class GLenum:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_GLenum {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_GLenum __pyx___val;
  __pyx_t_4cuda_7ccudart_GLenum *_ptr;
};


/* "cuda/cudart.pxd":2254
 *     cdef ccudart.GLenum* _ptr
 * 
 * cdef class GLuint:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_GLuint {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_GLuint __pyx___val;
  __pyx_t_4cuda_7ccudart_GLuint *_ptr;
};


/* "cuda/cudart.pxd":2266
 *     cdef ccudart.GLuint* _ptr
 * 
 * cdef class EGLint:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_EGLint {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_EGLint __pyx___val;
  __pyx_t_4cuda_7ccudart_EGLint *_ptr;
};


/* "cuda/cudart.pxd":2278
 *     cdef ccudart.EGLint* _ptr
 * 
 * cdef class VdpDevice:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_VdpDevice {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_VdpDevice __pyx___val;
  __pyx_t_4cuda_7ccudart_VdpDevice *_ptr;
};


/* "cuda/cudart.pxd":2290
 *     cdef ccudart.VdpDevice* _ptr
 * 
 * cdef class VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_VdpGetProcAddress __pyx___val;
  __pyx_t_4cuda_7ccudart_VdpGetProcAddress *_ptr;
};


/* "cuda/cudart.pxd":2302
 *     cdef ccudart.VdpGetProcAddress* _ptr
 * 
 * cdef class VdpVideoSurface:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_VdpVideoSurface {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_VdpVideoSurface __pyx___val;
  __pyx_t_4cuda_7ccudart_VdpVideoSurface *_ptr;
};


/* "cuda/cudart.pxd":2314
 *     cdef ccudart.VdpVideoSurface* _ptr
 * 
 * cdef class VdpOutputSurface:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_VdpOutputSurface {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_VdpOutputSurface __pyx___val;
  __pyx_t_4cuda_7ccudart_VdpOutputSurface *_ptr;
};


/* "cuda/cudart.pxd":2326
 *     cdef ccudart.VdpOutputSurface* _ptr
 * 
 * cdef class cudaSurfaceObject_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t {
  PyObject_HEAD
  cudaSurfaceObject_t __pyx___val;
  cudaSurfaceObject_t *_ptr;
};


/* "cuda/cudart.pxd":2340
 *     cdef ccudart.cudaSurfaceObject_t* _ptr
 * 
 * cdef class cudaTextureObject_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t {
  PyObject_HEAD
  cudaTextureObject_t __pyx___val;
  cudaTextureObject_t *_ptr;
};


/* "cuda/cudart.pyx":12582
 * 
 * @cython.embedsignature(True)
 * def cudaStreamUpdateCaptureDependencies(stream, dependencies : List[cudaGraphNode_t], size_t numDependencies, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies {
  PyObject_HEAD
  PyObject *__pyx_v_dependencies;
};


/* "cuda/cudart.pyx":12627
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":13503
 * 
 * @cython.embedsignature(True)
 * def cudaSignalExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreSignalParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Signals a set of external semaphore objects.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync {
  PyObject_HEAD
  PyObject *__pyx_v_extSemArray;
  PyObject *__pyx_v_paramsArray;
};


/* "cuda/cudart.pyx":13587
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":13591
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":13621
 * 
 * @cython.embedsignature(True)
 * def cudaWaitExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreWaitParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Waits on a set of external semaphore objects.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync {
  PyObject_HEAD
  PyObject *__pyx_v_extSemArray;
  PyObject *__pyx_v_paramsArray;
};


/* "cuda/cudart.pyx":13714
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":13718
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":17326
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttributes(dataSizes : List[int], attributes : List[cudaMemRangeAttribute], size_t numAttributes, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query attributes of a given memory range.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes {
  PyObject_HEAD
  PyObject *__pyx_v_attributes;
  PyObject *__pyx_v_dataSizes;
};


/* "cuda/cudart.pyx":17376
 *     """
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (cudaMemRangeAttribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":17379
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":18033
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess {
  PyObject_HEAD
  PyObject *__pyx_v_descList;
};


/* "cuda/cudart.pyx":18056
 *     """
 *     descList = [] if descList is None else descList
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":19867
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddKernelNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a kernel execution node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":19954
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":20193
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pCopyParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Creates a memcpy node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":20234
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":20265
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode1D(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Creates a 1D memcpy node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":20322
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":20488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemsetNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pMemsetParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Creates a memset node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":20523
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":20626
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddHostNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a host execution node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":20662
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":20765
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddChildGraphNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, childGraph):             # <<<<<<<<<<<<<<
 *     """ Creates a child graph node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":20814
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":20885
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEmptyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Creates an empty node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":20922
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":20952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventRecordNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event record node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":21000
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":21111
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event wait node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":21162
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":21273
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresSignalNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore signal node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":21310
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":21420
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore wait node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":21457
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":21567
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemAllocNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaMemAllocNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an allocation node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":21642
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":21712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemFreeNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dptr):             # <<<<<<<<<<<<<<
 *     """ Creates a memory free node and adds it to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode {
  PyObject_HEAD
  PyObject *__pyx_v_pDependencies;
};


/* "cuda/cudart.pyx":21765
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":22366
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Adds dependency edges to a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies {
  PyObject_HEAD
  PyObject *__pyx_v_from_;
  PyObject *__pyx_v_to;
};


/* "cuda/cudart.pyx":22397
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":22401
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":22442
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRemoveDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Removes dependency edges from a graph.
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies {
  PyObject_HEAD
  PyObject *__pyx_v_from_;
  PyObject *__pyx_v_to;
};


/* "cuda/cudart.pyx":22474
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* "cuda/cudart.pyx":22478
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr {
  PyObject_HEAD
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *__pyx_outer_scope;
  PyObject *__pyx_v__x;
};


/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, 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__);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #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) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #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_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)

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

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

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

/* ParseKeywords.proto */
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, 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);

/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  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
#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

/* Profile.proto */
#ifndef CYTHON_PROFILE
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
  #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
  #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) 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 = 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);\
              }\
              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

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

/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
#else
#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, 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_FAST_PYCALL
  static size_t __pyx_pyframe_localsplus_offset = 0;
  #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 __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 // CYTHON_FAST_PYCALL
#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

/* PyObjectCallNoArg.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
#else
#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
#endif

/* PyCFunctionFastCall.proto */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
#else
#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
#endif

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

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

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

/* 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)  {\
    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);\
}
#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
    PY_UINT64_T __pyx_dict_version;\
    PyObject *__pyx_dict_cached_value;\
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
}
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

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

/* 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);
        PyList_SET_ITEM(list, len, x);
        __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((Py_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);

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

/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

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

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

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

/* None.proto */
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);

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

/* GetTopmostException.proto */
#if CYTHON_USE_EXC_INFO_STACK
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

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

/* CallNextTpDealloc.proto */
static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);

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

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

/* SetupReduce.proto */
static int __Pyx_setup_reduce(PyObject* type_obj);

/* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto
#define __PYX_HAVE_RT_ImportType_proto
enum __Pyx_ImportType_CheckSize {
   __Pyx_ImportType_CheckSize_Error = 0,
   __Pyx_ImportType_CheckSize_Warn = 1,
   __Pyx_ImportType_CheckSize_Ignore = 2
};
static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize 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);

/* CalculateMetaclass.proto */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);

/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
#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

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

/* FetchCommonType.proto */
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);

/* CythonFunctionShared.proto */
#define __Pyx_CyFunction_USED 1
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#define __Pyx_CyFunction_GetClassObj(f)\
    (((__pyx_CyFunctionObject *) (f))->func_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 {
    PyCFunctionObject func;
#if PY_VERSION_HEX < 0x030500A0
    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;
    PyObject *func_classobj;
    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;
} __pyx_CyFunctionObject;
static PyTypeObject *__pyx_CyFunctionType = 0;
#define __Pyx_CyFunction_Check(obj)  (__Pyx_TypeCheck(obj, __pyx_CyFunctionType))
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *self,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);
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(void);

/* CythonFunction.proto */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);

/* ObjectGetItem.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
#else
#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
#endif

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

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

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

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

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

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

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaError(enum cudaError value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaChannelFormatKind(enum cudaChannelFormatKind value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemoryType(enum cudaMemoryType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemcpyKind(enum cudaMemcpyKind value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaAccessProperty(enum cudaAccessProperty value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(enum cudaStreamCaptureStatus value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaStreamCaptureMode(enum cudaStreamCaptureMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSynchronizationPolicy(enum cudaSynchronizationPolicy value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaClusterSchedulingPolicy(enum cudaClusterSchedulingPolicy value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaStreamUpdateCaptureDependenciesFlags(enum cudaStreamUpdateCaptureDependenciesFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaUserObjectFlags(enum cudaUserObjectFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaUserObjectRetainFlags(enum cudaUserObjectRetainFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphicsRegisterFlags(enum cudaGraphicsRegisterFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphicsMapFlags(enum cudaGraphicsMapFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(enum cudaGraphicsCubeFace value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaResourceType(enum cudaResourceType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaResourceViewFormat(enum cudaResourceViewFormat value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFuncAttribute(enum cudaFuncAttribute value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFuncCache(enum cudaFuncCache value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSharedMemConfig(enum cudaSharedMemConfig value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSharedCarveout(enum cudaSharedCarveout value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaComputeMode(enum cudaComputeMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaLimit(enum cudaLimit value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemoryAdvise(enum cudaMemoryAdvise value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemRangeAttribute(enum cudaMemRangeAttribute value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaOutputMode(enum cudaOutputMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesOptions(enum cudaFlushGPUDirectRDMAWritesOptions value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGPUDirectRDMAWritesOrdering(enum cudaGPUDirectRDMAWritesOrdering value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesScope(enum cudaFlushGPUDirectRDMAWritesScope value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesTarget(enum cudaFlushGPUDirectRDMAWritesTarget value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaDeviceAttr(enum cudaDeviceAttr value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemPoolAttr(enum cudaMemPoolAttr value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemLocationType(enum cudaMemLocationType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemAccessFlags(enum cudaMemAccessFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemAllocationType(enum cudaMemAllocationType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemAllocationHandleType(enum cudaMemAllocationHandleType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphMemAttributeType(enum cudaGraphMemAttributeType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaDeviceP2PAttr(enum cudaDeviceP2PAttr value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(enum cudaExternalMemoryHandleType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(enum cudaExternalSemaphoreHandleType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaCGScope(enum cudaCGScope value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphNodeType(enum cudaGraphNodeType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(enum cudaGraphExecUpdateResult value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGetDriverEntryPointFlags(enum cudaGetDriverEntryPointFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(enum cudaGraphDebugDotFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphInstantiateFlags(enum cudaGraphInstantiateFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaLaunchAttributeID(enum cudaLaunchAttributeID value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLMapFlags(enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaRoundMode(enum cudaRoundMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSurfaceBoundaryMode(enum cudaSurfaceBoundaryMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSurfaceFormatMode(enum cudaSurfaceFormatMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaTextureAddressMode(enum cudaTextureAddressMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaTextureFilterMode(enum cudaTextureFilterMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaTextureReadMode(enum cudaTextureReadMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaDataType_t(enum cudaDataType_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__libraryPropertyType_t(enum libraryPropertyType_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum(enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum value);

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

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

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

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(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_unsigned_int(unsigned int value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaChannelFormatKind __Pyx_PyInt_As_enum__cudaChannelFormatKind(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemcpyKind __Pyx_PyInt_As_enum__cudaMemcpyKind(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaAccessProperty __Pyx_PyInt_As_enum__cudaAccessProperty(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaResourceType __Pyx_PyInt_As_enum__cudaResourceType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaResourceViewFormat __Pyx_PyInt_As_enum__cudaResourceViewFormat(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemoryType __Pyx_PyInt_As_enum__cudaMemoryType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemLocationType __Pyx_PyInt_As_enum__cudaMemLocationType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemAccessFlags __Pyx_PyInt_As_enum__cudaMemAccessFlags(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemAllocationType __Pyx_PyInt_As_enum__cudaMemAllocationType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemAllocationHandleType __Pyx_PyInt_As_enum__cudaMemAllocationHandleType(PyObject *);

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

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

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaExternalMemoryHandleType __Pyx_PyInt_As_enum__cudaExternalMemoryHandleType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaExternalSemaphoreHandleType __Pyx_PyInt_As_enum__cudaExternalSemaphoreHandleType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaSynchronizationPolicy __Pyx_PyInt_As_enum__cudaSynchronizationPolicy(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaClusterSchedulingPolicy __Pyx_PyInt_As_enum__cudaClusterSchedulingPolicy(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaLaunchAttributeID __Pyx_PyInt_As_enum__cudaLaunchAttributeID(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaTextureAddressMode __Pyx_PyInt_As_enum__cudaTextureAddressMode(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaTextureFilterMode __Pyx_PyInt_As_enum__cudaTextureFilterMode(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaTextureReadMode __Pyx_PyInt_As_enum__cudaTextureReadMode(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(PyObject *);

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

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaLimit __Pyx_PyInt_As_enum__cudaLimit(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaFuncCache __Pyx_PyInt_As_enum__cudaFuncCache(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaSharedMemConfig __Pyx_PyInt_As_enum__cudaSharedMemConfig(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaFlushGPUDirectRDMAWritesTarget __Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesTarget(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaFlushGPUDirectRDMAWritesScope __Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesScope(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaError __Pyx_PyInt_As_enum__cudaError(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaDeviceAttr __Pyx_PyInt_As_enum__cudaDeviceAttr(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaDeviceP2PAttr __Pyx_PyInt_As_enum__cudaDeviceP2PAttr(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaStreamCaptureMode __Pyx_PyInt_As_enum__cudaStreamCaptureMode(PyObject *);

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

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaFuncAttribute __Pyx_PyInt_As_enum__cudaFuncAttribute(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemoryAdvise __Pyx_PyInt_As_enum__cudaMemoryAdvise(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemRangeAttribute __Pyx_PyInt_As_enum__cudaMemRangeAttribute(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaMemPoolAttr __Pyx_PyInt_As_enum__cudaMemPoolAttr(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaGraphMemAttributeType __Pyx_PyInt_As_enum__cudaGraphMemAttributeType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaOutputMode __Pyx_PyInt_As_enum__cudaOutputMode(PyObject *);

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

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
static CYTHON_INLINE int __Pyx_IsSubtype(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_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_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)

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

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

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

/* CoroutineBase.proto */
typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, 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 {
    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
static PyTypeObject *__pyx_GeneratorType = 0;
#define __Pyx_Generator_CheckExact(obj) (Py_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(void);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(void);

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

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


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

/* Module declarations from 'cuda.ccudart' */
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaVDPAUGetDevice)(int *, __pyx_t_4cuda_7ccudart_VdpDevice, __pyx_t_4cuda_7ccudart_VdpGetProcAddress *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaVDPAUSetVDPAUDevice)(int, __pyx_t_4cuda_7ccudart_VdpDevice, __pyx_t_4cuda_7ccudart_VdpGetProcAddress *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsVDPAURegisterVideoSurface)(struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_VdpVideoSurface, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsVDPAURegisterOutputSurface)(struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_VdpOutputSurface, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGLGetDevices)(unsigned int *, int *, unsigned int, enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsGLRegisterImage)(struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_GLuint, __pyx_t_4cuda_7ccudart_GLenum, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsGLRegisterBuffer)(struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_GLuint, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceReset)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSynchronize)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetLimit)(enum cudaLimit, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetLimit)(size_t *, enum cudaLimit); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetTexture1DLinearMaxWidth)(size_t *, struct cudaChannelFormatDesc const *, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetCacheConfig)(enum cudaFuncCache *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetStreamPriorityRange)(int *, int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetCacheConfig)(enum cudaFuncCache); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetSharedMemConfig)(enum cudaSharedMemConfig *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetSharedMemConfig)(enum cudaSharedMemConfig); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetByPCIBusId)(int *, char const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetPCIBusId)(char *, int, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcGetEventHandle)(cudaIpcEventHandle_t *, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcOpenEventHandle)(cudaEvent_t *, cudaIpcEventHandle_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcGetMemHandle)(cudaIpcMemHandle_t *, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcOpenMemHandle)(void **, cudaIpcMemHandle_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcCloseMemHandle)(void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceFlushGPUDirectRDMAWrites)(enum cudaFlushGPUDirectRDMAWritesTarget, enum cudaFlushGPUDirectRDMAWritesScope); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadExit)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadSynchronize)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadSetLimit)(enum cudaLimit, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadGetLimit)(size_t *, enum cudaLimit); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetLastError)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaPeekAtLastError)(void); /*proto*/
static char const *(*__pyx_f_4cuda_7ccudart_cudaGetErrorName)(cudaError_t); /*proto*/
static char const *(*__pyx_f_4cuda_7ccudart_cudaGetErrorString)(cudaError_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDeviceCount)(int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDeviceProperties)(struct cudaDeviceProp *, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetAttribute)(int *, enum cudaDeviceAttr, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetDefaultMemPool)(cudaMemPool_t *, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetMemPool)(int, cudaMemPool_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetMemPool)(cudaMemPool_t *, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetNvSciSyncAttributes)(void *, int, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetP2PAttribute)(int *, enum cudaDeviceP2PAttr, int, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaChooseDevice)(int *, struct cudaDeviceProp const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDevice)(int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDevice)(int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDeviceFlags)(unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDeviceFlags)(unsigned int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCreate)(cudaStream_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCreateWithFlags)(cudaStream_t *, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCreateWithPriority)(cudaStream_t *, unsigned int, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetPriority)(cudaStream_t, int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetFlags)(cudaStream_t, unsigned int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaCtxResetPersistingL2Cache)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCopyAttributes)(cudaStream_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetAttribute)(cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamSetAttribute)(cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, __pyx_t_4cuda_7ccudart_cudaStreamAttrValue const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamDestroy)(cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamWaitEvent)(cudaStream_t, cudaEvent_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamAddCallback)(cudaStream_t, cudaStreamCallback_t, void *, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamSynchronize)(cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamQuery)(cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamAttachMemAsync)(cudaStream_t, void *, size_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamBeginCapture)(cudaStream_t, enum cudaStreamCaptureMode); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadExchangeStreamCaptureMode)(enum cudaStreamCaptureMode *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamEndCapture)(cudaStream_t, cudaGraph_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamIsCapturing)(cudaStream_t, enum cudaStreamCaptureStatus *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo)(cudaStream_t, enum cudaStreamCaptureStatus *, unsigned PY_LONG_LONG *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo_v2)(cudaStream_t, enum cudaStreamCaptureStatus *, unsigned PY_LONG_LONG *, cudaGraph_t *, cudaGraphNode_t const **, size_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamUpdateCaptureDependencies)(cudaStream_t, cudaGraphNode_t *, size_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventCreate)(cudaEvent_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventCreateWithFlags)(cudaEvent_t *, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventRecord)(cudaEvent_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventRecordWithFlags)(cudaEvent_t, cudaStream_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventQuery)(cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventSynchronize)(cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventDestroy)(cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventElapsedTime)(float *, cudaEvent_t, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaImportExternalMemory)(cudaExternalMemory_t *, struct cudaExternalMemoryHandleDesc const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedBuffer)(void **, cudaExternalMemory_t, struct cudaExternalMemoryBufferDesc const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedMipmappedArray)(cudaMipmappedArray_t *, cudaExternalMemory_t, struct cudaExternalMemoryMipmappedArrayDesc const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroyExternalMemory)(cudaExternalMemory_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaImportExternalSemaphore)(cudaExternalSemaphore_t *, struct cudaExternalSemaphoreHandleDesc const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSignalExternalSemaphoresAsync)(cudaExternalSemaphore_t const *, struct cudaExternalSemaphoreSignalParams const *, unsigned int, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaWaitExternalSemaphoresAsync)(cudaExternalSemaphore_t const *, struct cudaExternalSemaphoreWaitParams const *, unsigned int, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroyExternalSemaphore)(cudaExternalSemaphore_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncSetCacheConfig)(void const *, enum cudaFuncCache); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncSetSharedMemConfig)(void const *, enum cudaSharedMemConfig); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncGetAttributes)(struct cudaFuncAttributes *, void const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncSetAttribute)(void const *, enum cudaFuncAttribute, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDoubleForDevice)(double *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDoubleForHost)(double *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaLaunchHostFunc)(cudaStream_t, cudaHostFn_t, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessor)(int *, void const *, int, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaOccupancyAvailableDynamicSMemPerBlock)(size_t *, void const *, int, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags)(int *, void const *, int, size_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocManaged)(void **, size_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMalloc)(void **, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocHost)(void **, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocPitch)(void **, size_t *, size_t, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocArray)(cudaArray_t *, struct cudaChannelFormatDesc const *, size_t, size_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFree)(void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeHost)(void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeArray)(cudaArray_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeMipmappedArray)(cudaMipmappedArray_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostAlloc)(void **, size_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostRegister)(void *, size_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostUnregister)(void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostGetDevicePointer)(void **, void *, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostGetFlags)(unsigned int *, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMalloc3D)(struct cudaPitchedPtr *, struct cudaExtent); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMalloc3DArray)(cudaArray_t *, struct cudaChannelFormatDesc const *, struct cudaExtent, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocMipmappedArray)(cudaMipmappedArray_t *, struct cudaChannelFormatDesc const *, struct cudaExtent, unsigned int, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetMipmappedArrayLevel)(cudaArray_t *, cudaMipmappedArray_const_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3D)(struct cudaMemcpy3DParms const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeer)(struct cudaMemcpy3DPeerParms const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3DAsync)(struct cudaMemcpy3DParms const *, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeerAsync)(struct cudaMemcpy3DPeerParms const *, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemGetInfo)(size_t *, size_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaArrayGetInfo)(struct cudaChannelFormatDesc *, struct cudaExtent *, unsigned int *, cudaArray_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaArrayGetPlane)(cudaArray_t *, cudaArray_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaArrayGetMemoryRequirements)(struct cudaArrayMemoryRequirements *, cudaArray_t, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetMemoryRequirements)(struct cudaArrayMemoryRequirements *, cudaMipmappedArray_t, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaArrayGetSparseProperties)(struct cudaArraySparseProperties *, cudaArray_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetSparseProperties)(struct cudaArraySparseProperties *, cudaMipmappedArray_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy)(void *, void const *, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyPeer)(void *, int, void const *, int, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2D)(void *, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArray)(cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArray)(void *, size_t, cudaArray_const_t, size_t, size_t, size_t, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DArrayToArray)(cudaArray_t, size_t, size_t, cudaArray_const_t, size_t, size_t, size_t, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyAsync)(void *, void const *, size_t, enum cudaMemcpyKind, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyPeerAsync)(void *, int, void const *, int, size_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DAsync)(void *, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArrayAsync)(cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArrayAsync)(void *, size_t, cudaArray_const_t, size_t, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset)(void *, int, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset2D)(void *, size_t, int, size_t, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset3D)(struct cudaPitchedPtr, int, struct cudaExtent); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemsetAsync)(void *, int, size_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset2DAsync)(void *, size_t, int, size_t, size_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset3DAsync)(struct cudaPitchedPtr, int, struct cudaExtent, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPrefetchAsync)(void const *, size_t, int, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemAdvise)(void const *, size_t, enum cudaMemoryAdvise, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemRangeGetAttribute)(void *, size_t, enum cudaMemRangeAttribute, void const *, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemRangeGetAttributes)(void **, size_t *, enum cudaMemRangeAttribute *, size_t, void const *, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyToArray)(cudaArray_t, size_t, size_t, void const *, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyFromArray)(void *, cudaArray_const_t, size_t, size_t, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyArrayToArray)(cudaArray_t, size_t, size_t, cudaArray_const_t, size_t, size_t, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyToArrayAsync)(cudaArray_t, size_t, size_t, void const *, size_t, enum cudaMemcpyKind, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyFromArrayAsync)(void *, cudaArray_const_t, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocAsync)(void **, size_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeAsync)(void *, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolTrimTo)(cudaMemPool_t, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolSetAttribute)(cudaMemPool_t, enum cudaMemPoolAttr, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolGetAttribute)(cudaMemPool_t, enum cudaMemPoolAttr, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolSetAccess)(cudaMemPool_t, struct cudaMemAccessDesc const *, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolGetAccess)(enum cudaMemAccessFlags *, cudaMemPool_t, struct cudaMemLocation *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolCreate)(cudaMemPool_t *, struct cudaMemPoolProps const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolDestroy)(cudaMemPool_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocFromPoolAsync)(void **, size_t, cudaMemPool_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolExportToShareableHandle)(void *, cudaMemPool_t, enum cudaMemAllocationHandleType, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolImportFromShareableHandle)(cudaMemPool_t *, void *, enum cudaMemAllocationHandleType, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolExportPointer)(struct cudaMemPoolPtrExportData *, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolImportPointer)(void **, cudaMemPool_t, struct cudaMemPoolPtrExportData *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaPointerGetAttributes)(struct cudaPointerAttributes *, void const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceCanAccessPeer)(int *, int, int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceEnablePeerAccess)(int, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceDisablePeerAccess)(int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsUnregisterResource)(cudaGraphicsResource_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsResourceSetMapFlags)(cudaGraphicsResource_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsMapResources)(int, cudaGraphicsResource_t *, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsUnmapResources)(int, cudaGraphicsResource_t *, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedPointer)(void **, size_t *, cudaGraphicsResource_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsSubResourceGetMappedArray)(cudaArray_t *, cudaGraphicsResource_t, unsigned int, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedMipmappedArray)(cudaMipmappedArray_t *, cudaGraphicsResource_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetChannelDesc)(struct cudaChannelFormatDesc *, cudaArray_const_t); /*proto*/
static struct cudaChannelFormatDesc (*__pyx_f_4cuda_7ccudart_cudaCreateChannelDesc)(int, int, int, int, enum cudaChannelFormatKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaCreateTextureObject)(cudaTextureObject_t *, struct cudaResourceDesc const *, struct cudaTextureDesc const *, struct cudaResourceViewDesc const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaCreateTextureObject_v2)(cudaTextureObject_t *, struct cudaResourceDesc const *, struct cudaTextureDesc_v2 const *, struct cudaResourceViewDesc const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroyTextureObject)(cudaTextureObject_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceDesc)(struct cudaResourceDesc *, cudaTextureObject_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc)(struct cudaTextureDesc *, cudaTextureObject_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc_v2)(struct cudaTextureDesc_v2 *, cudaTextureObject_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceViewDesc)(struct cudaResourceViewDesc *, cudaTextureObject_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaCreateSurfaceObject)(cudaSurfaceObject_t *, struct cudaResourceDesc const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroySurfaceObject)(cudaSurfaceObject_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetSurfaceObjectResourceDesc)(struct cudaResourceDesc *, cudaSurfaceObject_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDriverGetVersion)(int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaRuntimeGetVersion)(int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphCreate)(cudaGraph_t *, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddKernelNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaKernelNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetParams)(cudaGraphNode_t, struct cudaKernelNodeParams *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetParams)(cudaGraphNode_t, struct cudaKernelNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeCopyAttributes)(cudaGraphNode_t, cudaGraphNode_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetAttribute)(cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetAttribute)(cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaMemcpy3DParms const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode1D)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, void *, void const *, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeGetParams)(cudaGraphNode_t, struct cudaMemcpy3DParms *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams)(cudaGraphNode_t, struct cudaMemcpy3DParms const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams1D)(cudaGraphNode_t, void *, void const *, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemsetNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaMemsetParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeGetParams)(cudaGraphNode_t, struct cudaMemsetParams *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeSetParams)(cudaGraphNode_t, struct cudaMemsetParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddHostNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaHostNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphHostNodeGetParams)(cudaGraphNode_t, struct cudaHostNodeParams *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphHostNodeSetParams)(cudaGraphNode_t, struct cudaHostNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddChildGraphNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, cudaGraph_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphChildGraphNodeGetGraph)(cudaGraphNode_t, cudaGraph_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddEmptyNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddEventRecordNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeGetEvent)(cudaGraphNode_t, cudaEvent_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeSetEvent)(cudaGraphNode_t, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddEventWaitNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeGetEvent)(cudaGraphNode_t, cudaEvent_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeSetEvent)(cudaGraphNode_t, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresSignalNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaExternalSemaphoreSignalNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeGetParams)(cudaGraphNode_t, struct cudaExternalSemaphoreSignalNodeParams *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeSetParams)(cudaGraphNode_t, struct cudaExternalSemaphoreSignalNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresWaitNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaExternalSemaphoreWaitNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeGetParams)(cudaGraphNode_t, struct cudaExternalSemaphoreWaitNodeParams *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeSetParams)(cudaGraphNode_t, struct cudaExternalSemaphoreWaitNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemAllocNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaMemAllocNodeParams *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemAllocNodeGetParams)(cudaGraphNode_t, struct cudaMemAllocNodeParams *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemFreeNode)(cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemFreeNodeGetParams)(cudaGraphNode_t, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGraphMemTrim)(int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetGraphMemAttribute)(int, enum cudaGraphMemAttributeType, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetGraphMemAttribute)(int, enum cudaGraphMemAttributeType, void *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphClone)(cudaGraph_t *, cudaGraph_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeFindInClone)(cudaGraphNode_t *, cudaGraphNode_t, cudaGraph_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeGetType)(cudaGraphNode_t, enum cudaGraphNodeType *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphGetNodes)(cudaGraph_t, cudaGraphNode_t *, size_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphGetRootNodes)(cudaGraph_t, cudaGraphNode_t *, size_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphGetEdges)(cudaGraph_t, cudaGraphNode_t *, cudaGraphNode_t *, size_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependencies)(cudaGraphNode_t, cudaGraphNode_t *, size_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependentNodes)(cudaGraphNode_t, cudaGraphNode_t *, size_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddDependencies)(cudaGraph_t, cudaGraphNode_t const *, cudaGraphNode_t const *, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphRemoveDependencies)(cudaGraph_t, cudaGraphNode_t const *, cudaGraphNode_t const *, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphDestroyNode)(cudaGraphNode_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphInstantiate)(cudaGraphExec_t *, cudaGraph_t, cudaGraphNode_t *, char *, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphInstantiateWithFlags)(cudaGraphExec_t *, cudaGraph_t, unsigned PY_LONG_LONG); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecKernelNodeSetParams)(cudaGraphExec_t, cudaGraphNode_t, struct cudaKernelNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams)(cudaGraphExec_t, cudaGraphNode_t, struct cudaMemcpy3DParms const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams1D)(cudaGraphExec_t, cudaGraphNode_t, void *, void const *, size_t, enum cudaMemcpyKind); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecMemsetNodeSetParams)(cudaGraphExec_t, cudaGraphNode_t, struct cudaMemsetParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecHostNodeSetParams)(cudaGraphExec_t, cudaGraphNode_t, struct cudaHostNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecChildGraphNodeSetParams)(cudaGraphExec_t, cudaGraphNode_t, cudaGraph_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecEventRecordNodeSetEvent)(cudaGraphExec_t, cudaGraphNode_t, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecEventWaitNodeSetEvent)(cudaGraphExec_t, cudaGraphNode_t, cudaEvent_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresSignalNodeSetParams)(cudaGraphExec_t, cudaGraphNode_t, struct cudaExternalSemaphoreSignalNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresWaitNodeSetParams)(cudaGraphExec_t, cudaGraphNode_t, struct cudaExternalSemaphoreWaitNodeParams const *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeSetEnabled)(cudaGraphExec_t, cudaGraphNode_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeGetEnabled)(cudaGraphExec_t, cudaGraphNode_t, unsigned int *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecUpdate)(cudaGraphExec_t, cudaGraph_t, cudaGraphNode_t *, enum cudaGraphExecUpdateResult *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphUpload)(cudaGraphExec_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphLaunch)(cudaGraphExec_t, cudaStream_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecDestroy)(cudaGraphExec_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphDestroy)(cudaGraph_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphDebugDotPrint)(cudaGraph_t, char const *, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaUserObjectCreate)(cudaUserObject_t *, void *, cudaHostFn_t, unsigned int, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaUserObjectRetain)(cudaUserObject_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaUserObjectRelease)(cudaUserObject_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphRetainUserObject)(cudaGraph_t, cudaUserObject_t, unsigned int, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphReleaseUserObject)(cudaGraph_t, cudaUserObject_t, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDriverEntryPoint)(char const *, void **, unsigned PY_LONG_LONG); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetExportTable)(void const **, cudaUUID_t const *); /*proto*/
static struct cudaPitchedPtr (*__pyx_f_4cuda_7ccudart_make_cudaPitchedPtr)(void *, size_t, size_t, size_t); /*proto*/
static struct cudaPos (*__pyx_f_4cuda_7ccudart_make_cudaPos)(size_t, size_t, size_t); /*proto*/
static struct cudaExtent (*__pyx_f_4cuda_7ccudart_make_cudaExtent)(size_t, size_t, size_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaProfilerInitialize)(char const *, char const *, cudaOutputMode_t); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaProfilerStart)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaProfilerStop)(void); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsEGLRegisterImage)(cudaGraphicsResource_t *, __pyx_t_4cuda_7ccudart_EGLImageKHR, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerConnect)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_EGLStreamKHR); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerConnectWithFlags)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_EGLStreamKHR, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerDisconnect)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerAcquireFrame)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, cudaGraphicsResource_t *, cudaStream_t *, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerReleaseFrame)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, cudaGraphicsResource_t, cudaStream_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerConnect)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_EGLStreamKHR, __pyx_t_4cuda_7ccudart_EGLint, __pyx_t_4cuda_7ccudart_EGLint); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerDisconnect)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerPresentFrame)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_cudaEglFrame, cudaStream_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerReturnFrame)(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_cudaEglFrame *, cudaStream_t *); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedEglFrame)(__pyx_t_4cuda_7ccudart_cudaEglFrame *, cudaGraphicsResource_t, unsigned int, unsigned int); /*proto*/
static cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventCreateFromEGLSync)(cudaEvent_t *, __pyx_t_4cuda_7ccudart_EGLSyncKHR, unsigned int); /*proto*/

/* Module declarations from 'cuda.ccuda' */

/* Module declarations from 'cuda.cuda' */
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUcontext = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmodule = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUfunction = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarray = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmipmappedArray = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtexref = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUsurfref = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUevent = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstream = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphicsResource = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexternalMemory = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexternalSemaphore = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraph = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphExec = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemoryPool = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUuserObject = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlinkState = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLImageKHR = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLStreamKHR = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLSyncKHR = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglStreamConnection = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUhostFn = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamCallback = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUuuid_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevprop_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemLocation_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglFrame_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUuuid = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcEventHandle = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcMemHandle = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevprop_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevprop = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttribute = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchConfig = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamAttrValue = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinityParam = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarrayMapInfo = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemLocation_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemLocation = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAllocationProp = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAccessDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolProps = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglFrame_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglFrame = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_cuuint32_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_cuuint64_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdeviceptr = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevice_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevice = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtexObject_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtexObject = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUsurfObject_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUsurfObject = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1 = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_GLenum = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_GLuint = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLint = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpDevice = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpGetProcAddress = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpVideoSurface = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpOutputSurface = 0;

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

/* Module declarations from 'cuda._lib.utils' */
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr = 0;
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute = 0;
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute = 0;
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute = 0;
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute = 0;
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option = 0;
static PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper = 0;

/* Module declarations from 'cython' */

/* Module declarations from 'libc.string' */

/* Module declarations from 'libc.stdlib' */

/* 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' */
static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;

/* Module declarations from 'cpython' */

/* Module declarations from 'cpython.object' */

/* Module declarations from 'cpython.bytes' */

/* Module declarations from 'cuda.cudart' */
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaArray_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaArray_const_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_EGLImageKHR = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_EGLStreamKHR = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_EGLSyncKHR = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaHostFn_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaStreamCallback_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_dim3 = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaArrayMemoryRequirements = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaPitchedPtr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExtent = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaPos = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemsetParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaHostNodeParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_array_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_linear_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaResourceDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaResourceViewDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaPointerAttributes = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaFuncAttributes = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemLocation = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemAccessDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemPoolProps = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_CUuuid_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaDeviceProp = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalMemoryHandleDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalMemoryBufferDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreHandleDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaKernelNodeParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaLaunchAttribute_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaTextureDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaTextureDesc_v2 = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaEglFrame_st = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_CUuuid = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaUUID_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaLaunchAttribute = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaStreamAttrValue = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaEglFrame = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaStream_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaEvent_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaGraph_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaGraphNode_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaUserObject_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaFunction_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaMemPool_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaGraphExec_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaEglStreamConnection = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_GLenum = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_GLuint = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_EGLint = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_VdpDevice = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_VdpGetProcAddress = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_VdpVideoSurface = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_VdpOutputSurface = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaTextureObject_t = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_1_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_3_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_4_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_6_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_7_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_9_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_10_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_12_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_14_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_16_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_18_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_20_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_22_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_24_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_26_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_28_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_30_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_32_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_34_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_36_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_38_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_40_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_41_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_43_genexpr = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart___pyx_scope_struct_44_genexpr = 0;
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 int __Pyx_carray_from_py_char(PyObject *, char *, 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_enum__cudaTextureAddressMode(enum cudaTextureAddressMode *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_enum__cudaTextureAddressMode(enum cudaTextureAddressMode *, Py_ssize_t); /*proto*/
static int __Pyx_carray_from_py_enum__cudaTextureAddressMode(PyObject *, enum cudaTextureAddressMode *, 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 std::vector<size_t>  __pyx_convert_vector_from_py_size_t(PyObject *); /*proto*/
static std::vector<enum cudaMemRangeAttribute>  __pyx_convert_vector_from_py_enum__cudaMemRangeAttribute(PyObject *); /*proto*/
#define __Pyx_MODULE_NAME "cuda.cudart"
extern int __pyx_module_is_main_cuda__cudart;
int __pyx_module_is_main_cuda__cudart = 0;

/* Implementation of 'cuda.cudart' */
static PyObject *__pyx_builtin_hex;
static PyObject *__pyx_builtin_TypeError;
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;
static const char __pyx_k_[] = ">";
static const char __pyx_k_d[] = "d";
static const char __pyx_k_f[] = "f : ";
static const char __pyx_k_h[] = "h";
static const char __pyx_k_p[] = "p";
static const char __pyx_k_w[] = "w : ";
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_cd[] = "cd";
static const char __pyx_k_cf[] = "cf";
static const char __pyx_k_fd[] = "fd : ";
static const char __pyx_k_fn[] = "fn : ";
static const char __pyx_k_id[] = "id : ";
static const char __pyx_k_ms[] = "ms";
static const char __pyx_k_to[] = "to";
static const char __pyx_k_Any[] = "Any";
static const char __pyx_k__63[] = "\n";
static const char __pyx_k__64[] = "";
static const char __pyx_k__80[] = "    ";
static const char __pyx_k__81[] = "_";
static const char __pyx_k_cfn[] = "cfn";
static const char __pyx_k_cto[] = "cto";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_dst[] = "dst : ";
static const char __pyx_k_end[] = "end";
static const char __pyx_k_err[] = "err";
static const char __pyx_k_f_2[] = "f";
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_obj[] = "obj";
static const char __pyx_k_pId[] = "pId";
static const char __pyx_k_pad[] = "pad : ";
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 :\n";
static const char __pyx_k_w_2[] = "w";
static const char __pyx_k_x_2[] = "x";
static const char __pyx_k_xsz[] = "xsz";
static const char __pyx_k_y_2[] = "y";
static const char __pyx_k_ysz[] = "ysz";
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__435[] = " ";
static const char __pyx_k__486[] = " < ";
static const char __pyx_k__713[] = "\n\n    ";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_attr[] = "attr";
static const char __pyx_k_cdst[] = "cdst";
static const char __pyx_k_cend[] = "cend";
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_cuda[] = "cuda";
static const char __pyx_k_desc[] = "desc :\n";
static const char __pyx_k_dim3[] = "dim3";
static const char __pyx_k_dptr[] = "dptr : ";
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_free[] = "free";
static const char __pyx_k_from[] = "from_";
static const char __pyx_k_func[] = "func : ";
static const char __pyx_k_hDst[] = "hDst";
static const char __pyx_k_hSrc[] = "hSrc";
static const char __pyx_k_id_2[] = "id";
static const char __pyx_k_kind[] = "kind : ";
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_node[] = "node";
static const char __pyx_k_path[] = "path";
static const char __pyx_k_pdst[] = "pdst";
static const char __pyx_k_pend[] = "pend";
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_sRGB[] = "sRGB : ";
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_test[] = "__test__";
static const char __pyx_k_type[] = "type : ";
static const char __pyx_k_uuid[] = "uuid :\n";
static const char __pyx_k_Tuple[] = "Tuple";
static const char __pyx_k_array[] = "array : ";
static const char __pyx_k_bytes[] = "bytes : ";
static const char __pyx_k_cattr[] = "cattr";
static const char __pyx_k_cconn[] = "cconn";
static const char __pyx_k_cdata[] = "cdata";
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_chDst[] = "chDst";
static const char __pyx_k_chSrc[] = "chSrc";
static const char __pyx_k_ckind[] = "ckind";
static const char __pyx_k_close[] = "close";
static const char __pyx_k_cmode[] = "cmode";
static const char __pyx_k_cnode[] = "cnode";
static const char __pyx_k_count[] = "count";
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_frame[] = "frame :\n";
static const char __pyx_k_graph[] = "graph";
static const char __pyx_k_hNode[] = "hNode";
static const char __pyx_k_image[] = "image";
static const char __pyx_k_index[] = "index";
static const char __pyx_k_key_2[] = "key";
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_minor[] = "minor : ";
static const char __pyx_k_pHost[] = "pHost";
static const char __pyx_k_pNode[] = "pNode";
static const char __pyx_k_pType[] = "pType";
static const char __pyx_k_pad_2[] = "pad";
static const char __pyx_k_pconn[] = "pconn";
static const char __pyx_k_phDst[] = "phDst";
static const char __pyx_k_phSrc[] = "phSrc";
static const char __pyx_k_pitch[] = "pitch : ";
static const char __pyx_k_pnode[] = "pnode";
static const char __pyx_k_ptr_2[] = "ptr : ";
static const char __pyx_k_ptr_3[] = "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_start[] = "start";
static const char __pyx_k_throw[] = "throw";
static const char __pyx_k_total[] = "total";
static const char __pyx_k_utf_8[] = "utf-8";
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_xsize[] = "xsize : ";
static const char __pyx_k_ysize[] = "ysize : ";
static const char __pyx_k_CUuuid[] = "CUuuid";
static const char __pyx_k_EGLint[] = "<EGLint ";
static const char __pyx_k_GLenum[] = "<GLenum ";
static const char __pyx_k_GLuint[] = "<GLuint ";
static const char __pyx_k_advice[] = "advice";
static const char __pyx_k_buffer[] = "buffer";
static const char __pyx_k_carray[] = "carray";
static const char __pyx_k_cd_ptr[] = "cd_ptr";
static const char __pyx_k_cerror[] = "cerror";
static const char __pyx_k_cevent[] = "cevent";
static const char __pyx_k_cgraph[] = "cgraph";
static const char __pyx_k_chNode[] = "chNode";
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_cpHost[] = "cpHost";
static const char __pyx_k_cp_ptr[] = "cp_ptr";
static const char __pyx_k_cscope[] = "cscope";
static const char __pyx_k_cstart[] = "cstart";
static const char __pyx_k_ctypes[] = "ctypes";
static const char __pyx_k_cvalue[] = "cvalue";
static const char __pyx_k_cwidth[] = "cwidth";
static const char __pyx_k_decode[] = "decode";
static const char __pyx_k_desc_2[] = "desc";
static const char __pyx_k_devPtr[] = "devPtr : ";
static const char __pyx_k_device[] = "device : ";
static const char __pyx_k_dpitch[] = "dpitch";
static const char __pyx_k_dptr_2[] = "dptr";
static const char __pyx_k_dstPos[] = "dstPos :\n";
static const char __pyx_k_dstPtr[] = "dstPtr :\n";
static const char __pyx_k_extMem[] = "extMem";
static const char __pyx_k_extSem[] = "extSem";
static const char __pyx_k_extent[] = "extent :\n";
static const char __pyx_k_format[] = "format : ";
static const char __pyx_k_func_2[] = "func";
static const char __pyx_k_getPtr[] = "getPtr";
static const char __pyx_k_hArray[] = "hArray";
static const char __pyx_k_hGraph[] = "hGraph";
static const char __pyx_k_handle[] = "handle : ";
static const char __pyx_k_height[] = "height : ";
static const char __pyx_k_id_out[] = "id_out";
static const char __pyx_k_import[] = "__import__";
static const char __pyx_k_kind_2[] = "kind";
static const char __pyx_k_length[] = "length";
static const char __pyx_k_linear[] = "linear :\n";
static const char __pyx_k_luid_2[] = "luid";
static const char __pyx_k_mipmap[] = "mipmap : ";
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_pArray[] = "pArray : ";
static const char __pyx_k_pFlags[] = "pFlags";
static const char __pyx_k_pGraph[] = "pGraph";
static const char __pyx_k_pPitch[] = "pPitch :\n";
static const char __pyx_k_pValue[] = "pValue";
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_pgraph[] = "pgraph";
static const char __pyx_k_phNode[] = "phNode";
static const char __pyx_k_pimage[] = "pimage";
static const char __pyx_k_pstart[] = "pstart";
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_reduce[] = "__reduce__";
static const char __pyx_k_sRGB_2[] = "sRGB";
static const char __pyx_k_size_2[] = "size";
static const char __pyx_k_sizeof[] = "sizeof";
static const char __pyx_k_spitch[] = "spitch";
static const char __pyx_k_srcPos[] = "srcPos :\n";
static const char __pyx_k_srcPtr[] = "srcPtr :\n";
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_uuid_2[] = "uuid";
static const char __pyx_k_IntEnum[] = "IntEnum";
static const char __pyx_k_array_2[] = "array";
static const char __pyx_k_array_3[] = "array :\n";
static const char __pyx_k_bytes_2[] = "bytes";
static const char __pyx_k_cadvice[] = "cadvice";
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_cextMem[] = "cextMem";
static const char __pyx_k_cextSem[] = "cextSem";
static const char __pyx_k_chArray[] = "chArray";
static const char __pyx_k_chGraph[] = "chGraph";
static const char __pyx_k_cheight[] = "cheight";
static const char __pyx_k_cmipmap[] = "cmipmap";
static const char __pyx_k_cobject[] = "cobject";
static const char __pyx_k_cstream[] = "cstream";
static const char __pyx_k_ctarget[] = "ctarget";
static const char __pyx_k_cudaCSV[] = "cudaCSV";
static const char __pyx_k_cudaPos[] = "cudaPos";
static const char __pyx_k_depth_2[] = "depth";
static const char __pyx_k_destroy[] = "destroy";
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_fmtDesc[] = "fmtDesc";
static const char __pyx_k_frame_2[] = "frame";
static const char __pyx_k_funcPtr[] = "funcPtr";
static const char __pyx_k_genexpr[] = "genexpr";
static const char __pyx_k_gridDim[] = "gridDim :\n";
static const char __pyx_k_hOffset[] = "hOffset";
static const char __pyx_k_hStream[] = "hStream";
static const char __pyx_k_hitProp[] = "hitProp : ";
static const char __pyx_k_major_2[] = "major";
static const char __pyx_k_memPool[] = "memPool";
static const char __pyx_k_minor_2[] = "minor";
static const char __pyx_k_numRegs[] = "numRegs : ";
static const char __pyx_k_objType[] = "objType";
static const char __pyx_k_pConfig[] = "pConfig";
static const char __pyx_k_pDevice[] = "pDevice";
static const char __pyx_k_pStream[] = "pStream";
static const char __pyx_k_pbuffer[] = "pbuffer";
static const char __pyx_k_pextMem[] = "pextMem";
static const char __pyx_k_pextSem[] = "pextSem";
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_pheight[] = "pheight";
static const char __pyx_k_pitch2D[] = "pitch2D :\n";
static const char __pyx_k_pitch_2[] = "pitch";
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_pynodes[] = "pynodes";
static const char __pyx_k_resType[] = "resType : ";
static const char __pyx_k_timeout[] = "timeout";
static const char __pyx_k_value_2[] = "value : ";
static const char __pyx_k_wOffset[] = "wOffset";
static const char __pyx_k_width_2[] = "width";
static const char __pyx_k_win32_2[] = "win32";
static const char __pyx_k_wrapper[] = "wrapper";
static const char __pyx_k_xsize_2[] = "xsize";
static const char __pyx_k_ysize_2[] = "ysize";
static const char __pyx_k_EGLint_2[] = "EGLint";
static const char __pyx_k_GLenum_2[] = "GLenum";
static const char __pyx_k_GLuint_2[] = "GLuint";
static const char __pyx_k_base_ptr[] = "base_ptr : ";
static const char __pyx_k_blockDim[] = "blockDim :\n";
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_cdst_ptr[] = "cdst_ptr";
static const char __pyx_k_ceglSync[] = "ceglSync";
static const char __pyx_k_chStream[] = "chStream";
static const char __pyx_k_cmemPool[] = "cmemPool";
static const char __pyx_k_cpStream[] = "cpStream";
static const char __pyx_k_cptr_ptr[] = "cptr_ptr";
static const char __pyx_k_csrc_ptr[] = "csrc_ptr";
static const char __pyx_k_cudaFree[] = "cudaFree";
static const char __pyx_k_dataSize[] = "dataSize";
static const char __pyx_k_descList[] = "descList";
static const char __pyx_k_devPtr_2[] = "devPtr";
static const char __pyx_k_device_2[] = "device";
static const char __pyx_k_dptr_out[] = "dptr_out";
static const char __pyx_k_dstArray[] = "dstArray : ";
static const char __pyx_k_dstPos_2[] = "dstPos";
static const char __pyx_k_dstPtr_2[] = "dstPtr";
static const char __pyx_k_eglFrame[] = "eglFrame";
static const char __pyx_k_eglframe[] = "eglframe";
static const char __pyx_k_extent_2[] = "extent";
static const char __pyx_k_format_2[] = "format";
static const char __pyx_k_getstate[] = "__getstate__";
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_linear_2[] = "linear";
static const char __pyx_k_location[] = "location :\n";
static const char __pyx_k_memPitch[] = "memPitch : ";
static const char __pyx_k_mipLevel[] = "mipLevel";
static const char __pyx_k_mipmap_2[] = "mipmap";
static const char __pyx_k_mipmap_3[] = "mipmap :\n";
static const char __pyx_k_missProp[] = "missProp : ";
static const char __pyx_k_numEdges[] = "numEdges";
static const char __pyx_k_numNodes[] = "numNodes";
static const char __pyx_k_offset_2[] = "offset";
static const char __pyx_k_pArray_2[] = "pArray";
static const char __pyx_k_pPitch_2[] = "pPitch";
static const char __pyx_k_pResDesc[] = "pResDesc";
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_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_planeIdx[] = "planeIdx";
static const char __pyx_k_pmemPool[] = "pmemPool";
static const char __pyx_k_ppStream[] = "ppStream";
static const char __pyx_k_priority[] = "priority : ";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_readMode[] = "readMode : ";
static const char __pyx_k_reserved[] = "reserved : ";
static const char __pyx_k_resource[] = "resource";
static const char __pyx_k_setstate[] = "__setstate__";
static const char __pyx_k_srcArray[] = "srcArray : ";
static const char __pyx_k_srcPos_2[] = "srcPos";
static const char __pyx_k_srcPtr_2[] = "srcPtr";
static const char __pyx_k_userData[] = "userData : ";
static const char __pyx_k_warpSize[] = "warpSize : ";
static const char __pyx_k_CUDA_C_4I[] = "CUDA_C_4I";
static const char __pyx_k_CUDA_C_4U[] = "CUDA_C_4U";
static const char __pyx_k_CUDA_C_8I[] = "CUDA_C_8I";
static const char __pyx_k_CUDA_C_8U[] = "CUDA_C_8U";
static const char __pyx_k_CUDA_R_4I[] = "CUDA_R_4I";
static const char __pyx_k_CUDA_R_4U[] = "CUDA_R_4U";
static const char __pyx_k_CUDA_R_8I[] = "CUDA_R_8I";
static const char __pyx_k_CUDA_R_8U[] = "CUDA_R_8U";
static const char __pyx_k_CUuuid_st[] = "CUuuid_st";
static const char __pyx_k_TypeError[] = "TypeError";
static const char __pyx_k_VdpDevice[] = "<VdpDevice ";
static const char __pyx_k_alignment[] = "alignment : ";
static const char __pyx_k_allocType[] = "allocType : ";
static const char __pyx_k_attribute[] = "attribute";
static const char __pyx_k_blockSize[] = "blockSize";
static const char __pyx_k_ccallback[] = "ccallback";
static const char __pyx_k_cdata_ptr[] = "cdata_ptr";
static const char __pyx_k_cdescList[] = "cdescList";
static const char __pyx_k_cdesc_ptr[] = "cdesc_ptr";
static const char __pyx_k_cdptr_ptr[] = "cdptr_ptr";
static const char __pyx_k_cfunc_ptr[] = "cfunc_ptr";
static const char __pyx_k_clockRate[] = "clockRate : ";
static const char __pyx_k_cprop_ptr[] = "cprop_ptr";
static const char __pyx_k_cresource[] = "cresource";
static const char __pyx_k_cudaLimit[] = "cudaLimit";
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_dstDevice[] = "dstDevice : ";
static const char __pyx_k_eglStream[] = "eglStream";
static const char __pyx_k_enumerate[] = "enumerate";
static const char __pyx_k_event_out[] = "event_out";
static const char __pyx_k_frameType[] = "frameType : ";
static const char __pyx_k_graphExec[] = "graphExec";
static const char __pyx_k_graph_out[] = "graph_out";
static const char __pyx_k_gridDim_2[] = "gridDim";
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_lastLayer[] = "lastLayer : ";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_numBlocks[] = "numBlocks";
static const char __pyx_k_numLevels[] = "numLevels : ";
static const char __pyx_k_numRegs_2[] = "numRegs";
static const char __pyx_k_num_bytes[] = "num_bytes : ";
static const char __pyx_k_nvSciSync[] = "nvSciSync :\n";
static const char __pyx_k_pcallback[] = "pcallback";
static const char __pyx_k_pitch2D_2[] = "pitch2D";
static const char __pyx_k_planeDesc[] = "planeDesc :\n";
static const char __pyx_k_poolProps[] = "poolProps :\n";
static const char __pyx_k_presource[] = "presource";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
static const char __pyx_k_resType_2[] = "resType";
static const char __pyx_k_resources[] = "resources";
static const char __pyx_k_srcDevice[] = "srcDevice : ";
static const char __pyx_k_tccDriver[] = "tccDriver : ";
static const char __pyx_k_texObject[] = "texObject";
static const char __pyx_k_timeoutMs[] = "timeoutMs : ";
static const char __pyx_k_value_out[] = "value_out";
static const char __pyx_k_vdpDevice[] = "vdpDevice";
static const char __pyx_k_CUDA_C_16F[] = "CUDA_C_16F";
static const char __pyx_k_CUDA_C_16I[] = "CUDA_C_16I";
static const char __pyx_k_CUDA_C_16U[] = "CUDA_C_16U";
static const char __pyx_k_CUDA_C_32F[] = "CUDA_C_32F";
static const char __pyx_k_CUDA_C_32I[] = "CUDA_C_32I";
static const char __pyx_k_CUDA_C_32U[] = "CUDA_C_32U";
static const char __pyx_k_CUDA_C_64F[] = "CUDA_C_64F";
static const char __pyx_k_CUDA_C_64I[] = "CUDA_C_64I";
static const char __pyx_k_CUDA_C_64U[] = "CUDA_C_64U";
static const char __pyx_k_CUDA_R_16F[] = "CUDA_R_16F";
static const char __pyx_k_CUDA_R_16I[] = "CUDA_R_16I";
static const char __pyx_k_CUDA_R_16U[] = "CUDA_R_16U";
static const char __pyx_k_CUDA_R_32F[] = "CUDA_R_32F";
static const char __pyx_k_CUDA_R_32I[] = "CUDA_R_32I";
static const char __pyx_k_CUDA_R_32U[] = "CUDA_R_32U";
static const char __pyx_k_CUDA_R_64F[] = "CUDA_R_64F";
static const char __pyx_k_CUDA_R_64I[] = "CUDA_R_64I";
static const char __pyx_k_CUDA_R_64U[] = "CUDA_R_64U";
static const char __pyx_k_ECCEnabled[] = "ECCEnabled : ";
static const char __pyx_k_EGLSyncKHR[] = "<EGLSyncKHR ";
static const char __pyx_k_IndexError[] = "IndexError";
static const char __pyx_k_ValueError[] = "ValueError";
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_blockDim_2[] = "blockDim";
static const char __pyx_k_bufferDesc[] = "bufferDesc";
static const char __pyx_k_bufferSize[] = "bufferSize";
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_ceglStream[] = "ceglStream";
static const char __pyx_k_cgraphExec[] = "cgraphExec";
static const char __pyx_k_childGraph[] = "childGraph";
static const char __pyx_k_clusterDim[] = "clusterDim :\n";
static const char __pyx_k_configFile[] = "configFile";
static const char __pyx_k_cpHost_ptr[] = "cpHost_ptr";
static const char __pyx_k_cresources[] = "cresources";
static const char __pyx_k_ctexObject[] = "ctexObject";
static const char __pyx_k_cudaExtent[] = "cudaExtent";
static const char __pyx_k_cudaMalloc[] = "cudaMalloc";
static const char __pyx_k_cudaMemcpy[] = "cudaMemcpy";
static const char __pyx_k_cudaMemset[] = "cudaMemset";
static const char __pyx_k_cudaUUID_t[] = "cudaUUID_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_exportData[] = "exportData";
static const char __pyx_k_extMem_out[] = "extMem_out";
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_formatDesc[] = "formatDesc :\n";
static const char __pyx_k_hGraphExec[] = "hGraphExec";
static const char __pyx_k_hOffsetDst[] = "hOffsetDst";
static const char __pyx_k_hOffsetSrc[] = "hOffsetSrc";
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_integrated[] = "integrated : ";
static const char __pyx_k_keyedMutex[] = "keyedMutex :\n";
static const char __pyx_k_levelArray[] = "levelArray";
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_numExtSems[] = "numExtSems : ";
static const char __pyx_k_object_out[] = "object_out";
static const char __pyx_k_outputFile[] = "outputFile";
static const char __pyx_k_outputMode[] = "outputMode";
static const char __pyx_k_pErrorNode[] = "pErrorNode";
static const char __pyx_k_pGraphExec[] = "pGraphExec";
static const char __pyx_k_pGraphNode[] = "pGraphNode";
static const char __pyx_k_pLogBuffer[] = "pLogBuffer";
static const char __pyx_k_pTexObject[] = "pTexObject";
static const char __pyx_k_params_out[] = "params_out";
static const char __pyx_k_pciBusID_2[] = "pciBusID";
static const char __pyx_k_peerDevice[] = "peerDevice";
static const char __pyx_k_peglStream[] = "peglStream";
static const char __pyx_k_pgraphExec[] = "pgraphExec";
static const char __pyx_k_planeCount[] = "planeCount : ";
static const char __pyx_k_presources[] = "presources";
static const char __pyx_k_priority_2[] = "priority";
static const char __pyx_k_ptexObject[] = "ptexObject";
static const char __pyx_k_ptxVersion[] = "ptxVersion : ";
static const char __pyx_k_pvdpDevice[] = "pvdpDevice";
static const char __pyx_k_pypciBusId[] = "pypciBusId";
static const char __pyx_k_readMode_2[] = "readMode";
static const char __pyx_k_reserved_2[] = "reserved";
static const char __pyx_k_srcArray_2[] = "srcArray";
static const char __pyx_k_startswith[] = "startswith";
static const char __pyx_k_surfObject[] = "surfObject";
static const char __pyx_k_syncPolicy[] = "syncPolicy : ";
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_wOffsetDst[] = "wOffsetDst";
static const char __pyx_k_wOffsetSrc[] = "wOffsetSrc";
static const char __pyx_k_warpSize_2[] = "warpSize";
static const char __pyx_k_CUDA_C_16BF[] = "CUDA_C_16BF";
static const char __pyx_k_CUDA_Limits[] = "\n    CUDA Limits\n    ";
static const char __pyx_k_CUDA_R_16BF[] = "CUDA_R_16BF";
static const char __pyx_k_EGLImageKHR[] = "<EGLImageKHR ";
static const char __pyx_k_MemoryError[] = "MemoryError";
static const char __pyx_k_PATCH_LEVEL[] = "PATCH_LEVEL";
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_borderColor[] = "borderColor : ";
static const char __pyx_k_cacheConfig[] = "cacheConfig";
static const char __pyx_k_cacheModeCA[] = "cacheModeCA : ";
static const char __pyx_k_cattributes[] = "cattributes";
static const char __pyx_k_cchildGraph[] = "cchildGraph";
static const char __pyx_k_cdevPtr_ptr[] = "cdevPtr_ptr";
static const char __pyx_k_cdeviceList[] = "cdeviceList";
static const char __pyx_k_chGraphExec[] = "chGraphExec";
static const char __pyx_k_chandleType[] = "chandleType";
static const char __pyx_k_channelDesc[] = "channelDesc :\n";
static const char __pyx_k_clockRate_2[] = "clockRate";
static const char __pyx_k_clonedGraph[] = "clonedGraph";
static const char __pyx_k_computeMode[] = "computeMode : ";
static const char __pyx_k_cooperative[] = "cooperative : ";
static const char __pyx_k_coutputMode[] = "coutputMode";
static const char __pyx_k_cpRootNodes[] = "cpRootNodes";
static const char __pyx_k_csurfObject[] = "csurfObject";
static const char __pyx_k_cudaArray_t[] = "<cudaArray_t ";
static const char __pyx_k_cudaCGScope[] = "cudaCGScope";
static const char __pyx_k_cudaError_t[] = "cudaError_t";
static const char __pyx_k_cudaEvent_t[] = "cudaEvent_t";
static const char __pyx_k_cudaGraph_t[] = "cudaGraph_t";
static const char __pyx_k_cudaSuccess[] = "cudaSuccess";
static const char __pyx_k_cuda_cudart[] = "cuda.cudart";
static const char __pyx_k_cvdpSurface[] = "cvdpSurface";
static const char __pyx_k_dim3_getPtr[] = "dim3.getPtr";
static const char __pyx_k_dstDevice_2[] = "dstDevice";
static const char __pyx_k_elementSize[] = "elementSize : ";
static const char __pyx_k_extSemArray[] = "extSemArray : ";
static const char __pyx_k_frameType_2[] = "frameType";
static const char __pyx_k_handleTypes[] = "handleTypes : ";
static const char __pyx_k_hostPointer[] = "hostPointer : ";
static const char __pyx_k_l2CacheSize[] = "l2CacheSize : ";
static const char __pyx_k_lastLayer_2[] = "lastLayer";
static const char __pyx_k_maxGridSize[] = "maxGridSize : ";
static const char __pyx_k_miptailSize[] = "miptailSize : ";
static const char __pyx_k_numChannels[] = "numChannels : ";
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_pCopyParams[] = "pCopyParams";
static const char __pyx_k_pGraphClone[] = "pGraphClone";
static const char __pyx_k_pNodeParams[] = "pNodeParams";
static const char __pyx_k_pPlaneArray[] = "pPlaneArray";
static const char __pyx_k_pSurfObject[] = "pSurfObject";
static const char __pyx_k_paramsArray[] = "paramsArray : ";
static const char __pyx_k_pchildGraph[] = "pchildGraph";
static const char __pyx_k_pciDeviceID[] = "pciDeviceID : ";
static const char __pyx_k_pciDomainID[] = "pciDomainID : ";
static const char __pyx_k_phGraphExec[] = "phGraphExec";
static const char __pyx_k_planeDesc_2[] = "planeDesc";
static const char __pyx_k_poolProps_2[] = "poolProps";
static const char __pyx_k_psurfObject[] = "psurfObject";
static const char __pyx_k_pvdpSurface[] = "pvdpSurface";
static const char __pyx_k_pydataSizes[] = "pydataSizes";
static const char __pyx_k_sizeInBytes[] = "sizeInBytes : ";
static const char __pyx_k_srcDevice_2[] = "srcDevice";
static const char __pyx_k_tccDriver_2[] = "tccDriver";
static const char __pyx_k_timeoutMs_2[] = "timeoutMs";
static const char __pyx_k_ECCEnabled_2[] = "ECCEnabled";
static const char __pyx_k_EGLStreamKHR[] = "<EGLStreamKHR ";
static const char __pyx_k_EGLSyncKHR_2[] = "EGLSyncKHR";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_Unknown_type[] = "Unknown type: ";
static const char __pyx_k_ccacheConfig[] = "ccacheConfig";
static const char __pyx_k_cclonedGraph[] = "cclonedGraph";
static const char __pyx_k_cextSemArray[] = "cextSemArray";
static const char __pyx_k_cfmtDesc_ptr[] = "cfmtDesc_ptr";
static const char __pyx_k_clusterDim_2[] = "clusterDim";
static const char __pyx_k_cparamsArray[] = "cparamsArray";
static const char __pyx_k_cudaDataType[] = "cudaDataType";
static const char __pyx_k_cudaEglFrame[] = "cudaEglFrame";
static const char __pyx_k_cudaFreeHost[] = "cudaFreeHost";
static const char __pyx_k_cudaHostFn_t[] = "<cudaHostFn_t ";
static const char __pyx_k_cudaMalloc3D[] = "cudaMalloc3D";
static const char __pyx_k_cudaMemcpy2D[] = "cudaMemcpy2D";
static const char __pyx_k_cudaMemcpy3D[] = "cudaMemcpy3D";
static const char __pyx_k_cudaMemset2D[] = "cudaMemset2D";
static const char __pyx_k_cudaMemset3D[] = "cudaMemset3D";
static const char __pyx_k_cudaStream_t[] = "cudaStream_t";
static const char __pyx_k_dependencies[] = "dependencies";
static const char __pyx_k_filterMode_2[] = "filterMode";
static const char __pyx_k_firstLayer_2[] = "firstLayer";
static const char __pyx_k_formatDesc_2[] = "formatDesc";
static const char __pyx_k_graph_length[] = "_graph_length";
static const char __pyx_k_integrated_2[] = "integrated";
static const char __pyx_k_kernelParams[] = "kernelParams : ";
static const char __pyx_k_keyedMutex_2[] = "keyedMutex";
static const char __pyx_k_make_cudaPos[] = "make_cudaPos";
static const char __pyx_k_maxSurface1D[] = "maxSurface1D : ";
static const char __pyx_k_maxSurface2D[] = "maxSurface2D : ";
static const char __pyx_k_maxSurface3D[] = "maxSurface3D : ";
static const char __pyx_k_maxTexture1D[] = "maxTexture1D : ";
static const char __pyx_k_maxTexture2D[] = "maxTexture2D : ";
static const char __pyx_k_maxTexture3D[] = "maxTexture3D : ";
static const char __pyx_k_numExtSems_2[] = "numExtSems";
static const char __pyx_k_nvSciSyncObj[] = "nvSciSyncObj : ";
static const char __pyx_k_originalNode[] = "originalNode";
static const char __pyx_k_pCacheConfig[] = "pCacheConfig";
static const char __pyx_k_pResViewDesc[] = "pResViewDesc";
static const char __pyx_k_pclonedGraph[] = "pclonedGraph";
static const char __pyx_k_pitchInBytes[] = "pitchInBytes : ";
static const char __pyx_k_planeCount_2[] = "planeCount";
static const char __pyx_k_ptxVersion_2[] = "ptxVersion";
static const char __pyx_k_pyattributes[] = "pyattributes";
static const char __pyx_k_pypRootNodes[] = "pypRootNodes";
static const char __pyx_k_regsPerBlock[] = "regsPerBlock : ";
static const char __pyx_k_stringsource[] = "stringsource";
static const char __pyx_k_syncPolicy_2[] = "syncPolicy";
static const char __pyx_k_tileExtent_2[] = "tileExtent";
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_MAJOR_VERSION[] = "MAJOR_VERSION";
static const char __pyx_k_MINOR_VERSION[] = "MINOR_VERSION";
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_binaryVersion[] = "binaryVersion : ";
static const char __pyx_k_borderColor_2[] = "borderColor";
static const char __pyx_k_cacheModeCA_2[] = "cacheModeCA";
static const char __pyx_k_canAccessPeer[] = "canAccessPeer";
static const char __pyx_k_cdependencies[] = "cdependencies";
static const char __pyx_k_cdptr_out_ptr[] = "cdptr_out_ptr";
static const char __pyx_k_ceglframe_ptr[] = "ceglframe_ptr";
static const char __pyx_k_channelDesc_2[] = "channelDesc";
static const char __pyx_k_ckernelParams[] = "ckernelParams";
static const char __pyx_k_clocation_ptr[] = "clocation_ptr";
static const char __pyx_k_computeMode_2[] = "computeMode";
static const char __pyx_k_cooperative_2[] = "cooperative";
static const char __pyx_k_coriginalNode[] = "coriginalNode";
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_cudaArray_t_2[] = "cudaArray_t";
static const char __pyx_k_cudaFreeArray[] = "cudaFreeArray";
static const char __pyx_k_cudaFreeAsync[] = "cudaFreeAsync";
static const char __pyx_k_cudaFuncCache[] = "cudaFuncCache";
static const char __pyx_k_cudaGetDevice[] = "cudaGetDevice";
static const char __pyx_k_cudaHostAlloc[] = "cudaHostAlloc";
static const char __pyx_k_cudaMemAdvise[] = "cudaMemAdvise";
static const char __pyx_k_cudaMemPool_t[] = "cudaMemPool_t";
static const char __pyx_k_cudaRoundMode[] = "cudaRoundMode";
static const char __pyx_k_cudaRoundZero[] = "cudaRoundZero";
static const char __pyx_k_cudaSetDevice[] = "cudaSetDevice";
static const char __pyx_k_cuserData_ptr[] = "cuserData_ptr";
static const char __pyx_k_deviceOverlap[] = "deviceOverlap : ";
static const char __pyx_k_devicePointer[] = "devicePointer : ";
static const char __pyx_k_driverVersion[] = "driverVersion";
static const char __pyx_k_elementSize_2[] = "elementSize";
static const char __pyx_k_extSemArray_2[] = "extSemArray";
static const char __pyx_k_handleTypes_2[] = "handleTypes";
static const char __pyx_k_hostPointer_2[] = "hostPointer";
static const char __pyx_k_l2CacheSize_2[] = "l2CacheSize";
static const char __pyx_k_leastPriority[] = "leastPriority";
static const char __pyx_k_managedMemory[] = "managedMemory : ";
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_miptailSize_2[] = "miptailSize";
static const char __pyx_k_numAttributes[] = "numAttributes";
static const char __pyx_k_numChannels_2[] = "numChannels";
static const char __pyx_k_originalGraph[] = "originalGraph";
static const char __pyx_k_pCudaResource[] = "pCudaResource";
static const char __pyx_k_pDependencies[] = "pDependencies";
static const char __pyx_k_pMemsetParams[] = "pMemsetParams";
static const char __pyx_k_pNumRootNodes[] = "pNumRootNodes";
static const char __pyx_k_paramsArray_2[] = "paramsArray";
static const char __pyx_k_pciDeviceID_2[] = "pciDeviceID";
static const char __pyx_k_pciDomainID_2[] = "pciDomainID";
static const char __pyx_k_pitchedDevPtr[] = "pitchedDevPtr";
static const char __pyx_k_poriginalNode[] = "poriginalNode";
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_sizeInBytes_2[] = "sizeInBytes";
static const char __pyx_k_totalConstMem[] = "totalConstMem : ";
static const char __pyx_k_CUDART_VERSION[] = "CUDART_VERSION";
static const char __pyx_k_CUDA_R_8F_E4M3[] = "CUDA_R_8F_E4M3";
static const char __pyx_k_CUDA_R_8F_E5M2[] = "CUDA_R_8F_E5M2";
static const char __pyx_k_EGLStreamKHR_2[] = "EGLStreamKHR";
static const char __pyx_k_constSizeBytes[] = "constSizeBytes : ";
static const char __pyx_k_coriginalGraph[] = "coriginalGraph";
static const char __pyx_k_cpCudaResource[] = "cpCudaResource";
static const char __pyx_k_cpDependencies[] = "cpDependencies";
static const char __pyx_k_cpoolProps_ptr[] = "cpoolProps_ptr";
static const char __pyx_k_cudaDevAttrMax[] = "cudaDevAttrMax";
static const char __pyx_k_cudaDeviceAttr[] = "cudaDeviceAttr";
static const char __pyx_k_cudaDeviceMask[] = "cudaDeviceMask";
static const char __pyx_k_cudaDeviceProp[] = "cudaDeviceProp";
static const char __pyx_k_cudaEventQuery[] = "cudaEventQuery";
static const char __pyx_k_cudaFunction_t[] = "cudaFunction_t";
static const char __pyx_k_cudaGLMapFlags[] = "cudaGLMapFlags";
static const char __pyx_k_cudaGraphClone[] = "cudaGraphClone";
static const char __pyx_k_cudaHostFn_t_2[] = "cudaHostFn_t";
static const char __pyx_k_cudaMallocHost[] = "cudaMallocHost";
static const char __pyx_k_cudaMemGetInfo[] = "cudaMemGetInfo";
static const char __pyx_k_cudaMemcpyKind[] = "cudaMemcpyKind";
static const char __pyx_k_cudaMemcpyPeer[] = "cudaMemcpyPeer";
static const char __pyx_k_cudaMemoryType[] = "cudaMemoryType";
static const char __pyx_k_cudaPitchedPtr[] = "cudaPitchedPtr";
static const char __pyx_k_cudaPos_getPtr[] = "cudaPos.getPtr";
static const char __pyx_k_cudaThreadExit[] = "cudaThreadExit";
static const char __pyx_k_eglColorFormat[] = "eglColorFormat : ";
static const char __pyx_k_hErrorNode_out[] = "hErrorNode_out";
static const char __pyx_k_kernelParams_2[] = "kernelParams";
static const char __pyx_k_localSizeBytes[] = "localSizeBytes : ";
static const char __pyx_k_maxSurface1D_2[] = "maxSurface1D";
static const char __pyx_k_maxSurface2D_2[] = "maxSurface2D";
static const char __pyx_k_maxSurface3D_2[] = "maxSurface3D";
static const char __pyx_k_maxTexture1D_2[] = "maxTexture1D";
static const char __pyx_k_maxTexture2D_2[] = "maxTexture2D";
static const char __pyx_k_maxTexture3D_2[] = "maxTexture3D";
static const char __pyx_k_memoryBusWidth[] = "memoryBusWidth : ";
static const char __pyx_k_minBytesToKeep[] = "minBytesToKeep";
static const char __pyx_k_mipmappedArray[] = "mipmappedArray";
static const char __pyx_k_nvSciBufObject[] = "nvSciBufObject : ";
static const char __pyx_k_nvSciSyncObj_2[] = "nvSciSyncObj";
static const char __pyx_k_pCaptureStatus[] = "pCaptureStatus";
static const char __pyx_k_pExportTableId[] = "pExportTableId";
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_pypCudaDevices[] = "pypCudaDevices";
static const char __pyx_k_regsPerBlock_2[] = "regsPerBlock";
static const char __pyx_k_runtimeVersion[] = "runtimeVersion";
static const char __pyx_k_sharedMemBytes[] = "sharedMemBytes : ";
static const char __pyx_k_totalGlobalMem[] = "totalGlobalMem : ";
static const char __pyx_k_voidStarHelper[] = "voidStarHelper";
static const char __pyx_k_VdpVideoSurface[] = "<VdpVideoSurface ";
static const char __pyx_k_accessDescCount[] = "accessDescCount : ";
static const char __pyx_k_binaryVersion_2[] = "binaryVersion";
static const char __pyx_k_cbufferDesc_ptr[] = "cbufferDesc_ptr";
static const char __pyx_k_cexportData_ptr[] = "cexportData_ptr";
static const char __pyx_k_cmipmapDesc_ptr[] = "cmipmapDesc_ptr";
static const char __pyx_k_cmipmappedArray[] = "cmipmappedArray";
static const char __pyx_k_cnodeParams_ptr[] = "cnodeParams_ptr";
static const char __pyx_k_cudaArraySparse[] = "cudaArraySparse";
static const char __pyx_k_cudaCGScopeGrid[] = "cudaCGScopeGrid";
static const char __pyx_k_cudaComputeMode[] = "cudaComputeMode";
static const char __pyx_k_cudaCpuDeviceId[] = "cudaCpuDeviceId";
static const char __pyx_k_cudaDeviceCount[] = "cudaDeviceCount";
static const char __pyx_k_cudaDeviceReset[] = "cudaDeviceReset";
static const char __pyx_k_cudaEglFrame_st[] = "cudaEglFrame_st";
static const char __pyx_k_cudaErrorAssert[] = "cudaErrorAssert";
static const char __pyx_k_cudaEventCreate[] = "cudaEventCreate";
static const char __pyx_k_cudaEventRecord[] = "cudaEventRecord";
static const char __pyx_k_cudaGraphCreate[] = "cudaGraphCreate";
static const char __pyx_k_cudaGraphExec_t[] = "cudaGraphExec_t";
static const char __pyx_k_cudaGraphLaunch[] = "cudaGraphLaunch";
static const char __pyx_k_cudaGraphNode_t[] = "cudaGraphNode_t";
static const char __pyx_k_cudaGraphUpload[] = "cudaGraphUpload";
static const char __pyx_k_cudaMallocArray[] = "cudaMallocArray";
static const char __pyx_k_cudaMallocAsync[] = "cudaMallocAsync";
static const char __pyx_k_cudaMallocPitch[] = "cudaMallocPitch";
static const char __pyx_k_cudaMemLocation[] = "cudaMemLocation";
static const char __pyx_k_cudaMemPoolAttr[] = "cudaMemPoolAttr";
static const char __pyx_k_cudaMemcpyAsync[] = "cudaMemcpyAsync";
static const char __pyx_k_cudaMemsetAsync[] = "cudaMemsetAsync";
static const char __pyx_k_cudaRoundMinInf[] = "cudaRoundMinInf";
static const char __pyx_k_cudaRoundPosInf[] = "cudaRoundPosInf";
static const char __pyx_k_cudaStreamQuery[] = "cudaStreamQuery";
static const char __pyx_k_cudaTextureDesc[] = "cudaTextureDesc";
static const char __pyx_k_cuda_cudart_pyx[] = "cuda\\cudart.pyx";
static const char __pyx_k_deviceOverlap_2[] = "deviceOverlap";
static const char __pyx_k_devicePointer_2[] = "devicePointer";
static const char __pyx_k_dynamicSMemSize[] = "dynamicSMemSize";
static const char __pyx_k_dynamicSmemSize[] = "dynamicSmemSize";
static const char __pyx_k_initialRefcount[] = "initialRefcount";
static const char __pyx_k_isMultiGpuBoard[] = "isMultiGpuBoard : ";
static const char __pyx_k_lastMipmapLevel[] = "lastMipmapLevel : ";
static const char __pyx_k_make_cudaExtent[] = "make_cudaExtent";
static const char __pyx_k_managedMemory_2[] = "managedMemory";
static const char __pyx_k_maxAnisotropy_2[] = "maxAnisotropy";
static const char __pyx_k_maxTexture3DAlt[] = "maxTexture3DAlt : ";
static const char __pyx_k_maxThreadsDim_2[] = "maxThreadsDim";
static const char __pyx_k_memoryClockRate[] = "memoryClockRate : ";
static const char __pyx_k_mipmapLevelBias[] = "mipmapLevelBias : ";
static const char __pyx_k_numDependencies[] = "numDependencies";
static const char __pyx_k_pmipmappedArray[] = "pmipmappedArray";
static const char __pyx_k_pypDependencies[] = "pypDependencies";
static const char __pyx_k_seamlessCubemap[] = "seamlessCubemap : ";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
static const char __pyx_k_shareableHandle[] = "shareableHandle";
static const char __pyx_k_sharedSizeBytes[] = "sharedSizeBytes : ";
static const char __pyx_k_totalConstMem_2[] = "totalConstMem";
static const char __pyx_k_CUuuid_st_getPtr[] = "CUuuid_st.getPtr";
static const char __pyx_k_VdpDevice_getPtr[] = "VdpDevice.getPtr";
static const char __pyx_k_VdpOutputSurface[] = "<VdpOutputSurface ";
static const char __pyx_k_asyncEngineCount[] = "asyncEngineCount : ";
static const char __pyx_k_canMapHostMemory[] = "canMapHostMemory : ";
static const char __pyx_k_constSizeBytes_2[] = "constSizeBytes";
static const char __pyx_k_cpCopyParams_ptr[] = "cpCopyParams_ptr";
static const char __pyx_k_cpDependentNodes[] = "cpDependentNodes";
static const char __pyx_k_cpNodeParams_ptr[] = "cpNodeParams_ptr";
static const char __pyx_k_cshareableHandle[] = "cshareableHandle";
static const char __pyx_k_cudaArrayCubemap[] = "cudaArrayCubemap";
static const char __pyx_k_cudaArrayDefault[] = "cudaArrayDefault";
static const char __pyx_k_cudaArrayGetInfo[] = "cudaArrayGetInfo";
static const char __pyx_k_cudaArrayLayered[] = "cudaArrayLayered";
static const char __pyx_k_cudaChooseDevice[] = "cudaChooseDevice";
static const char __pyx_k_cudaEglFrameType[] = "cudaEglFrameType";
static const char __pyx_k_cudaEglPlaneDesc[] = "cudaEglPlaneDesc";
static const char __pyx_k_cudaErrorTimeout[] = "cudaErrorTimeout";
static const char __pyx_k_cudaErrorUnknown[] = "cudaErrorUnknown";
static const char __pyx_k_cudaEventDefault[] = "cudaEventDefault";
static const char __pyx_k_cudaEventDestroy[] = "cudaEventDestroy";
static const char __pyx_k_cudaGLDeviceList[] = "cudaGLDeviceList";
static const char __pyx_k_cudaGLGetDevices[] = "cudaGLGetDevices";
static const char __pyx_k_cudaGetErrorName[] = "cudaGetErrorName";
static const char __pyx_k_cudaGetLastError[] = "cudaGetLastError";
static const char __pyx_k_cudaGraphDestroy[] = "cudaGraphDestroy";
static const char __pyx_k_cudaHostGetFlags[] = "cudaHostGetFlags";
static const char __pyx_k_cudaHostRegister[] = "cudaHostRegister";
static const char __pyx_k_cudaKeyValuePair[] = "cudaKeyValuePair";
static const char __pyx_k_cudaMemPoolProps[] = "cudaMemPoolProps";
static const char __pyx_k_cudaMemcpy3DPeer[] = "cudaMemcpy3DPeer";
static const char __pyx_k_cudaMemoryAdvise[] = "cudaMemoryAdvise";
static const char __pyx_k_cudaMemsetParams[] = "cudaMemsetParams";
static const char __pyx_k_cudaOutputMode_t[] = "cudaOutputMode_t";
static const char __pyx_k_cudaProfilerStop[] = "cudaProfilerStop";
static const char __pyx_k_cudaResourceDesc[] = "cudaResourceDesc";
static const char __pyx_k_cudaResourceType[] = "cudaResourceType";
static const char __pyx_k_cudaRoundNearest[] = "cudaRoundNearest";
static const char __pyx_k_cudaStreamAttrID[] = "cudaStreamAttrID";
static const char __pyx_k_cudaStreamCreate[] = "cudaStreamCreate";
static const char __pyx_k_cudaStreamLegacy[] = "cudaStreamLegacy";
static const char __pyx_k_cudaUserObject_t[] = "cudaUserObject_t";
static const char __pyx_k_eglColorFormat_2[] = "eglColorFormat";
static const char __pyx_k_firstMipmapLevel[] = "firstMipmapLevel : ";
static const char __pyx_k_greatestPriority[] = "greatestPriority";
static const char __pyx_k_localSizeBytes_2[] = "localSizeBytes";
static const char __pyx_k_memoryBusWidth_2[] = "memoryBusWidth";
static const char __pyx_k_mipmapFilterMode[] = "mipmapFilterMode : ";
static const char __pyx_k_normalizedCoords[] = "normalizedCoords : ";
static const char __pyx_k_nvSciBufObject_2[] = "nvSciBufObject";
static const char __pyx_k_pCudaDeviceCount[] = "pCudaDeviceCount";
static const char __pyx_k_pNumDependencies[] = "pNumDependencies";
static const char __pyx_k_sharedMemBytes_2[] = "sharedMemBytes";
static const char __pyx_k_sparseProperties[] = "sparseProperties";
static const char __pyx_k_surfaceAlignment[] = "surfaceAlignment : ";
static const char __pyx_k_textureAlignment[] = "textureAlignment : ";
static const char __pyx_k_totalGlobalMem_2[] = "totalGlobalMem";
static const char __pyx_k_updateResult_out[] = "updateResult_out";
static const char __pyx_k_CUDA_GL_Map_Flags[] = "\n    CUDA GL Map Flags\n    ";
static const char __pyx_k_CUDA_memory_types[] = "\n    CUDA memory types\n    ";
static const char __pyx_k_EGLSyncKHR_getPtr[] = "EGLSyncKHR.getPtr";
static const char __pyx_k_List_is_too_small[] = "List is too small: ";
static const char __pyx_k_VdpGetProcAddress[] = "<VdpGetProcAddress ";
static const char __pyx_k_VdpVideoSurface_2[] = "VdpVideoSurface";
static const char __pyx_k_accessDescCount_2[] = "accessDescCount";
static const char __pyx_k_captureStatus_out[] = "captureStatus_out";
static const char __pyx_k_cdependencies_out[] = "cdependencies_out";
static const char __pyx_k_concurrentKernels[] = "concurrentKernels : ";
static const char __pyx_k_cooperativeLaunch[] = "cooperativeLaunch : ";
static const char __pyx_k_cpResViewDesc_ptr[] = "cpResViewDesc_ptr";
static const char __pyx_k_cudaArrayGetPlane[] = "cudaArrayGetPlane";
static const char __pyx_k_cudaArray_const_t[] = "<cudaArray_const_t ";
static const char __pyx_k_cudaDeviceMapHost[] = "cudaDeviceMapHost";
static const char __pyx_k_cudaDeviceP2PAttr[] = "cudaDeviceP2PAttr";
static const char __pyx_k_cudaEnableDefault[] = "cudaEnableDefault";
static const char __pyx_k_cudaErrorNoDevice[] = "cudaErrorNoDevice";
static const char __pyx_k_cudaErrorNotReady[] = "cudaErrorNotReady";
static const char __pyx_k_cudaExtent_getPtr[] = "cudaExtent.getPtr";
static const char __pyx_k_cudaFuncAttribute[] = "cudaFuncAttribute";
static const char __pyx_k_cudaGraphGetEdges[] = "cudaGraphGetEdges";
static const char __pyx_k_cudaGraphGetNodes[] = "cudaGraphGetNodes";
static const char __pyx_k_cudaGraphNodeType[] = "cudaGraphNodeType";
static const char __pyx_k_cudaMalloc3DArray[] = "cudaMalloc3DArray";
static const char __pyx_k_cudaMallocManaged[] = "cudaMallocManaged";
static const char __pyx_k_cudaMemAccessDesc[] = "cudaMemAccessDesc";
static const char __pyx_k_cudaMemAttachHost[] = "cudaMemAttachHost";
static const char __pyx_k_cudaMemPoolCreate[] = "cudaMemPoolCreate";
static const char __pyx_k_cudaMemPoolTrimTo[] = "cudaMemPoolTrimTo";
static const char __pyx_k_cudaMemcpy2DAsync[] = "cudaMemcpy2DAsync";
static const char __pyx_k_cudaMemcpy3DAsync[] = "cudaMemcpy3DAsync";
static const char __pyx_k_cudaMemcpy3DParms[] = "cudaMemcpy3DParms";
static const char __pyx_k_cudaMemcpyDefault[] = "cudaMemcpyDefault";
static const char __pyx_k_cudaMemcpyToArray[] = "cudaMemcpyToArray";
static const char __pyx_k_cudaMemset2DAsync[] = "cudaMemset2DAsync";
static const char __pyx_k_cudaMemset3DAsync[] = "cudaMemset3DAsync";
static const char __pyx_k_cudaProfilerStart[] = "cudaProfilerStart";
static const char __pyx_k_cudaStreamDefault[] = "cudaStreamDefault";
static const char __pyx_k_cudaStreamDestroy[] = "cudaStreamDestroy";
static const char __pyx_k_cudaSurfaceType1D[] = "cudaSurfaceType1D";
static const char __pyx_k_cudaSurfaceType2D[] = "cudaSurfaceType2D";
static const char __pyx_k_cudaSurfaceType3D[] = "cudaSurfaceType3D";
static const char __pyx_k_cudaTextureType1D[] = "cudaTextureType1D";
static const char __pyx_k_cudaTextureType2D[] = "cudaTextureType2D";
static const char __pyx_k_cudaTextureType3D[] = "cudaTextureType3D";
static const char __pyx_k_isMultiGpuBoard_2[] = "isMultiGpuBoard";
static const char __pyx_k_lastMipmapLevel_2[] = "lastMipmapLevel";
static const char __pyx_k_maxSurfaceCubemap[] = "maxSurfaceCubemap : ";
static const char __pyx_k_maxTexture3DAlt_2[] = "maxTexture3DAlt";
static const char __pyx_k_maxTextureCubemap[] = "maxTextureCubemap : ";
static const char __pyx_k_memoryClockRate_2[] = "memoryClockRate";
static const char __pyx_k_mipmapLevelBias_2[] = "mipmapLevelBias";
static const char __pyx_k_miptailFirstLevel[] = "miptailFirstLevel : ";
static const char __pyx_k_nvSciSyncAttrList[] = "nvSciSyncAttrList";
static const char __pyx_k_programmaticEvent[] = "programmaticEvent :\n";
static const char __pyx_k_pypDependentNodes[] = "pypDependentNodes";
static const char __pyx_k_seamlessCubemap_2[] = "seamlessCubemap";
static const char __pyx_k_sharedMemPerBlock[] = "sharedMemPerBlock : ";
static const char __pyx_k_sharedSizeBytes_2[] = "sharedSizeBytes";
static const char __pyx_k_unifiedAddressing[] = "unifiedAddressing : ";
static const char __pyx_k_vdpGetProcAddress[] = "vdpGetProcAddress";
static const char __pyx_k_CUDART_API_VERSION[] = "__CUDART_API_VERSION";
static const char __pyx_k_EGLImageKHR_getPtr[] = "EGLImageKHR.getPtr";
static const char __pyx_k_VdpOutputSurface_2[] = "VdpOutputSurface";
static const char __pyx_k_accessPolicyWindow[] = "accessPolicyWindow :\n";
static const char __pyx_k_asyncEngineCount_2[] = "asyncEngineCount";
static const char __pyx_k_canMapHostMemory_2[] = "canMapHostMemory";
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_cpMemsetParams_ptr[] = "cpMemsetParams_ptr";
static const char __pyx_k_csemHandleDesc_ptr[] = "csemHandleDesc_ptr";
static const char __pyx_k_cudaAccessProperty[] = "cudaAccessProperty";
static const char __pyx_k_cudaArray_t_getPtr[] = "cudaArray_t.getPtr";
static const char __pyx_k_cudaCGScopeInvalid[] = "cudaCGScopeInvalid";
static const char __pyx_k_cudaDeviceGetLimit[] = "cudaDeviceGetLimit";
static const char __pyx_k_cudaDeviceSetLimit[] = "cudaDeviceSetLimit";
static const char __pyx_k_cudaEglColorFormat[] = "cudaEglColorFormat";
static const char __pyx_k_cudaErrorInvalidPc[] = "cudaErrorInvalidPc";
static const char __pyx_k_cudaErrorNotMapped[] = "cudaErrorNotMapped";
static const char __pyx_k_cudaFormatModeAuto[] = "cudaFormatModeAuto";
static const char __pyx_k_cudaFuncAttributes[] = "cudaFuncAttributes";
static const char __pyx_k_cudaGLMapFlagsNone[] = "cudaGLMapFlagsNone";
static const char __pyx_k_cudaGetChannelDesc[] = "cudaGetChannelDesc";
static const char __pyx_k_cudaGetDeviceCount[] = "cudaGetDeviceCount";
static const char __pyx_k_cudaGetDeviceFlags[] = "cudaGetDeviceFlags";
static const char __pyx_k_cudaGetErrorString[] = "cudaGetErrorString";
static const char __pyx_k_cudaGetExportTable[] = "cudaGetExportTable";
static const char __pyx_k_cudaHostNodeParams[] = "cudaHostNodeParams";
static const char __pyx_k_cudaHostUnregister[] = "cudaHostUnregister";
static const char __pyx_k_cudaIpcMemHandle_t[] = "cudaIpcMemHandle_t";
static const char __pyx_k_cudaLaunchHostFunc[] = "cudaLaunchHostFunc";
static const char __pyx_k_cudaLimitStackSize[] = "cudaLimitStackSize";
static const char __pyx_k_cudaMemAccessFlags[] = "cudaMemAccessFlags";
static const char __pyx_k_cudaMemPoolDestroy[] = "cudaMemPoolDestroy";
static const char __pyx_k_cudaMemoryTypeHost[] = "cudaMemoryTypeHost";
static const char __pyx_k_cudaSetDeviceFlags[] = "cudaSetDeviceFlags";
static const char __pyx_k_cudaSharedCarveout[] = "cudaSharedCarveout";
static const char __pyx_k_cudaStreamGetFlags[] = "cudaStreamGetFlags";
static const char __pyx_k_cudaSyncPolicyAuto[] = "cudaSyncPolicyAuto";
static const char __pyx_k_cudaSyncPolicySpin[] = "cudaSyncPolicySpin";
static const char __pyx_k_cudaTextureDesc_v2[] = "cudaTextureDesc_v2";
static const char __pyx_k_cudaThreadGetLimit[] = "cudaThreadGetLimit";
static const char __pyx_k_cudaThreadSetLimit[] = "cudaThreadSetLimit";
static const char __pyx_k_cudaVDPAUGetDevice[] = "cudaVDPAUGetDevice";
static const char __pyx_k_cvdpGetProcAddress[] = "cvdpGetProcAddress";
static const char __pyx_k_firstMipmapLevel_2[] = "firstMipmapLevel";
static const char __pyx_k_luidDeviceNodeMask[] = "luidDeviceNodeMask : ";
static const char __pyx_k_maxTexture1DLinear[] = "maxTexture1DLinear : ";
static const char __pyx_k_maxTexture1DMipmap[] = "maxTexture1DMipmap : ";
static const char __pyx_k_maxTexture2DGather[] = "maxTexture2DGather : ";
static const char __pyx_k_maxTexture2DLinear[] = "maxTexture2DLinear : ";
static const char __pyx_k_maxTexture2DMipmap[] = "maxTexture2DMipmap : ";
static const char __pyx_k_maxThreadsPerBlock[] = "maxThreadsPerBlock : ";
static const char __pyx_k_maxWidthInElements[] = "maxWidthInElements";
static const char __pyx_k_memoryRequirements[] = "memoryRequirements";
static const char __pyx_k_mipmapFilterMode_2[] = "mipmapFilterMode";
static const char __pyx_k_normalizedCoords_2[] = "normalizedCoords";
static const char __pyx_k_pNumDependentNodes[] = "pNumDependentNodes";
static const char __pyx_k_pvdpGetProcAddress[] = "pvdpGetProcAddress";
static const char __pyx_k_pydependencies_out[] = "pydependencies_out";
static const char __pyx_k_surfaceAlignment_2[] = "surfaceAlignment";
static const char __pyx_k_textureAlignment_2[] = "textureAlignment";
static const char __pyx_k_CUDA_EGL_MAX_PLANES[] = "CUDA_EGL_MAX_PLANES";
static const char __pyx_k_CUDA_resource_types[] = "\n    CUDA resource types\n    ";
static const char __pyx_k_Channel_format_kind[] = "\n    Channel format kind\n    ";
static const char __pyx_k_EGLStreamKHR_getPtr[] = "EGLStreamKHR.getPtr";
static const char __pyx_k_VdpGetProcAddress_2[] = "VdpGetProcAddress";
static const char __pyx_k_concurrentKernels_2[] = "concurrentKernels";
static const char __pyx_k_cooperativeLaunch_2[] = "cooperativeLaunch";
static const char __pyx_k_cpExportTableId_ptr[] = "cpExportTableId_ptr";
static const char __pyx_k_cudaAddressModeWrap[] = "cudaAddressModeWrap";
static const char __pyx_k_cudaArray_const_t_2[] = "cudaArray_const_t";
static const char __pyx_k_cudaDevAttrMaxPitch[] = "cudaDevAttrMaxPitch";
static const char __pyx_k_cudaDevAttrPciBusId[] = "cudaDevAttrPciBusId";
static const char __pyx_k_cudaDevAttrWarpSize[] = "cudaDevAttrWarpSize";
static const char __pyx_k_cudaEglColorFormatA[] = "cudaEglColorFormatA";
static const char __pyx_k_cudaEglColorFormatL[] = "cudaEglColorFormatL";
static const char __pyx_k_cudaEglColorFormatR[] = "cudaEglColorFormatR";
static const char __pyx_k_cudaEglColorFormatY[] = "cudaEglColorFormatY";
static const char __pyx_k_cudaEglPlaneDesc_st[] = "cudaEglPlaneDesc_st";
static const char __pyx_k_cudaErrorInvalidPtx[] = "cudaErrorInvalidPtx";
static const char __pyx_k_cudaFilterModePoint[] = "cudaFilterModePoint";
static const char __pyx_k_cudaGLDeviceListAll[] = "cudaGLDeviceListAll";
static const char __pyx_k_cudaGraphExecUpdate[] = "cudaGraphExecUpdate";
static const char __pyx_k_cudaHostAllocMapped[] = "cudaHostAllocMapped";
static const char __pyx_k_cudaHostFn_t_getPtr[] = "cudaHostFn_t.getPtr";
static const char __pyx_k_cudaInvalidDeviceId[] = "cudaInvalidDeviceId";
static const char __pyx_k_cudaIpcGetMemHandle[] = "cudaIpcGetMemHandle";
static const char __pyx_k_cudaIpcMemHandle_st[] = "cudaIpcMemHandle_st";
static const char __pyx_k_cudaLaunchAttribute[] = "cudaLaunchAttribute";
static const char __pyx_k_cudaMemAttachGlobal[] = "cudaMemAttachGlobal";
static const char __pyx_k_cudaMemAttachSingle[] = "cudaMemAttachSingle";
static const char __pyx_k_cudaMemLocationType[] = "cudaMemLocationType";
static const char __pyx_k_cudaMemcpy2DToArray[] = "cudaMemcpy2DToArray";
static const char __pyx_k_cudaMemcpyFromArray[] = "cudaMemcpyFromArray";
static const char __pyx_k_cudaMemcpyPeerAsync[] = "cudaMemcpyPeerAsync";
static const char __pyx_k_cudaPeekAtLastError[] = "cudaPeekAtLastError";
static const char __pyx_k_cudaSharedMemConfig[] = "cudaSharedMemConfig";
static const char __pyx_k_cudaStreamAttrValue[] = "cudaStreamAttrValue";
static const char __pyx_k_cudaStreamPerThread[] = "cudaStreamPerThread";
static const char __pyx_k_cudaStreamWaitEvent[] = "cudaStreamWaitEvent";
static const char __pyx_k_cudaSurfaceObject_t[] = "<cudaSurfaceObject_t ";
static const char __pyx_k_cudaSyncPolicyYield[] = "cudaSyncPolicyYield";
static const char __pyx_k_cudaTextureObject_t[] = "<cudaTextureObject_t ";
static const char __pyx_k_cudaTextureReadMode[] = "cudaTextureReadMode";
static const char __pyx_k_cudaUserObjectFlags[] = "cudaUserObjectFlags";
static const char __pyx_k_cvoidStarHelper_ptr[] = "cvoidStarHelper_ptr";
static const char __pyx_k_libraryPropertyType[] = "libraryPropertyType";
static const char __pyx_k_make_cudaPitchedPtr[] = "make_cudaPitchedPtr";
static const char __pyx_k_maxMipmapLevelClamp[] = "maxMipmapLevelClamp : ";
static const char __pyx_k_maxSurface1DLayered[] = "maxSurface1DLayered : ";
static const char __pyx_k_maxSurface2DLayered[] = "maxSurface2DLayered : ";
static const char __pyx_k_maxSurfaceCubemap_2[] = "maxSurfaceCubemap";
static const char __pyx_k_maxTexture1DLayered[] = "maxTexture1DLayered : ";
static const char __pyx_k_maxTexture2DLayered[] = "maxTexture2DLayered : ";
static const char __pyx_k_maxTextureCubemap_2[] = "maxTextureCubemap";
static const char __pyx_k_minMipmapLevelClamp[] = "minMipmapLevelClamp : ";
static const char __pyx_k_miptailFirstLevel_2[] = "miptailFirstLevel";
static const char __pyx_k_multiProcessorCount[] = "multiProcessorCount : ";
static const char __pyx_k_numDependencies_out[] = "numDependencies_out";
static const char __pyx_k_programmaticEvent_2[] = "programmaticEvent";
static const char __pyx_k_sharedMemPerBlock_2[] = "sharedMemPerBlock";
static const char __pyx_k_triggerAtBlockStart[] = "triggerAtBlockStart : ";
static const char __pyx_k_unifiedAddressing_2[] = "unifiedAddressing";
static const char __pyx_k_CUDA_IPC_HANDLE_SIZE[] = "CUDA_IPC_HANDLE_SIZE";
static const char __pyx_k_accessPolicyWindow_2[] = "accessPolicyWindow";
static const char __pyx_k_cshareableHandle_ptr[] = "cshareableHandle_ptr";
static const char __pyx_k_cudaAddressModeClamp[] = "cudaAddressModeClamp";
static const char __pyx_k_cudaBoundaryModeTrap[] = "cudaBoundaryModeTrap";
static const char __pyx_k_cudaBoundaryModeZero[] = "cudaBoundaryModeZero";
static const char __pyx_k_cudaCGScopeMultiGrid[] = "cudaCGScopeMultiGrid";
static const char __pyx_k_cudaDevAttrClockRate[] = "cudaDevAttrClockRate";
static const char __pyx_k_cudaDevAttrTccDriver[] = "cudaDevAttrTccDriver";
static const char __pyx_k_cudaDeviceGetMemPool[] = "cudaDeviceGetMemPool";
static const char __pyx_k_cudaDeviceSetMemPool[] = "cudaDeviceSetMemPool";
static const char __pyx_k_cudaDriverGetVersion[] = "cudaDriverGetVersion";
static const char __pyx_k_cudaEglColorFormatRG[] = "cudaEglColorFormatRG";
static const char __pyx_k_cudaErrorStubLibrary[] = "cudaErrorStubLibrary";
static const char __pyx_k_cudaEventElapsedTime[] = "cudaEventElapsedTime";
static const char __pyx_k_cudaEventSynchronize[] = "cudaEventSynchronize";
static const char __pyx_k_cudaEventWaitDefault[] = "cudaEventWaitDefault";
static const char __pyx_k_cudaExternalMemory_t[] = "<cudaExternalMemory_t ";
static const char __pyx_k_cudaFilterModeLinear[] = "cudaFilterModeLinear";
static const char __pyx_k_cudaFormatModeForced[] = "cudaFormatModeForced";
static const char __pyx_k_cudaFuncAttributeMax[] = "cudaFuncAttributeMax";
static const char __pyx_k_cudaFuncSetAttribute[] = "cudaFuncSetAttribute";
static const char __pyx_k_cudaGraphAddHostNode[] = "cudaGraphAddHostNode";
static const char __pyx_k_cudaGraphDestroyNode[] = "cudaGraphDestroyNode";
static const char __pyx_k_cudaGraphExecDestroy[] = "cudaGraphExecDestroy";
static const char __pyx_k_cudaGraphInstantiate[] = "cudaGraphInstantiate";
static const char __pyx_k_cudaGraphNodeGetType[] = "cudaGraphNodeGetType";
static const char __pyx_k_cudaGraphicsCubeFace[] = "cudaGraphicsCubeFace";
static const char __pyx_k_cudaGraphicsMapFlags[] = "cudaGraphicsMapFlags";
static const char __pyx_k_cudaHostAllocDefault[] = "cudaHostAllocDefault";
static const char __pyx_k_cudaIpcEventHandle_t[] = "cudaIpcEventHandle_t";
static const char __pyx_k_cudaIpcOpenMemHandle[] = "cudaIpcOpenMemHandle";
static const char __pyx_k_cudaKernelNodeAttrID[] = "cudaKernelNodeAttrID";
static const char __pyx_k_cudaKernelNodeParams[] = "cudaKernelNodeParams";
static const char __pyx_k_cudaMemPoolGetAccess[] = "cudaMemPoolGetAccess";
static const char __pyx_k_cudaMemPoolSetAccess[] = "cudaMemPoolSetAccess";
static const char __pyx_k_cudaMemPrefetchAsync[] = "cudaMemPrefetchAsync";
static const char __pyx_k_cudaMemcpyHostToHost[] = "cudaMemcpyHostToHost";
static const char __pyx_k_cudaMemoryTypeDevice[] = "cudaMemoryTypeDevice";
static const char __pyx_k_cudaMipmappedArray_t[] = "<cudaMipmappedArray_t ";
static const char __pyx_k_cudaOccupancyDefault[] = "cudaOccupancyDefault";
static const char __pyx_k_cudaResourceViewDesc[] = "cudaResourceViewDesc";
static const char __pyx_k_cudaSetDoubleForHost[] = "cudaSetDoubleForHost";
static const char __pyx_k_cudaStreamCallback_t[] = "<cudaStreamCallback_t ";
static const char __pyx_k_cudaStreamEndCapture[] = "cudaStreamEndCapture";
static const char __pyx_k_cudaUserObjectCreate[] = "cudaUserObjectCreate";
static const char __pyx_k_cudaUserObjectRetain[] = "cudaUserObjectRetain";
static const char __pyx_k_dim3___reduce_cython[] = "dim3.__reduce_cython__";
static const char __pyx_k_luidDeviceNodeMask_2[] = "luidDeviceNodeMask";
static const char __pyx_k_maxTexture1DLinear_2[] = "maxTexture1DLinear";
static const char __pyx_k_maxTexture1DMipmap_2[] = "maxTexture1DMipmap";
static const char __pyx_k_maxTexture2DGather_2[] = "maxTexture2DGather";
static const char __pyx_k_maxTexture2DLinear_2[] = "maxTexture2DLinear";
static const char __pyx_k_maxTexture2DMipmap_2[] = "maxTexture2DMipmap";
static const char __pyx_k_maxThreadsPerBlock_2[] = "maxThreadsPerBlock";
static const char __pyx_k_multiGpuBoardGroupID[] = "multiGpuBoardGroupID : ";
static const char __pyx_k_pageableMemoryAccess[] = "pageableMemoryAccess : ";
static const char __pyx_k_CUDA_Graph_node_types[] = "\n    CUDA Graph node types\n    ";
static const char __pyx_k_CUDA_range_attributes[] = "\n    CUDA range attributes\n    ";
static const char __pyx_k_cudaAddressModeBorder[] = "cudaAddressModeBorder";
static const char __pyx_k_cudaAddressModeMirror[] = "cudaAddressModeMirror";
static const char __pyx_k_cudaBoundaryModeClamp[] = "cudaBoundaryModeClamp";
static const char __pyx_k_cudaChannelFormatDesc[] = "cudaChannelFormatDesc";
static const char __pyx_k_cudaChannelFormatKind[] = "cudaChannelFormatKind";
static const char __pyx_k_cudaCreateChannelDesc[] = "cudaCreateChannelDesc";
static const char __pyx_k_cudaDevAttrEccEnabled[] = "cudaDevAttrEccEnabled";
static const char __pyx_k_cudaDevAttrGpuOverlap[] = "cudaDevAttrGpuOverlap";
static const char __pyx_k_cudaDevAttrIntegrated[] = "cudaDevAttrIntegrated";
static const char __pyx_k_cudaDevAttrReserved92[] = "cudaDevAttrReserved92";
static const char __pyx_k_cudaDevAttrReserved93[] = "cudaDevAttrReserved93";
static const char __pyx_k_cudaDevAttrReserved94[] = "cudaDevAttrReserved94";
static const char __pyx_k_cudaDeviceGetPCIBusId[] = "cudaDeviceGetPCIBusId";
static const char __pyx_k_cudaDeviceProp_getPtr[] = "cudaDeviceProp.getPtr";
static const char __pyx_k_cudaDeviceSynchronize[] = "cudaDeviceSynchronize";
static const char __pyx_k_cudaEglFrameTypeArray[] = "cudaEglFrameTypeArray";
static const char __pyx_k_cudaEglFrameTypePitch[] = "cudaEglFrameTypePitch";
static const char __pyx_k_cudaErrorFileNotFound[] = "cudaErrorFileNotFound";
static const char __pyx_k_cudaErrorIllegalState[] = "cudaErrorIllegalState";
static const char __pyx_k_cudaErrorInvalidValue[] = "cudaErrorInvalidValue";
static const char __pyx_k_cudaErrorNotPermitted[] = "cudaErrorNotPermitted";
static const char __pyx_k_cudaErrorNotSupported[] = "cudaErrorNotSupported";
static const char __pyx_k_cudaErrorTooManyPeers[] = "cudaErrorTooManyPeers";
static const char __pyx_k_cudaEventBlockingSync[] = "cudaEventBlockingSync";
static const char __pyx_k_cudaEventInterprocess[] = "cudaEventInterprocess";
static const char __pyx_k_cudaEventWaitExternal[] = "cudaEventWaitExternal";
static const char __pyx_k_cudaFuncCachePreferL1[] = "cudaFuncCachePreferL1";
static const char __pyx_k_cudaFuncGetAttributes[] = "cudaFuncGetAttributes";
static const char __pyx_k_cudaGraphAddEmptyNode[] = "cudaGraphAddEmptyNode";
static const char __pyx_k_cudaGraphGetRootNodes[] = "cudaGraphGetRootNodes";
static const char __pyx_k_cudaGraphNodeTypeHost[] = "cudaGraphNodeTypeHost";
static const char __pyx_k_cudaHostAllocPortable[] = "cudaHostAllocPortable";
static const char __pyx_k_cudaIpcCloseMemHandle[] = "cudaIpcCloseMemHandle";
static const char __pyx_k_cudaIpcEventHandle_st[] = "cudaIpcEventHandle_st";
static const char __pyx_k_cudaIpcGetEventHandle[] = "cudaIpcGetEventHandle";
static const char __pyx_k_cudaLaunchAttributeID[] = "cudaLaunchAttributeID";
static const char __pyx_k_cudaMemAllocationType[] = "cudaMemAllocationType";
static const char __pyx_k_cudaMemHandleTypeNone[] = "cudaMemHandleTypeNone";
static const char __pyx_k_cudaMemRangeAttribute[] = "cudaMemRangeAttribute";
static const char __pyx_k_cudaMemcpy2DFromArray[] = "cudaMemcpy2DFromArray";
static const char __pyx_k_cudaMemcpy3DPeerAsync[] = "cudaMemcpy3DPeerAsync";
static const char __pyx_k_cudaMemcpy3DPeerParms[] = "cudaMemcpy3DPeerParms";
static const char __pyx_k_cudaMemoryTypeManaged[] = "cudaMemoryTypeManaged";
static const char __pyx_k_cudaNvSciSyncAttrWait[] = "cudaNvSciSyncAttrWait";
static const char __pyx_k_cudaPeerAccessDefault[] = "cudaPeerAccessDefault";
static const char __pyx_k_cudaPitchedPtr_getPtr[] = "cudaPitchedPtr.getPtr";
static const char __pyx_k_cudaPointerAttributes[] = "cudaPointerAttributes";
static const char __pyx_k_cudaResViewFormatNone[] = "cudaResViewFormatNone";
static const char __pyx_k_cudaResourceTypeArray[] = "cudaResourceTypeArray";
static const char __pyx_k_cudaRuntimeGetVersion[] = "cudaRuntimeGetVersion";
static const char __pyx_k_cudaStreamAddCallback[] = "cudaStreamAddCallback";
static const char __pyx_k_cudaStreamCaptureMode[] = "cudaStreamCaptureMode";
static const char __pyx_k_cudaStreamGetPriority[] = "cudaStreamGetPriority";
static const char __pyx_k_cudaStreamIsCapturing[] = "cudaStreamIsCapturing";
static const char __pyx_k_cudaStreamNonBlocking[] = "cudaStreamNonBlocking";
static const char __pyx_k_cudaStreamSynchronize[] = "cudaStreamSynchronize";
static const char __pyx_k_cudaSurfaceFormatMode[] = "cudaSurfaceFormatMode";
static const char __pyx_k_cudaSurfaceObject_t_2[] = "cudaSurfaceObject_t";
static const char __pyx_k_cudaTextureFilterMode[] = "cudaTextureFilterMode";
static const char __pyx_k_cudaTextureObject_t_2[] = "cudaTextureObject_t";
static const char __pyx_k_cudaThreadSynchronize[] = "cudaThreadSynchronize";
static const char __pyx_k_cudaUserObjectRelease[] = "cudaUserObjectRelease";
static const char __pyx_k_localL1CacheSupported[] = "localL1CacheSupported : ";
static const char __pyx_k_maxMipmapLevelClamp_2[] = "maxMipmapLevelClamp";
static const char __pyx_k_maxSurface1DLayered_2[] = "maxSurface1DLayered";
static const char __pyx_k_maxSurface2DLayered_2[] = "maxSurface2DLayered";
static const char __pyx_k_maxTexture1DLayered_2[] = "maxTexture1DLayered";
static const char __pyx_k_maxTexture2DLayered_2[] = "maxTexture2DLayered";
static const char __pyx_k_minMipmapLevelClamp_2[] = "minMipmapLevelClamp";
static const char __pyx_k_multiProcessorCount_2[] = "multiProcessorCount";
static const char __pyx_k_regsPerMultiprocessor[] = "regsPerMultiprocessor : ";
static const char __pyx_k_texturePitchAlignment[] = "texturePitchAlignment : ";
static const char __pyx_k_triggerAtBlockStart_2[] = "triggerAtBlockStart";
static const char __pyx_k_CUDA_device_attributes[] = "\n    CUDA device attributes\n    ";
static const char __pyx_k_CUDA_memory_copy_types[] = "\n    CUDA memory copy types\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_VdpVideoSurface_getPtr[] = "VdpVideoSurface.getPtr";
static const char __pyx_k_cnvSciSyncAttrList_ptr[] = "cnvSciSyncAttrList_ptr";
static const char __pyx_k_cudaAccessPolicyWindow[] = "cudaAccessPolicyWindow";
static const char __pyx_k_cudaArrayTextureGather[] = "cudaArrayTextureGather";
static const char __pyx_k_cudaComputeModeDefault[] = "cudaComputeModeDefault";
static const char __pyx_k_cudaDevAttrComputeMode[] = "cudaDevAttrComputeMode";
static const char __pyx_k_cudaDevAttrL2CacheSize[] = "cudaDevAttrL2CacheSize";
static const char __pyx_k_cudaDevAttrMaxGridDimX[] = "cudaDevAttrMaxGridDimX";
static const char __pyx_k_cudaDevAttrMaxGridDimY[] = "cudaDevAttrMaxGridDimY";
static const char __pyx_k_cudaDevAttrMaxGridDimZ[] = "cudaDevAttrMaxGridDimZ";
static const char __pyx_k_cudaDevAttrPciDeviceId[] = "cudaDevAttrPciDeviceId";
static const char __pyx_k_cudaDevAttrPciDomainId[] = "cudaDevAttrPciDomainId";
static const char __pyx_k_cudaDeviceBlockingSync[] = "cudaDeviceBlockingSync";
static const char __pyx_k_cudaDeviceGetAttribute[] = "cudaDeviceGetAttribute";
static const char __pyx_k_cudaDeviceGraphMemTrim[] = "cudaDeviceGraphMemTrim";
static const char __pyx_k_cudaDeviceScheduleAuto[] = "cudaDeviceScheduleAuto";
static const char __pyx_k_cudaDeviceScheduleMask[] = "cudaDeviceScheduleMask";
static const char __pyx_k_cudaDeviceScheduleSpin[] = "cudaDeviceScheduleSpin";
static const char __pyx_k_cudaEglColorFormatABGR[] = "cudaEglColorFormatABGR";
static const char __pyx_k_cudaEglColorFormatARGB[] = "cudaEglColorFormatARGB";
static const char __pyx_k_cudaEglColorFormatAYUV[] = "cudaEglColorFormatAYUV";
static const char __pyx_k_cudaEglColorFormatBGRA[] = "cudaEglColorFormatBGRA";
static const char __pyx_k_cudaEglColorFormatRGBA[] = "cudaEglColorFormatRGBA";
static const char __pyx_k_cudaEglColorFormatVYUY[] = "cudaEglColorFormatVYUY";
static const char __pyx_k_cudaEglColorFormatYUVA[] = "cudaEglColorFormatYUVA";
static const char __pyx_k_cudaEglColorFormatYVYU[] = "cudaEglColorFormatYVYU";
static const char __pyx_k_cudaEglColorFormatY_ER[] = "cudaEglColorFormatY_ER";
static const char __pyx_k_cudaEglFrame_st_getPtr[] = "cudaEglFrame_st.getPtr";
static const char __pyx_k_cudaEnableLegacyStream[] = "cudaEnableLegacyStream";
static const char __pyx_k_cudaErrorAlreadyMapped[] = "cudaErrorAlreadyMapped";
static const char __pyx_k_cudaErrorArrayIsMapped[] = "cudaErrorArrayIsMapped";
static const char __pyx_k_cudaErrorCapturedEvent[] = "cudaErrorCapturedEvent";
static const char __pyx_k_cudaErrorInvalidDevice[] = "cudaErrorInvalidDevice";
static const char __pyx_k_cudaErrorInvalidSource[] = "cudaErrorInvalidSource";
static const char __pyx_k_cudaErrorInvalidSymbol[] = "cudaErrorInvalidSymbol";
static const char __pyx_k_cudaErrorLaunchFailure[] = "cudaErrorLaunchFailure";
static const char __pyx_k_cudaErrorLaunchTimeout[] = "cudaErrorLaunchTimeout";
static const char __pyx_k_cudaErrorMpsRpcFailure[] = "cudaErrorMpsRpcFailure";
static const char __pyx_k_cudaEventDisableTiming[] = "cudaEventDisableTiming";
static const char __pyx_k_cudaEventRecordDefault[] = "cudaEventRecordDefault";
static const char __pyx_k_cudaExternalMemory_t_2[] = "cudaExternalMemory_t";
static const char __pyx_k_cudaFreeMipmappedArray[] = "cudaFreeMipmappedArray";
static const char __pyx_k_cudaFuncSetCacheConfig[] = "cudaFuncSetCacheConfig";
static const char __pyx_k_cudaGLMapFlagsReadOnly[] = "cudaGLMapFlagsReadOnly";
static const char __pyx_k_cudaGraphAddKernelNode[] = "cudaGraphAddKernelNode";
static const char __pyx_k_cudaGraphAddMemcpyNode[] = "cudaGraphAddMemcpyNode";
static const char __pyx_k_cudaGraphAddMemsetNode[] = "cudaGraphAddMemsetNode";
static const char __pyx_k_cudaGraphDebugDotFlags[] = "cudaGraphDebugDotFlags";
static const char __pyx_k_cudaGraphDebugDotPrint[] = "cudaGraphDebugDotPrint";
static const char __pyx_k_cudaGraphNodeTypeCount[] = "cudaGraphNodeTypeCount";
static const char __pyx_k_cudaGraphNodeTypeEmpty[] = "cudaGraphNodeTypeEmpty";
static const char __pyx_k_cudaGraphNodeTypeGraph[] = "cudaGraphNodeTypeGraph";
static const char __pyx_k_cudaGraphicsResource_t[] = "<cudaGraphicsResource_t ";
static const char __pyx_k_cudaHostRegisterMapped[] = "cudaHostRegisterMapped";
static const char __pyx_k_cudaIpcOpenEventHandle[] = "cudaIpcOpenEventHandle";
static const char __pyx_k_cudaLaunchAttribute_st[] = "cudaLaunchAttribute_st";
static const char __pyx_k_cudaMemAllocNodeParams[] = "cudaMemAllocNodeParams";
static const char __pyx_k_cudaMemHandleTypeWin32[] = "cudaMemHandleTypeWin32";
static const char __pyx_k_cudaMemLocation_getPtr[] = "cudaMemLocation.getPtr";
static const char __pyx_k_cudaMemcpyArrayToArray[] = "cudaMemcpyArrayToArray";
static const char __pyx_k_cudaMemcpyDeviceToHost[] = "cudaMemcpyDeviceToHost";
static const char __pyx_k_cudaMemcpyHostToDevice[] = "cudaMemcpyHostToDevice";
static const char __pyx_k_cudaMemcpyToArrayAsync[] = "cudaMemcpyToArrayAsync";
static const char __pyx_k_cudaMipmappedArray_t_2[] = "cudaMipmappedArray_t";
static const char __pyx_k_cudaProfilerInitialize[] = "cudaProfilerInitialize";
static const char __pyx_k_cudaResViewFormatHalf1[] = "cudaResViewFormatHalf1";
static const char __pyx_k_cudaResViewFormatHalf2[] = "cudaResViewFormatHalf2";
static const char __pyx_k_cudaResViewFormatHalf4[] = "cudaResViewFormatHalf4";
static const char __pyx_k_cudaResourceDesc_res_u[] = "_cudaResourceDesc_res_u";
static const char __pyx_k_cudaResourceTypeLinear[] = "cudaResourceTypeLinear";
static const char __pyx_k_cudaResourceViewFormat[] = "cudaResourceViewFormat";
static const char __pyx_k_cudaSetDoubleForDevice[] = "cudaSetDoubleForDevice";
static const char __pyx_k_cudaStreamBeginCapture[] = "cudaStreamBeginCapture";
static const char __pyx_k_cudaStreamCallback_t_2[] = "cudaStreamCallback_t";
static const char __pyx_k_cudaStreamGetAttribute[] = "cudaStreamGetAttribute";
static const char __pyx_k_cudaStreamSetAttribute[] = "cudaStreamSetAttribute";
static const char __pyx_k_cudaSurfaceTypeCubemap[] = "cudaSurfaceTypeCubemap";
static const char __pyx_k_cudaTextureAddressMode[] = "cudaTextureAddressMode";
static const char __pyx_k_cudaTextureDesc_getPtr[] = "cudaTextureDesc.getPtr";
static const char __pyx_k_cudaTextureTypeCubemap[] = "cudaTextureTypeCubemap";
static const char __pyx_k_dim3___setstate_cython[] = "dim3.__setstate_cython__";
static const char __pyx_k_globalL1CacheSupported[] = "globalL1CacheSupported : ";
static const char __pyx_k_multiGpuBoardGroupID_2[] = "multiGpuBoardGroupID";
static const char __pyx_k_pageableMemoryAccess_2[] = "pageableMemoryAccess";
static const char __pyx_k_preferredShmemCarveout[] = "preferredShmemCarveout : ";
static const char __pyx_k_sharedMemPerBlockOptin[] = "sharedMemPerBlockOptin : ";
static const char __pyx_k_CUDA_texture_read_modes[] = "\n    CUDA texture read modes\n    ";
static const char __pyx_k_Graph_memory_attributes[] = "\n    Graph memory attributes\n    ";
static const char __pyx_k_VdpOutputSurface_getPtr[] = "VdpOutputSurface.getPtr";
static const char __pyx_k_concurrentManagedAccess[] = "concurrentManagedAccess : ";
static const char __pyx_k_cudaCreateSurfaceObject[] = "cudaCreateSurfaceObject";
static const char __pyx_k_cudaCreateTextureObject[] = "cudaCreateTextureObject";
static const char __pyx_k_cudaDevAttrMaxBlockDimX[] = "cudaDevAttrMaxBlockDimX";
static const char __pyx_k_cudaDevAttrMaxBlockDimY[] = "cudaDevAttrMaxBlockDimY";
static const char __pyx_k_cudaDevAttrMaxBlockDimZ[] = "cudaDevAttrMaxBlockDimZ";
static const char __pyx_k_cudaDeviceCanAccessPeer[] = "cudaDeviceCanAccessPeer";
static const char __pyx_k_cudaDeviceGetByPCIBusId[] = "cudaDeviceGetByPCIBusId";
static const char __pyx_k_cudaDeviceScheduleYield[] = "cudaDeviceScheduleYield";
static const char __pyx_k_cudaEglStreamConnection[] = "cudaEglStreamConnection";
static const char __pyx_k_cudaErrorApiFailureBase[] = "cudaErrorApiFailureBase";
static const char __pyx_k_cudaErrorExternalDevice[] = "cudaErrorExternalDevice";
static const char __pyx_k_cudaErrorIllegalAddress[] = "cudaErrorIllegalAddress";
static const char __pyx_k_cudaErrorInvalidSurface[] = "cudaErrorInvalidSurface";
static const char __pyx_k_cudaErrorInvalidTexture[] = "cudaErrorInvalidTexture";
static const char __pyx_k_cudaErrorStartupFailure[] = "cudaErrorStartupFailure";
static const char __pyx_k_cudaErrorSymbolNotFound[] = "cudaErrorSymbolNotFound";
static const char __pyx_k_cudaErrorSystemNotReady[] = "cudaErrorSystemNotReady";
static const char __pyx_k_cudaEventRecordExternal[] = "cudaEventRecordExternal";
static const char __pyx_k_cudaExternalSemaphore_t[] = "<cudaExternalSemaphore_t ";
static const char __pyx_k_cudaFuncCachePreferNone[] = "cudaFuncCachePreferNone";
static const char __pyx_k_cudaGetDeviceProperties[] = "cudaGetDeviceProperties";
static const char __pyx_k_cudaGetDriverEntryPoint[] = "cudaGetDriverEntryPoint";
static const char __pyx_k_cudaGraphAddMemFreeNode[] = "cudaGraphAddMemFreeNode";
static const char __pyx_k_cudaGraphNodeGetEnabled[] = "cudaGraphNodeGetEnabled";
static const char __pyx_k_cudaGraphNodeSetEnabled[] = "cudaGraphNodeSetEnabled";
static const char __pyx_k_cudaGraphNodeTypeKernel[] = "cudaGraphNodeTypeKernel";
static const char __pyx_k_cudaGraphNodeTypeMemcpy[] = "cudaGraphNodeTypeMemcpy";
static const char __pyx_k_cudaGraphNodeTypeMemset[] = "cudaGraphNodeTypeMemset";
static const char __pyx_k_cudaGraphUserObjectMove[] = "cudaGraphUserObjectMove";
static const char __pyx_k_cudaHostRegisterDefault[] = "cudaHostRegisterDefault";
static const char __pyx_k_cudaKernelNodeAttrValue[] = "cudaKernelNodeAttrValue";
static const char __pyx_k_cudaLimitMallocHeapSize[] = "cudaLimitMallocHeapSize";
static const char __pyx_k_cudaLimitPrintfFifoSize[] = "cudaLimitPrintfFifoSize";
static const char __pyx_k_cudaMallocFromPoolAsync[] = "cudaMallocFromPoolAsync";
static const char __pyx_k_cudaMemPoolGetAttribute[] = "cudaMemPoolGetAttribute";
static const char __pyx_k_cudaMemPoolProps_getPtr[] = "cudaMemPoolProps.getPtr";
static const char __pyx_k_cudaMemPoolSetAttribute[] = "cudaMemPoolSetAttribute";
static const char __pyx_k_cudaMemsetParams_getPtr[] = "cudaMemsetParams.getPtr";
static const char __pyx_k_cudaNvSciSyncAttrSignal[] = "cudaNvSciSyncAttrSignal";
static const char __pyx_k_cudaPos___reduce_cython[] = "cudaPos.__reduce_cython__";
static const char __pyx_k_cudaReadModeElementType[] = "cudaReadModeElementType";
static const char __pyx_k_cudaResViewFormatFloat1[] = "cudaResViewFormatFloat1";
static const char __pyx_k_cudaResViewFormatFloat2[] = "cudaResViewFormatFloat2";
static const char __pyx_k_cudaResViewFormatFloat4[] = "cudaResViewFormatFloat4";
static const char __pyx_k_cudaResourceDesc_getPtr[] = "cudaResourceDesc.getPtr";
static const char __pyx_k_cudaResourceTypePitch2D[] = "cudaResourceTypePitch2D";
static const char __pyx_k_cudaStreamCaptureStatus[] = "cudaStreamCaptureStatus";
static const char __pyx_k_cudaSurfaceBoundaryMode[] = "cudaSurfaceBoundaryMode";
static const char __pyx_k_cudaVDPAUSetVDPAUDevice[] = "cudaVDPAUSetVDPAUDevice";
static const char __pyx_k_localL1CacheSupported_2[] = "localL1CacheSupported";
static const char __pyx_k_regsPerMultiprocessor_2[] = "regsPerMultiprocessor";
static const char __pyx_k_texturePitchAlignment_2[] = "texturePitchAlignment";
static const char __pyx_k_win32SecurityAttributes[] = "win32SecurityAttributes : ";
static const char __pyx_k_EGLint___setstate_cython[] = "EGLint.__setstate_cython__";
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_VdpGetProcAddress_getPtr[] = "VdpGetProcAddress.getPtr";
static const char __pyx_k_cudaAccessPropertyNormal[] = "cudaAccessPropertyNormal";
static const char __pyx_k_cudaArrayColorAttachment[] = "cudaArrayColorAttachment";
static const char __pyx_k_cudaArrayDeferredMapping[] = "cudaArrayDeferredMapping";
static const char __pyx_k_cudaArray_const_t_getPtr[] = "cudaArray_const_t.getPtr";
static const char __pyx_k_cudaComputeModeExclusive[] = "cudaComputeModeExclusive";
static const char __pyx_k_cudaDestroySurfaceObject[] = "cudaDestroySurfaceObject";
static const char __pyx_k_cudaDestroyTextureObject[] = "cudaDestroyTextureObject";
static const char __pyx_k_cudaDevAttrClusterLaunch[] = "cudaDevAttrClusterLaunch";
static const char __pyx_k_cudaDevAttrManagedMemory[] = "cudaDevAttrManagedMemory";
static const char __pyx_k_cudaDeviceGetCacheConfig[] = "cudaDeviceGetCacheConfig";
static const char __pyx_k_cudaDeviceSetCacheConfig[] = "cudaDeviceSetCacheConfig";
static const char __pyx_k_cudaEglColorFormatY10_ER[] = "cudaEglColorFormatY10_ER";
static const char __pyx_k_cudaEglColorFormatY12_ER[] = "cudaEglColorFormatY12_ER";
static const char __pyx_k_cudaErrorAlreadyAcquired[] = "cudaErrorAlreadyAcquired";
static const char __pyx_k_cudaErrorCudartUnloading[] = "cudaErrorCudartUnloading";
static const char __pyx_k_cudaErrorOperatingSystem[] = "cudaErrorOperatingSystem";
static const char __pyx_k_cudaErrorTextureNotBound[] = "cudaErrorTextureNotBound";
static const char __pyx_k_cudaEventCreateWithFlags[] = "cudaEventCreateWithFlags";
static const char __pyx_k_cudaEventRecordWithFlags[] = "cudaEventRecordWithFlags";
static const char __pyx_k_cudaFuncCachePreferEqual[] = "cudaFuncCachePreferEqual";
static const char __pyx_k_cudaGraphAddDependencies[] = "cudaGraphAddDependencies";
static const char __pyx_k_cudaGraphAddMemAllocNode[] = "cudaGraphAddMemAllocNode";
static const char __pyx_k_cudaGraphAddMemcpyNode1D[] = "cudaGraphAddMemcpyNode1D";
static const char __pyx_k_cudaGraphExecUpdateError[] = "cudaGraphExecUpdateError";
static const char __pyx_k_cudaGraphNodeFindInClone[] = "cudaGraphNodeFindInClone";
static const char __pyx_k_cudaGraphNodeTypeMemFree[] = "cudaGraphNodeTypeMemFree";
static const char __pyx_k_cudaGraphicsMapFlagsNone[] = "cudaGraphicsMapFlagsNone";
static const char __pyx_k_cudaGraphicsMapResources[] = "cudaGraphicsMapResources";
static const char __pyx_k_cudaGraphicsResource_t_2[] = "cudaGraphicsResource_t";
static const char __pyx_k_cudaHostGetDevicePointer[] = "cudaHostGetDevicePointer";
static const char __pyx_k_cudaHostRegisterIoMemory[] = "cudaHostRegisterIoMemory";
static const char __pyx_k_cudaHostRegisterPortable[] = "cudaHostRegisterPortable";
static const char __pyx_k_cudaHostRegisterReadOnly[] = "cudaHostRegisterReadOnly";
static const char __pyx_k_cudaImportExternalMemory[] = "cudaImportExternalMemory";
static const char __pyx_k_cudaLaunchAttributeValue[] = "cudaLaunchAttributeValue";
static const char __pyx_k_cudaMallocMipmappedArray[] = "cudaMallocMipmappedArray";
static const char __pyx_k_cudaMemAccessDesc_getPtr[] = "cudaMemAccessDesc.getPtr";
static const char __pyx_k_cudaMemAllocationTypeMax[] = "cudaMemAllocationTypeMax";
static const char __pyx_k_cudaMemPoolExportPointer[] = "cudaMemPoolExportPointer";
static const char __pyx_k_cudaMemPoolImportPointer[] = "cudaMemPoolImportPointer";
static const char __pyx_k_cudaMemPoolPtrExportData[] = "cudaMemPoolPtrExportData";
static const char __pyx_k_cudaMemRangeGetAttribute[] = "cudaMemRangeGetAttribute";
static const char __pyx_k_cudaMemcpy2DArrayToArray[] = "cudaMemcpy2DArrayToArray";
static const char __pyx_k_cudaMemcpy2DToArrayAsync[] = "cudaMemcpy2DToArrayAsync";
static const char __pyx_k_cudaMemcpy3DParms_getPtr[] = "cudaMemcpy3DParms.getPtr";
static const char __pyx_k_cudaMemcpyDeviceToDevice[] = "cudaMemcpyDeviceToDevice";
static const char __pyx_k_cudaMemcpyFromArrayAsync[] = "cudaMemcpyFromArrayAsync";
static const char __pyx_k_cudaPointerGetAttributes[] = "cudaPointerGetAttributes";
static const char __pyx_k_cudaSetDevice_line_11313[] = "cudaSetDevice (line 11313)";
static const char __pyx_k_cudaStreamAttachMemAsync[] = "cudaStreamAttachMemAsync";
static const char __pyx_k_cudaStreamCopyAttributes[] = "cudaStreamCopyAttributes";
static const char __pyx_k_cudaStreamGetCaptureInfo[] = "cudaStreamGetCaptureInfo";
static const char __pyx_k_cudaSurfaceType1DLayered[] = "cudaSurfaceType1DLayered";
static const char __pyx_k_cudaSurfaceType2DLayered[] = "cudaSurfaceType2DLayered";
static const char __pyx_k_cudaTextureType1DLayered[] = "cudaTextureType1DLayered";
static const char __pyx_k_cudaTextureType2DLayered[] = "cudaTextureType2DLayered";
static const char __pyx_k_globalL1CacheSupported_2[] = "globalL1CacheSupported";
static const char __pyx_k_kernelExecTimeoutEnabled[] = "kernelExecTimeoutEnabled : ";
static const char __pyx_k_luid_length_must_be_8_is[] = "luid length must be 8, is ";
static const char __pyx_k_maxSurfaceCubemapLayered[] = "maxSurfaceCubemapLayered : ";
static const char __pyx_k_maxTextureCubemapLayered[] = "maxTextureCubemapLayered : ";
static const char __pyx_k_pad_length_must_be_64_is[] = "pad length must be 64, is ";
static const char __pyx_k_persistingL2CacheMaxSize[] = "persistingL2CacheMaxSize : ";
static const char __pyx_k_preferredShmemCarveout_2[] = "preferredShmemCarveout";
static const char __pyx_k_sharedMemPerBlockOptin_2[] = "sharedMemPerBlockOptin";
static const char __pyx_k_CUDA_Memory_Advise_values[] = "\n    CUDA Memory Advise values\n    ";
static const char __pyx_k_CUDA_Surface_format_modes[] = "\n    CUDA Surface format modes\n    ";
static const char __pyx_k_CUDA_device_compute_modes[] = "\n    CUDA device compute modes\n    ";
static const char __pyx_k_CUDA_texture_filter_modes[] = "\n    CUDA texture filter modes\n    ";
static const char __pyx_k_CUuuid_st___reduce_cython[] = "CUuuid_st.__reduce_cython__";
static const char __pyx_k_VdpDevice___reduce_cython[] = "VdpDevice.__reduce_cython__";
static const char __pyx_k_accessPolicyMaxWindowSize[] = "accessPolicyMaxWindowSize : ";
static const char __pyx_k_concurrentManagedAccess_2[] = "concurrentManagedAccess";
static const char __pyx_k_cudaArraySparseProperties[] = "cudaArraySparseProperties";
static const char __pyx_k_cudaArraySurfaceLoadStore[] = "cudaArraySurfaceLoadStore";
static const char __pyx_k_cudaChannelFormatKindNV12[] = "cudaChannelFormatKindNV12";
static const char __pyx_k_cudaChannelFormatKindNone[] = "cudaChannelFormatKindNone";
static const char __pyx_k_cudaComputeModeProhibited[] = "cudaComputeModeProhibited";
static const char __pyx_k_cudaDestroyExternalMemory[] = "cudaDestroyExternalMemory";
static const char __pyx_k_cudaDeviceGetP2PAttribute[] = "cudaDeviceGetP2PAttribute";
static const char __pyx_k_cudaDeviceLmemResizeToMax[] = "cudaDeviceLmemResizeToMax";
static const char __pyx_k_cudaEglColorFormatAYUV_ER[] = "cudaEglColorFormatAYUV_ER";
static const char __pyx_k_cudaEglColorFormatUYVY422[] = "cudaEglColorFormatUYVY422";
static const char __pyx_k_cudaEglColorFormatUYVY_ER[] = "cudaEglColorFormatUYVY_ER";
static const char __pyx_k_cudaEglColorFormatVYUY_ER[] = "cudaEglColorFormatVYUY_ER";
static const char __pyx_k_cudaEglColorFormatYUVA_ER[] = "cudaEglColorFormatYUVA_ER";
static const char __pyx_k_cudaEglColorFormatYUYV422[] = "cudaEglColorFormatYUYV422";
static const char __pyx_k_cudaEglColorFormatYUYV_ER[] = "cudaEglColorFormatYUYV_ER";
static const char __pyx_k_cudaEglColorFormatYVYU_ER[] = "cudaEglColorFormatYVYU_ER";
static const char __pyx_k_cudaErrorECCUncorrectable[] = "cudaErrorECCUncorrectable";
static const char __pyx_k_cudaErrorMemoryAllocation[] = "cudaErrorMemoryAllocation";
static const char __pyx_k_cudaErrorNotMappedAsArray[] = "cudaErrorNotMappedAsArray";
static const char __pyx_k_cudaErrorProfilerDisabled[] = "cudaErrorProfilerDisabled";
static const char __pyx_k_cudaErrorUnsupportedLimit[] = "cudaErrorUnsupportedLimit";
static const char __pyx_k_cudaExternalSemaphore_t_2[] = "cudaExternalSemaphore_t";
static const char __pyx_k_cudaFuncAttributes_getPtr[] = "cudaFuncAttributes.getPtr";
static const char __pyx_k_cudaFuncCachePreferShared[] = "cudaFuncCachePreferShared";
static const char __pyx_k_cudaGLDeviceListNextFrame[] = "cudaGLDeviceListNextFrame";
static const char __pyx_k_cudaGraphAddEventWaitNode[] = "cudaGraphAddEventWaitNode";
static const char __pyx_k_cudaGraphExecUpdateResult[] = "cudaGraphExecUpdateResult";
static const char __pyx_k_cudaGraphInstantiateFlags[] = "cudaGraphInstantiateFlags";
static const char __pyx_k_cudaGraphMemAttributeType[] = "cudaGraphMemAttributeType";
static const char __pyx_k_cudaGraphNodeTypeMemAlloc[] = "cudaGraphNodeTypeMemAlloc";
static const char __pyx_k_cudaGraphRetainUserObject[] = "cudaGraphRetainUserObject";
static const char __pyx_k_cudaGraphicsRegisterFlags[] = "cudaGraphicsRegisterFlags";
static const char __pyx_k_cudaHostNodeParams_getPtr[] = "cudaHostNodeParams.getPtr";
static const char __pyx_k_cudaLaunchAttributeIgnore[] = "cudaLaunchAttributeIgnore";
static const char __pyx_k_cudaMemHandleTypeWin32Kmt[] = "cudaMemHandleTypeWin32Kmt";
static const char __pyx_k_cudaMemLocationTypeDevice[] = "cudaMemLocationTypeDevice";
static const char __pyx_k_cudaMemRangeGetAttributes[] = "cudaMemRangeGetAttributes";
static const char __pyx_k_cudaPos___setstate_cython[] = "cudaPos.__setstate_cython__";
static const char __pyx_k_cudaStreamCreateWithFlags[] = "cudaStreamCreateWithFlags";
static const char __pyx_k_cudaSynchronizationPolicy[] = "cudaSynchronizationPolicy";
static const char __pyx_k_cudaTextureDesc_v2_getPtr[] = "cudaTextureDesc_v2.getPtr";
static const char __pyx_k_cudaUserObjectRetainFlags[] = "cudaUserObjectRetainFlags";
static const char __pyx_k_hostNativeAtomicSupported[] = "hostNativeAtomicSupported : ";
static const char __pyx_k_maxDynamicSharedSizeBytes[] = "maxDynamicSharedSizeBytes : ";
static const char __pyx_k_reservedSharedMemPerBlock[] = "reservedSharedMemPerBlock : ";
static const char __pyx_k_streamPrioritiesSupported[] = "streamPrioritiesSupported : ";
static const char __pyx_k_win32SecurityAttributes_2[] = "win32SecurityAttributes";
static const char __pyx_k_CUDA_Profiler_Output_modes[] = "\n    CUDA Profiler Output modes\n    ";
static const char __pyx_k_CUDA_device_P2P_attributes[] = "\n    CUDA device P2P attributes\n    ";
static const char __pyx_k_CUDA_texture_address_modes[] = "\n    CUDA texture address modes\n    ";
static const char __pyx_k_EGLSyncKHR___reduce_cython[] = "EGLSyncKHR.__reduce_cython__";
static const char __pyx_k_computePreemptionSupported[] = "computePreemptionSupported : ";
static const char __pyx_k_cudaChannelFormatKindFloat[] = "cudaChannelFormatKindFloat";
static const char __pyx_k_cudaCreateTextureObject_v2[] = "cudaCreateTextureObject_v2";
static const char __pyx_k_cudaDevAttrIsMultiGpuBoard[] = "cudaDevAttrIsMultiGpuBoard";
static const char __pyx_k_cudaDevAttrMemoryClockRate[] = "cudaDevAttrMemoryClockRate";
static const char __pyx_k_cudaDeviceEnablePeerAccess[] = "cudaDeviceEnablePeerAccess";
static const char __pyx_k_cudaEglColorFormatY_709_ER[] = "cudaEglColorFormatY_709_ER";
static const char __pyx_k_cudaEglPlaneDesc_st_getPtr[] = "cudaEglPlaneDesc_st.getPtr";
static const char __pyx_k_cudaErrorAddressOfConstant[] = "cudaErrorAddressOfConstant";
static const char __pyx_k_cudaErrorDeviceNotLicensed[] = "cudaErrorDeviceNotLicensed";
static const char __pyx_k_cudaErrorInvalidPitchValue[] = "cudaErrorInvalidPitchValue";
static const char __pyx_k_cudaErrorMisalignedAddress[] = "cudaErrorMisalignedAddress";
static const char __pyx_k_cudaErrorMpsServerNotReady[] = "cudaErrorMpsServerNotReady";
static const char __pyx_k_cudaErrorNotYetImplemented[] = "cudaErrorNotYetImplemented";
static const char __pyx_k_cudaErrorSyncDepthExceeded[] = "cudaErrorSyncDepthExceeded";
static const char __pyx_k_cudaEventCreateFromEGLSync[] = "cudaEventCreateFromEGLSync";
static const char __pyx_k_cudaExtent___reduce_cython[] = "cudaExtent.__reduce_cython__";
static const char __pyx_k_cudaFuncSetSharedMemConfig[] = "cudaFuncSetSharedMemConfig";
static const char __pyx_k_cudaGLMapFlagsWriteDiscard[] = "cudaGLMapFlagsWriteDiscard";
static const char __pyx_k_cudaGetMipmappedArrayLevel[] = "cudaGetMipmappedArrayLevel";
static const char __pyx_k_cudaGraphAddChildGraphNode[] = "cudaGraphAddChildGraphNode";
static const char __pyx_k_cudaGraphExecUpdateSuccess[] = "cudaGraphExecUpdateSuccess";
static const char __pyx_k_cudaGraphHostNodeGetParams[] = "cudaGraphHostNodeGetParams";
static const char __pyx_k_cudaGraphHostNodeSetParams[] = "cudaGraphHostNodeSetParams";
static const char __pyx_k_cudaGraphNodeTypeWaitEvent[] = "cudaGraphNodeTypeWaitEvent";
static const char __pyx_k_cudaGraphReleaseUserObject[] = "cudaGraphReleaseUserObject";
static const char __pyx_k_cudaGraphicsUnmapResources[] = "cudaGraphicsUnmapResources";
static const char __pyx_k_cudaHostAllocWriteCombined[] = "cudaHostAllocWriteCombined";
static const char __pyx_k_cudaIpcMemHandle_st_getPtr[] = "cudaIpcMemHandle_st.getPtr";
static const char __pyx_k_cudaMemAccessFlagsProtNone[] = "cudaMemAccessFlagsProtNone";
static const char __pyx_k_cudaMemAccessFlagsProtRead[] = "cudaMemAccessFlagsProtRead";
static const char __pyx_k_cudaMemAdviseSetAccessedBy[] = "cudaMemAdviseSetAccessedBy";
static const char __pyx_k_cudaMemAdviseSetReadMostly[] = "cudaMemAdviseSetReadMostly";
static const char __pyx_k_cudaMemLocationTypeInvalid[] = "cudaMemLocationTypeInvalid";
static const char __pyx_k_cudaMemPoolAttrUsedMemHigh[] = "cudaMemPoolAttrUsedMemHigh";
static const char __pyx_k_cudaMemcpy2DFromArrayAsync[] = "cudaMemcpy2DFromArrayAsync";
static const char __pyx_k_cudaMemoryTypeUnregistered[] = "cudaMemoryTypeUnregistered";
static const char __pyx_k_cudaMipmappedArray_const_t[] = "<cudaMipmappedArray_const_t ";
static const char __pyx_k_cudaSharedmemCarveoutMaxL1[] = "cudaSharedmemCarveoutMaxL1";
static const char __pyx_k_cudaSurfaceObject_t_getPtr[] = "cudaSurfaceObject_t.getPtr";
static const char __pyx_k_cudaSyncPolicyBlockingSync[] = "cudaSyncPolicyBlockingSync";
static const char __pyx_k_cudaTextureObject_t_getPtr[] = "cudaTextureObject_t.getPtr";
static const char __pyx_k_kernelExecTimeoutEnabled_2[] = "kernelExecTimeoutEnabled";
static const char __pyx_k_maxBlocksPerMultiProcessor[] = "maxBlocksPerMultiProcessor : ";
static const char __pyx_k_maxSurfaceCubemapLayered_2[] = "maxSurfaceCubemapLayered";
static const char __pyx_k_maxTextureCubemapLayered_2[] = "maxTextureCubemapLayered";
static const char __pyx_k_persistingL2CacheMaxSize_2[] = "persistingL2CacheMaxSize";
static const char __pyx_k_sharedMemPerMultiprocessor[] = "sharedMemPerMultiprocessor : ";
static const char __pyx_k_CUDA_Surface_boundary_modes[] = "\n    CUDA Surface boundary modes\n    ";
static const char __pyx_k_CUDA_memory_pool_attributes[] = "\n    CUDA memory pool attributes\n    ";
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_VdpDevice___setstate_cython[] = "VdpDevice.__setstate_cython__";
static const char __pyx_k_accessPolicyMaxWindowSize_2[] = "accessPolicyMaxWindowSize";
static const char __pyx_k_cudaAccessPropertyStreaming[] = "cudaAccessPropertyStreaming";
static const char __pyx_k_cudaArrayMemoryRequirements[] = "cudaArrayMemoryRequirements";
static const char __pyx_k_cudaArray_t___reduce_cython[] = "cudaArray_t.__reduce_cython__";
static const char __pyx_k_cudaChannelFormatKindSigned[] = "cudaChannelFormatKindSigned";
static const char __pyx_k_cudaClusterSchedulingPolicy[] = "cudaClusterSchedulingPolicy";
static const char __pyx_k_cudaDevAttrAsyncEngineCount[] = "cudaDevAttrAsyncEngineCount";
static const char __pyx_k_cudaDevAttrCanMapHostMemory[] = "cudaDevAttrCanMapHostMemory";
static const char __pyx_k_cudaDevAttrSurfaceAlignment[] = "cudaDevAttrSurfaceAlignment";
static const char __pyx_k_cudaDevAttrTextureAlignment[] = "cudaDevAttrTextureAlignment";
static const char __pyx_k_cudaDeviceDisablePeerAccess[] = "cudaDeviceDisablePeerAccess";
static const char __pyx_k_cudaDeviceGetDefaultMemPool[] = "cudaDeviceGetDefaultMemPool";
static const char __pyx_k_cudaEglColorFormatBayerBCCR[] = "cudaEglColorFormatBayerBCCR";
static const char __pyx_k_cudaEglColorFormatBayerBGGR[] = "cudaEglColorFormatBayerBGGR";
static const char __pyx_k_cudaEglColorFormatBayerCBRC[] = "cudaEglColorFormatBayerCBRC";
static const char __pyx_k_cudaEglColorFormatBayerCRBC[] = "cudaEglColorFormatBayerCRBC";
static const char __pyx_k_cudaEglColorFormatBayerGBRG[] = "cudaEglColorFormatBayerGBRG";
static const char __pyx_k_cudaEglColorFormatBayerGRBG[] = "cudaEglColorFormatBayerGRBG";
static const char __pyx_k_cudaEglColorFormatBayerRCCB[] = "cudaEglColorFormatBayerRCCB";
static const char __pyx_k_cudaEglColorFormatBayerRGGB[] = "cudaEglColorFormatBayerRGGB";
static const char __pyx_k_cudaErrorContextIsDestroyed[] = "cudaErrorContextIsDestroyed";
static const char __pyx_k_cudaErrorDeviceAlreadyInUse[] = "cudaErrorDeviceAlreadyInUse";
static const char __pyx_k_cudaErrorDevicesUnavailable[] = "cudaErrorDevicesUnavailable";
static const char __pyx_k_cudaErrorHardwareStackError[] = "cudaErrorHardwareStackError";
static const char __pyx_k_cudaErrorIllegalInstruction[] = "cudaErrorIllegalInstruction";
static const char __pyx_k_cudaErrorInsufficientDriver[] = "cudaErrorInsufficientDriver";
static const char __pyx_k_cudaErrorInvalidClusterSize[] = "cudaErrorInvalidClusterSize";
static const char __pyx_k_cudaErrorInvalidHostPointer[] = "cudaErrorInvalidHostPointer";
static const char __pyx_k_cudaErrorInvalidKernelImage[] = "cudaErrorInvalidKernelImage";
static const char __pyx_k_cudaErrorInvalidNormSetting[] = "cudaErrorInvalidNormSetting";
static const char __pyx_k_cudaErrorNotMappedAsPointer[] = "cudaErrorNotMappedAsPointer";
static const char __pyx_k_cudaErrorPriorLaunchFailure[] = "cudaErrorPriorLaunchFailure";
static const char __pyx_k_cudaErrorSetOnActiveProcess[] = "cudaErrorSetOnActiveProcess";
static const char __pyx_k_cudaErrorStreamCaptureMerge[] = "cudaErrorStreamCaptureMerge";
static const char __pyx_k_cudaErrorTextureFetchFailed[] = "cudaErrorTextureFetchFailed";
static const char __pyx_k_cudaExternalMemoryDedicated[] = "cudaExternalMemoryDedicated";
static const char __pyx_k_cudaExternalMemory_t_getPtr[] = "cudaExternalMemory_t.getPtr";
static const char __pyx_k_cudaGraphAddEventRecordNode[] = "cudaGraphAddEventRecordNode";
static const char __pyx_k_cudaGraphMemAttrUsedMemHigh[] = "cudaGraphMemAttrUsedMemHigh";
static const char __pyx_k_cudaGraphRemoveDependencies[] = "cudaGraphRemoveDependencies";
static const char __pyx_k_cudaGraphicsGLRegisterImage[] = "cudaGraphicsGLRegisterImage";
static const char __pyx_k_cudaImportExternalSemaphore[] = "cudaImportExternalSemaphore";
static const char __pyx_k_cudaKernelNodeParams_getPtr[] = "cudaKernelNodeParams.getPtr";
static const char __pyx_k_cudaLaunchAttributePriority[] = "cudaLaunchAttributePriority";
static const char __pyx_k_cudaMemAllocationHandleType[] = "cudaMemAllocationHandleType";
static const char __pyx_k_cudaMemAllocationTypePinned[] = "cudaMemAllocationTypePinned";
static const char __pyx_k_cudaMipmappedArray_t_getPtr[] = "cudaMipmappedArray_t.getPtr";
static const char __pyx_k_cudaReadModeNormalizedFloat[] = "cudaReadModeNormalizedFloat";
static const char __pyx_k_cudaResViewFormatSignedInt1[] = "cudaResViewFormatSignedInt1";
static const char __pyx_k_cudaResViewFormatSignedInt2[] = "cudaResViewFormatSignedInt2";
static const char __pyx_k_cudaResViewFormatSignedInt4[] = "cudaResViewFormatSignedInt4";
static const char __pyx_k_cudaResourceViewDesc_getPtr[] = "cudaResourceViewDesc.getPtr";
static const char __pyx_k_cudaStreamCallback_t_getPtr[] = "cudaStreamCallback_t.getPtr";
static const char __pyx_k_cudaStreamCaptureModeGlobal[] = "cudaStreamCaptureModeGlobal";
static const char __pyx_k_cudaStreamCaptureStatusNone[] = "cudaStreamCaptureStatusNone";
static const char __pyx_k_cudaStreamGetCaptureInfo_v2[] = "cudaStreamGetCaptureInfo_v2";
static const char __pyx_k_hostNativeAtomicSupported_2[] = "hostNativeAtomicSupported";
static const char __pyx_k_maxDynamicSharedSizeBytes_2[] = "maxDynamicSharedSizeBytes";
static const char __pyx_k_maxThreadsPerMultiProcessor[] = "maxThreadsPerMultiProcessor : ";
static const char __pyx_k_reservedSharedMemPerBlock_2[] = "reservedSharedMemPerBlock";
static const char __pyx_k_streamPrioritiesSupported_2[] = "streamPrioritiesSupported";
static const char __pyx_k_CUDA_cooperative_group_scope[] = "\n    CUDA cooperative group scope\n    ";
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_computePreemptionSupported_2[] = "computePreemptionSupported";
static const char __pyx_k_cooperativeMultiDeviceLaunch[] = "cooperativeMultiDeviceLaunch : ";
static const char __pyx_k_cudaAccessPropertyPersisting[] = "cudaAccessPropertyPersisting";
static const char __pyx_k_cudaArrayGetSparseProperties[] = "cudaArrayGetSparseProperties";
static const char __pyx_k_cudaChannelFormatDesc_getPtr[] = "cudaChannelFormatDesc.getPtr";
static const char __pyx_k_cudaDestroyExternalSemaphore[] = "cudaDestroyExternalSemaphore";
static const char __pyx_k_cudaDevAttrConcurrentKernels[] = "cudaDevAttrConcurrentKernels";
static const char __pyx_k_cudaDevAttrCooperativeLaunch[] = "cudaDevAttrCooperativeLaunch";
static const char __pyx_k_cudaDevAttrKernelExecTimeout[] = "cudaDevAttrKernelExecTimeout";
static const char __pyx_k_cudaDevAttrMaxSurface1DWidth[] = "cudaDevAttrMaxSurface1DWidth";
static const char __pyx_k_cudaDevAttrMaxSurface2DWidth[] = "cudaDevAttrMaxSurface2DWidth";
static const char __pyx_k_cudaDevAttrMaxSurface3DDepth[] = "cudaDevAttrMaxSurface3DDepth";
static const char __pyx_k_cudaDevAttrMaxSurface3DWidth[] = "cudaDevAttrMaxSurface3DWidth";
static const char __pyx_k_cudaDevAttrMaxTexture1DWidth[] = "cudaDevAttrMaxTexture1DWidth";
static const char __pyx_k_cudaDevAttrMaxTexture2DWidth[] = "cudaDevAttrMaxTexture2DWidth";
static const char __pyx_k_cudaDevAttrMaxTexture3DDepth[] = "cudaDevAttrMaxTexture3DDepth";
static const char __pyx_k_cudaDevAttrMaxTexture3DWidth[] = "cudaDevAttrMaxTexture3DWidth";
static const char __pyx_k_cudaDevAttrUnifiedAddressing[] = "cudaDevAttrUnifiedAddressing";
static const char __pyx_k_cudaDeviceGetSharedMemConfig[] = "cudaDeviceGetSharedMemConfig";
static const char __pyx_k_cudaDeviceSetSharedMemConfig[] = "cudaDeviceSetSharedMemConfig";
static const char __pyx_k_cudaEGLStreamConsumerConnect[] = "cudaEGLStreamConsumerConnect";
static const char __pyx_k_cudaEGLStreamProducerConnect[] = "cudaEGLStreamProducerConnect";
static const char __pyx_k_cudaEglColorFormatY10_709_ER[] = "cudaEglColorFormatY10_709_ER";
static const char __pyx_k_cudaEglColorFormatY12_709_ER[] = "cudaEglColorFormatY12_709_ER";
static const char __pyx_k_cudaEglResourceLocationFlags[] = "cudaEglResourceLocationFlags";
static const char __pyx_k_cudaErrorDeviceUninitialized[] = "cudaErrorDeviceUninitialized";
static const char __pyx_k_cudaErrorInitializationError[] = "cudaErrorInitializationError";
static const char __pyx_k_cudaErrorInvalidAddressSpace[] = "cudaErrorInvalidAddressSpace";
static const char __pyx_k_cudaErrorJitCompilerNotFound[] = "cudaErrorJitCompilerNotFound";
static const char __pyx_k_cudaErrorLaunchFileScopedTex[] = "cudaErrorLaunchFileScopedTex";
static const char __pyx_k_cudaErrorMemoryValueTooLarge[] = "cudaErrorMemoryValueTooLarge";
static const char __pyx_k_cudaErrorMpsClientTerminated[] = "cudaErrorMpsClientTerminated";
static const char __pyx_k_cudaErrorMpsConnectionFailed[] = "cudaErrorMpsConnectionFailed";
static const char __pyx_k_cudaErrorNvlinkUncorrectable[] = "cudaErrorNvlinkUncorrectable";
static const char __pyx_k_cudaExtent___setstate_cython[] = "cudaExtent.__setstate_cython__";
static const char __pyx_k_cudaExternalMemoryBufferDesc[] = "cudaExternalMemoryBufferDesc";
static const char __pyx_k_cudaExternalMemoryHandleDesc[] = "cudaExternalMemoryHandleDesc";
static const char __pyx_k_cudaExternalMemoryHandleType[] = "cudaExternalMemoryHandleType";
static const char __pyx_k_cudaGLDeviceListCurrentFrame[] = "cudaGLDeviceListCurrentFrame";
static const char __pyx_k_cudaGetDriverEntryPointFlags[] = "cudaGetDriverEntryPointFlags";
static const char __pyx_k_cudaGraphKernelNodeGetParams[] = "cudaGraphKernelNodeGetParams";
static const char __pyx_k_cudaGraphKernelNodeSetParams[] = "cudaGraphKernelNodeSetParams";
static const char __pyx_k_cudaGraphMemcpyNodeGetParams[] = "cudaGraphMemcpyNodeGetParams";
static const char __pyx_k_cudaGraphMemcpyNodeSetParams[] = "cudaGraphMemcpyNodeSetParams";
static const char __pyx_k_cudaGraphMemsetNodeGetParams[] = "cudaGraphMemsetNodeGetParams";
static const char __pyx_k_cudaGraphMemsetNodeSetParams[] = "cudaGraphMemsetNodeSetParams";
static const char __pyx_k_cudaGraphNodeGetDependencies[] = "cudaGraphNodeGetDependencies";
static const char __pyx_k_cudaGraphNodeTypeEventRecord[] = "cudaGraphNodeTypeEventRecord";
static const char __pyx_k_cudaGraphicsEGLRegisterImage[] = "cudaGraphicsEGLRegisterImage";
static const char __pyx_k_cudaGraphicsGLRegisterBuffer[] = "cudaGraphicsGLRegisterBuffer";
static const char __pyx_k_cudaGraphicsMapFlagsReadOnly[] = "cudaGraphicsMapFlagsReadOnly";
static const char __pyx_k_cudaHostFn_t___reduce_cython[] = "cudaHostFn_t.__reduce_cython__";
static const char __pyx_k_cudaIpcEventHandle_st_getPtr[] = "cudaIpcEventHandle_st.getPtr";
static const char __pyx_k_cudaLimitDevRuntimeSyncDepth[] = "cudaLimitDevRuntimeSyncDepth";
static const char __pyx_k_cudaMemAdviseUnsetAccessedBy[] = "cudaMemAdviseUnsetAccessedBy";
static const char __pyx_k_cudaMemAdviseUnsetReadMostly[] = "cudaMemAdviseUnsetReadMostly";
static const char __pyx_k_cudaMemAllocationTypeInvalid[] = "cudaMemAllocationTypeInvalid";
static const char __pyx_k_cudaMemcpy3DPeerParms_getPtr[] = "cudaMemcpy3DPeerParms.getPtr";
static const char __pyx_k_cudaMipmappedArray_const_t_2[] = "cudaMipmappedArray_const_t";
static const char __pyx_k_cudaPointerAttributes_getPtr[] = "cudaPointerAttributes.getPtr";
static const char __pyx_k_cudaResViewFormatSignedChar1[] = "cudaResViewFormatSignedChar1";
static const char __pyx_k_cudaResViewFormatSignedChar2[] = "cudaResViewFormatSignedChar2";
static const char __pyx_k_cudaResViewFormatSignedChar4[] = "cudaResViewFormatSignedChar4";
static const char __pyx_k_cudaSharedMemBankSizeDefault[] = "cudaSharedMemBankSizeDefault";
static const char __pyx_k_cudaSharedmemCarveoutDefault[] = "cudaSharedmemCarveoutDefault";
static const char __pyx_k_cudaStreamCaptureModeRelaxed[] = "cudaStreamCaptureModeRelaxed";
static const char __pyx_k_cudaStreamCreateWithPriority[] = "cudaStreamCreateWithPriority";
static const char __pyx_k_disableTrilinearOptimization[] = "disableTrilinearOptimization : ";
static const char __pyx_k_maxBlocksPerMultiProcessor_2[] = "maxBlocksPerMultiProcessor";
static const char __pyx_k_sharedMemPerMultiprocessor_2[] = "sharedMemPerMultiprocessor";
static const char __pyx_k_CUDA_Graph_Update_error_types[] = "\n    CUDA Graph Update error types\n    ";
static const char __pyx_k_EGLImageKHR___setstate_cython[] = "EGLImageKHR.__setstate_cython__";
static const char __pyx_k_cudaAccessPolicyWindow_getPtr[] = "cudaAccessPolicyWindow.getPtr";
static const char __pyx_k_cudaArray_t___setstate_cython[] = "cudaArray_t.__setstate_cython__";
static const char __pyx_k_cudaChannelFormatKindUnsigned[] = "cudaChannelFormatKindUnsigned";
static const char __pyx_k_cudaCtxResetPersistingL2Cache[] = "cudaCtxResetPersistingL2Cache";
static const char __pyx_k_cudaDevAttrMaxSurface2DHeight[] = "cudaDevAttrMaxSurface2DHeight";
static const char __pyx_k_cudaDevAttrMaxSurface3DHeight[] = "cudaDevAttrMaxSurface3DHeight";
static const char __pyx_k_cudaDevAttrMaxTexture2DHeight[] = "cudaDevAttrMaxTexture2DHeight";
static const char __pyx_k_cudaDevAttrMaxTexture3DHeight[] = "cudaDevAttrMaxTexture3DHeight";
static const char __pyx_k_cudaDevAttrMaxThreadsPerBlock[] = "cudaDevAttrMaxThreadsPerBlock";
static const char __pyx_k_cudaDevP2PAttrAccessSupported[] = "cudaDevP2PAttrAccessSupported";
static const char __pyx_k_cudaDevP2PAttrPerformanceRank[] = "cudaDevP2PAttrPerformanceRank";
static const char __pyx_k_cudaEglColorFormatBayer10BGGR[] = "cudaEglColorFormatBayer10BGGR";
static const char __pyx_k_cudaEglColorFormatBayer10CCCC[] = "cudaEglColorFormatBayer10CCCC";
static const char __pyx_k_cudaEglColorFormatBayer10GBRG[] = "cudaEglColorFormatBayer10GBRG";
static const char __pyx_k_cudaEglColorFormatBayer10GRBG[] = "cudaEglColorFormatBayer10GRBG";
static const char __pyx_k_cudaEglColorFormatBayer10RGGB[] = "cudaEglColorFormatBayer10RGGB";
static const char __pyx_k_cudaEglColorFormatBayer12BCCR[] = "cudaEglColorFormatBayer12BCCR";
static const char __pyx_k_cudaEglColorFormatBayer12BGGR[] = "cudaEglColorFormatBayer12BGGR";
static const char __pyx_k_cudaEglColorFormatBayer12CBRC[] = "cudaEglColorFormatBayer12CBRC";
static const char __pyx_k_cudaEglColorFormatBayer12CCCC[] = "cudaEglColorFormatBayer12CCCC";
static const char __pyx_k_cudaEglColorFormatBayer12CRBC[] = "cudaEglColorFormatBayer12CRBC";
static const char __pyx_k_cudaEglColorFormatBayer12GBRG[] = "cudaEglColorFormatBayer12GBRG";
static const char __pyx_k_cudaEglColorFormatBayer12GRBG[] = "cudaEglColorFormatBayer12GRBG";
static const char __pyx_k_cudaEglColorFormatBayer12RCCB[] = "cudaEglColorFormatBayer12RCCB";
static const char __pyx_k_cudaEglColorFormatBayer12RGGB[] = "cudaEglColorFormatBayer12RGGB";
static const char __pyx_k_cudaEglColorFormatBayer14BGGR[] = "cudaEglColorFormatBayer14BGGR";
static const char __pyx_k_cudaEglColorFormatBayer14GBRG[] = "cudaEglColorFormatBayer14GBRG";
static const char __pyx_k_cudaEglColorFormatBayer14GRBG[] = "cudaEglColorFormatBayer14GRBG";
static const char __pyx_k_cudaEglColorFormatBayer14RGGB[] = "cudaEglColorFormatBayer14RGGB";
static const char __pyx_k_cudaEglColorFormatBayer20BGGR[] = "cudaEglColorFormatBayer20BGGR";
static const char __pyx_k_cudaEglColorFormatBayer20GBRG[] = "cudaEglColorFormatBayer20GBRG";
static const char __pyx_k_cudaEglColorFormatBayer20GRBG[] = "cudaEglColorFormatBayer20GRBG";
static const char __pyx_k_cudaEglColorFormatBayer20RGGB[] = "cudaEglColorFormatBayer20RGGB";
static const char __pyx_k_cudaEglResourceLocationSysmem[] = "cudaEglResourceLocationSysmem";
static const char __pyx_k_cudaEglResourceLocationVidmem[] = "cudaEglResourceLocationVidmem";
static const char __pyx_k_cudaErrorDuplicateSurfaceName[] = "cudaErrorDuplicateSurfaceName";
static const char __pyx_k_cudaErrorDuplicateTextureName[] = "cudaErrorDuplicateTextureName";
static const char __pyx_k_cudaErrorInvalidConfiguration[] = "cudaErrorInvalidConfiguration";
static const char __pyx_k_cudaErrorInvalidDevicePointer[] = "cudaErrorInvalidDevicePointer";
static const char __pyx_k_cudaErrorInvalidFilterSetting[] = "cudaErrorInvalidFilterSetting";
static const char __pyx_k_cudaErrorLaunchFileScopedSurf[] = "cudaErrorLaunchFileScopedSurf";
static const char __pyx_k_cudaErrorLaunchOutOfResources[] = "cudaErrorLaunchOutOfResources";
static const char __pyx_k_cudaErrorMissingConfiguration[] = "cudaErrorMissingConfiguration";
static const char __pyx_k_cudaErrorMixedDeviceExecution[] = "cudaErrorMixedDeviceExecution";
static const char __pyx_k_cudaErrorMpsMaxClientsReached[] = "cudaErrorMpsMaxClientsReached";
static const char __pyx_k_cudaErrorPeerAccessNotEnabled[] = "cudaErrorPeerAccessNotEnabled";
static const char __pyx_k_cudaErrorSynchronizationError[] = "cudaErrorSynchronizationError";
static const char __pyx_k_cudaErrorSystemDriverMismatch[] = "cudaErrorSystemDriverMismatch";
static const char __pyx_k_cudaGraphDebugDotFlagsHandles[] = "cudaGraphDebugDotFlagsHandles";
static const char __pyx_k_cudaGraphDebugDotFlagsVerbose[] = "cudaGraphDebugDotFlagsVerbose";
static const char __pyx_k_cudaGraphInstantiateWithFlags[] = "cudaGraphInstantiateWithFlags";
static const char __pyx_k_cudaGraphMemFreeNodeGetParams[] = "cudaGraphMemFreeNodeGetParams";
static const char __pyx_k_cudaGraphicsCubeFaceNegativeX[] = "cudaGraphicsCubeFaceNegativeX";
static const char __pyx_k_cudaGraphicsCubeFaceNegativeY[] = "cudaGraphicsCubeFaceNegativeY";
static const char __pyx_k_cudaGraphicsCubeFaceNegativeZ[] = "cudaGraphicsCubeFaceNegativeZ";
static const char __pyx_k_cudaGraphicsCubeFacePositiveX[] = "cudaGraphicsCubeFacePositiveX";
static const char __pyx_k_cudaGraphicsCubeFacePositiveY[] = "cudaGraphicsCubeFacePositiveY";
static const char __pyx_k_cudaGraphicsCubeFacePositiveZ[] = "cudaGraphicsCubeFacePositiveZ";
static const char __pyx_k_cudaGraphicsRegisterFlagsNone[] = "cudaGraphicsRegisterFlagsNone";
static const char __pyx_k_cudaGraphicsResource_t_getPtr[] = "cudaGraphicsResource_t.getPtr";
static const char __pyx_k_cudaLaunchAttribute_st_getPtr[] = "cudaLaunchAttribute_st.getPtr";
static const char __pyx_k_cudaMemAllocNodeParams_getPtr[] = "cudaMemAllocNodeParams.getPtr";
static const char __pyx_k_cudaMemPoolAttrUsedMemCurrent[] = "cudaMemPoolAttrUsedMemCurrent";
static const char __pyx_k_cudaResViewFormatSignedShort1[] = "cudaResViewFormatSignedShort1";
static const char __pyx_k_cudaResViewFormatSignedShort2[] = "cudaResViewFormatSignedShort2";
static const char __pyx_k_cudaResViewFormatSignedShort4[] = "cudaResViewFormatSignedShort4";
static const char __pyx_k_cudaResViewFormatUnsignedInt1[] = "cudaResViewFormatUnsignedInt1";
static const char __pyx_k_cudaResViewFormatUnsignedInt2[] = "cudaResViewFormatUnsignedInt2";
static const char __pyx_k_cudaResViewFormatUnsignedInt4[] = "cudaResViewFormatUnsignedInt4";
static const char __pyx_k_cudaResourceDesc_res_u_getPtr[] = "_cudaResourceDesc_res_u.getPtr";
static const char __pyx_k_cudaSharedMemBankSizeFourByte[] = "cudaSharedMemBankSizeFourByte";
static const char __pyx_k_cudaStreamCaptureStatusActive[] = "cudaStreamCaptureStatusActive";
static const char __pyx_k_cudaSurfaceTypeCubemapLayered[] = "cudaSurfaceTypeCubemapLayered";
static const char __pyx_k_cudaTextureTypeCubemapLayered[] = "cudaTextureTypeCubemapLayered";
static const char __pyx_k_impl_private_CUDA_error_types[] = "\n    impl_private CUDA error types\n    ";
static const char __pyx_k_maxThreadsPerMultiProcessor_2[] = "maxThreadsPerMultiProcessor";
static const char __pyx_k_reserved_length_must_be_64_is[] = "reserved length must be 64, is ";
static const char __pyx_k_CUDA_Graph_debug_write_options[] = "\n    CUDA Graph debug write options\n    ";
static const char __pyx_k_CUDA_graphics_interop_register[] = "\n    CUDA graphics interop register flags\n    ";
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:`~.cudaLaunchAttribute`\n    ";
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:`~.cudaEglResourceLocationFlags` to give a hint about the\n    desired location.  :py:obj:`~.cudaEglResourceLocationSysmem` - the\n    frame data is made resident on the system memory to be accessed by\n    CUDA.  :py:obj:`~.cudaEglResourceLocationVidmem` - the frame data\n    is made resident on the dedicated video memory to be accessed by\n    CUDA.  There may be an additional latency due to new allocation and\n    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_cooperativeMultiDeviceLaunch_2[] = "cooperativeMultiDeviceLaunch";
static const char __pyx_k_cudaArrayGetMemoryRequirements[] = "cudaArrayGetMemoryRequirements";
static const char __pyx_k_cudaDevAttrMultiProcessorCount[] = "cudaDevAttrMultiProcessorCount";
static const char __pyx_k_cudaDevAttrTotalConstantMemory[] = "cudaDevAttrTotalConstantMemory";
static const char __pyx_k_cudaDeviceGetGraphMemAttribute[] = "cudaDeviceGetGraphMemAttribute";
static const char __pyx_k_cudaDeviceProp___reduce_cython[] = "cudaDeviceProp.__reduce_cython__";
static const char __pyx_k_cudaDeviceScheduleBlockingSync[] = "cudaDeviceScheduleBlockingSync";
static const char __pyx_k_cudaDeviceSetGraphMemAttribute[] = "cudaDeviceSetGraphMemAttribute";
static const char __pyx_k_cudaEglColorFormatBayerIspBGGR[] = "cudaEglColorFormatBayerIspBGGR";
static const char __pyx_k_cudaEglColorFormatBayerIspGBRG[] = "cudaEglColorFormatBayerIspGBRG";
static const char __pyx_k_cudaEglColorFormatBayerIspGRBG[] = "cudaEglColorFormatBayerIspGRBG";
static const char __pyx_k_cudaEglColorFormatBayerIspRGGB[] = "cudaEglColorFormatBayerIspRGGB";
static const char __pyx_k_cudaEglColorFormatYUV420Planar[] = "cudaEglColorFormatYUV420Planar";
static const char __pyx_k_cudaEglColorFormatYUV422Planar[] = "cudaEglColorFormatYUV422Planar";
static const char __pyx_k_cudaEglColorFormatYUV444Planar[] = "cudaEglColorFormatYUV444Planar";
static const char __pyx_k_cudaEglColorFormatYVU420Planar[] = "cudaEglColorFormatYVU420Planar";
static const char __pyx_k_cudaEglColorFormatYVU422Planar[] = "cudaEglColorFormatYVU422Planar";
static const char __pyx_k_cudaEglColorFormatYVU444Planar[] = "cudaEglColorFormatYVU444Planar";
static const char __pyx_k_cudaErrorDuplicateVariableName[] = "cudaErrorDuplicateVariableName";
static const char __pyx_k_cudaErrorInvalidDeviceFunction[] = "cudaErrorInvalidDeviceFunction";
static const char __pyx_k_cudaErrorInvalidResourceHandle[] = "cudaErrorInvalidResourceHandle";
static const char __pyx_k_cudaErrorInvalidTextureBinding[] = "cudaErrorInvalidTextureBinding";
static const char __pyx_k_cudaErrorMapBufferObjectFailed[] = "cudaErrorMapBufferObjectFailed";
static const char __pyx_k_cudaErrorPeerAccessUnsupported[] = "cudaErrorPeerAccessUnsupported";
static const char __pyx_k_cudaErrorStreamCaptureImplicit[] = "cudaErrorStreamCaptureImplicit";
static const char __pyx_k_cudaErrorStreamCaptureUnjoined[] = "cudaErrorStreamCaptureUnjoined";
static const char __pyx_k_cudaErrorUnsupportedPtxVersion[] = "cudaErrorUnsupportedPtxVersion";
static const char __pyx_k_cudaExternalSemaphore_t_getPtr[] = "cudaExternalSemaphore_t.getPtr";
static const char __pyx_k_cudaGraphEventWaitNodeGetEvent[] = "cudaGraphEventWaitNodeGetEvent";
static const char __pyx_k_cudaGraphEventWaitNodeSetEvent[] = "cudaGraphEventWaitNodeSetEvent";
static const char __pyx_k_cudaGraphExecHostNodeSetParams[] = "cudaGraphExecHostNodeSetParams";
static const char __pyx_k_cudaGraphMemAllocNodeGetParams[] = "cudaGraphMemAllocNodeGetParams";
static const char __pyx_k_cudaGraphMemAttrUsedMemCurrent[] = "cudaGraphMemAttrUsedMemCurrent";
static const char __pyx_k_cudaGraphMemcpyNodeSetParams1D[] = "cudaGraphMemcpyNodeSetParams1D";
static const char __pyx_k_cudaGraphNodeGetDependentNodes[] = "cudaGraphNodeGetDependentNodes";
static const char __pyx_k_cudaGraphicsUnregisterResource[] = "cudaGraphicsUnregisterResource";
static const char __pyx_k_cudaHostFn_t___setstate_cython[] = "cudaHostFn_t.__setstate_cython__";
static const char __pyx_k_cudaIpcMemLazyEnablePeerAccess[] = "cudaIpcMemLazyEnablePeerAccess";
static const char __pyx_k_cudaLaunchAttributeCooperative[] = "cudaLaunchAttributeCooperative";
static const char __pyx_k_cudaLimitMaxL2FetchGranularity[] = "cudaLimitMaxL2FetchGranularity";
static const char __pyx_k_cudaLimitPersistingL2CacheSize[] = "cudaLimitPersistingL2CacheSize";
static const char __pyx_k_cudaMemPoolAttrReservedMemHigh[] = "cudaMemPoolAttrReservedMemHigh";
static const char __pyx_k_cudaPitchedPtr___reduce_cython[] = "cudaPitchedPtr.__reduce_cython__";
static const char __pyx_k_cudaResViewFormatUnsignedChar1[] = "cudaResViewFormatUnsignedChar1";
static const char __pyx_k_cudaResViewFormatUnsignedChar2[] = "cudaResViewFormatUnsignedChar2";
static const char __pyx_k_cudaResViewFormatUnsignedChar4[] = "cudaResViewFormatUnsignedChar4";
static const char __pyx_k_cudaResourceDesc_res_res_array[] = "_cudaResourceDesc_res_res_array_s";
static const char __pyx_k_cudaResourceTypeMipmappedArray[] = "cudaResourceTypeMipmappedArray";
static const char __pyx_k_cudaSharedMemBankSizeEightByte[] = "cudaSharedMemBankSizeEightByte";
static const char __pyx_k_cudaSharedmemCarveoutMaxShared[] = "cudaSharedmemCarveoutMaxShared";
static const char __pyx_k_cudaUserObjectNoDestructorSync[] = "cudaUserObjectNoDestructorSync";
static const char __pyx_k_directManagedMemAccessFromHost[] = "directManagedMemAccessFromHost : ";
static const char __pyx_k_disableTrilinearOptimization_2[] = "disableTrilinearOptimization";
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.\n    ";
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_GPUDirect_RDMA_flush_write[] = "\n    CUDA GPUDirect RDMA flush writes APIs supported on the device\n    ";
static const char __pyx_k_CUDA_devices_corresponding_to_t[] = "\n    CUDA devices corresponding to the current OpenGL context\n    ";
static const char __pyx_k_CUDA_function_attributes_that_c[] = "\n    CUDA function attributes that can be set using\n    :py:obj:`~.cudaFuncSetAttribute`\n    ";
static const char __pyx_k_CUDA_function_cache_configurati[] = "\n    CUDA function cache configurations\n    ";
static const char __pyx_k_CUDA_graphics_interop_array_ind[] = "\n    CUDA graphics interop array indices for cube maps\n    ";
static const char __pyx_k_CUDA_graphics_interop_map_flags[] = "\n    CUDA graphics interop map flags\n    ";
static const char __pyx_k_CUDA_shared_memory_configuratio[] = "\n    CUDA shared memory configuration\n    ";
static const char __pyx_k_CUDA_texture_resource_view_form[] = "\n    CUDA texture resource view formats\n    ";
static const char __pyx_k_Cluster_scheduling_policies_The[] = "\n    Cluster scheduling policies. These may be passed to\n    :py:obj:`~.cudaFuncSetAttribute`\n    ";
static const char __pyx_k_Defines_the_allocation_types_av[] = "\n    Defines the allocation types available\n    ";
static const char __pyx_k_External_semaphore_handle_types[] = "\n    External semaphore handle types\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_py_obj_cudaStreamUpda[] = "\n    Flags for :py:obj:`~.cudaStreamUpdateCaptureDependencies`\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_specify_search_options[] = "\n    Flags to specify search options to be used with\n    :py:obj:`~.cudaGetDriverEntryPoint` For more details see\n    :py:obj:`~.cuGetProcAddress`\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:`~.cudaStreamBeginCapture` and\n    :py:obj:`~.cudaThreadExchangeStreamCaptureMode`\n    ";
static const char __pyx_k_Possible_stream_capture_statuse[] = "\n    Possible stream capture statuses returned by\n    :py:obj:`~.cudaStreamIsCapturing`\n    ";
static const char __pyx_k_Set_device_to_be_used_for_GPU_e[] = " Set device to be used for GPU executions.\n\n    Sets `device` as the current device for the calling host thread. Valid\n    device id's are 0 to (:py:obj:`~.cudaGetDeviceCount()` - 1).\n\n    Any device memory subsequently allocated from this host thread using\n    :py:obj:`~.cudaMalloc()`, :py:obj:`~.cudaMallocPitch()` or\n    :py:obj:`~.cudaMallocArray()` will be physically resident on `device`.\n    Any host memory allocated from this host thread using\n    :py:obj:`~.cudaMallocHost()` or :py:obj:`~.cudaHostAlloc()` or\n    :py:obj:`~.cudaHostRegister()` will have its lifetime associated with\n    `device`. Any streams or events created from this host thread will be\n    associated with `device`. Any kernels launched from this host thread\n    using the <<<>>> operator or :py:obj:`~.cudaLaunchKernel()` will be\n    executed on `device`.\n\n    This call may be made from any host thread, to any device, and at any\n    time. This function will do no synchronization with the previous or new\n    device, and should be considered a very low overhead call. If the\n    current context bound to the calling thread is not the primary context,\n    this call will bind the primary context to the calling thread and all\n    the subsequent memory allocations, stream and event creations, and\n    kernel launches will be associated with the primary context. This\n    function will not initialize the context until a runtime API requiring\n    the context (such as :py:obj:`~.cudaMalloc()`) is used. This function\n    will not return an error if the device is in\n    :py:obj:`~.cudaComputeModeExclusiveProcess` and is occupied by another\n    process or if the device is in :py:obj:`~.cudaComputeModeProhibited`.\n\n    Parameters\n    ----------\n    device : int\n        Device on which the active host thread should execute the device\n        code.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also""\n    --------\n    :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuCtxSetCurrent`\n    ";
static const char __pyx_k_Shared_memory_carveout_configur[] = "\n    Shared memory carveout configurations. These may be passed to\n    cudaFuncSetAttribute\n    ";
static const char __pyx_k_Specifies_performance_hint_with[] = "\n    Specifies performance hint with :py:obj:`~.cudaAccessPolicyWindow`\n    for hitProp and missProp members.\n    ";
static const char __pyx_k_Specifies_the_memory_protection[] = "\n    Specifies the memory protection flags for mapping.\n    ";
static const char __pyx_k_VdpVideoSurface___reduce_cython[] = "VdpVideoSurface.__reduce_cython__";
static const char __pyx_k_cudaAccessPolicyWindow___reduce[] = "cudaAccessPolicyWindow.__reduce_cython__";
static const char __pyx_k_cudaArraySparseProperties_tileE[] = "_cudaArraySparseProperties_tileExtent_s";
static const char __pyx_k_cudaComputeModeExclusiveProcess[] = "cudaComputeModeExclusiveProcess";
static const char __pyx_k_cudaDevAttrCanFlushRemoteWrites[] = "cudaDevAttrCanFlushRemoteWrites";
static const char __pyx_k_cudaDevAttrGlobalMemoryBusWidth[] = "cudaDevAttrGlobalMemoryBusWidth";
static const char __pyx_k_cudaDevAttrMaxRegistersPerBlock[] = "cudaDevAttrMaxRegistersPerBlock";
static const char __pyx_k_cudaDevAttrMaxTexture3DDepthAlt[] = "cudaDevAttrMaxTexture3DDepthAlt";
static const char __pyx_k_cudaDevAttrMaxTexture3DWidthAlt[] = "cudaDevAttrMaxTexture3DWidthAlt";
static const char __pyx_k_cudaDevAttrMemoryPoolsSupported[] = "cudaDevAttrMemoryPoolsSupported";
static const char __pyx_k_cudaDevAttrMultiGpuBoardGroupID[] = "cudaDevAttrMultiGpuBoardGroupID";
static const char __pyx_k_cudaDevAttrPageableMemoryAccess[] = "cudaDevAttrPageableMemoryAccess";
static const char __pyx_k_cudaEGLStreamConsumerDisconnect[] = "cudaEGLStreamConsumerDisconnect";
static const char __pyx_k_cudaEGLStreamProducerDisconnect[] = "cudaEGLStreamProducerDisconnect";
static const char __pyx_k_cudaEglFrame_cudaEglFrame_cudaE[] = "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u";
static const char __pyx_k_cudaEglFrame_st___reduce_cython[] = "cudaEglFrame_st.__reduce_cython__";
static const char __pyx_k_cudaErrorGraphExecUpdateFailure[] = "cudaErrorGraphExecUpdateFailure";
static const char __pyx_k_cudaErrorInvalidGraphicsContext[] = "cudaErrorInvalidGraphicsContext";
static const char __pyx_k_cudaErrorInvalidMemcpyDirection[] = "cudaErrorInvalidMemcpyDirection";
static const char __pyx_k_cudaErrorJitCompilationDisabled[] = "cudaErrorJitCompilationDisabled";
static const char __pyx_k_cudaErrorLaunchMaxDepthExceeded[] = "cudaErrorLaunchMaxDepthExceeded";
static const char __pyx_k_cudaErrorNoKernelImageForDevice[] = "cudaErrorNoKernelImageForDevice";
static const char __pyx_k_cudaErrorProfilerAlreadyStarted[] = "cudaErrorProfilerAlreadyStarted";
static const char __pyx_k_cudaErrorProfilerAlreadyStopped[] = "cudaErrorProfilerAlreadyStopped";
static const char __pyx_k_cudaErrorProfilerNotInitialized[] = "cudaErrorProfilerNotInitialized";
static const char __pyx_k_cudaErrorSharedObjectInitFailed[] = "cudaErrorSharedObjectInitFailed";
static const char __pyx_k_cudaErrorStreamCaptureIsolation[] = "cudaErrorStreamCaptureIsolation";
static const char __pyx_k_cudaErrorStreamCaptureUnmatched[] = "cudaErrorStreamCaptureUnmatched";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha[] = "_cudaExternalMemoryHandleDesc_handle_handle_win32_s";
static const char __pyx_k_cudaExternalMemory_t___setstate[] = "cudaExternalMemory_t.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc[] = "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s";
static const char __pyx_k_cudaExternalSemaphoreHandleType[] = "cudaExternalSemaphoreHandleType";
static const char __pyx_k_cudaExternalSemaphoreSignalPara[] = "_cudaExternalSemaphoreSignalParams_params_params_fence_s";
static const char __pyx_k_cudaExternalSemaphoreWaitParams[] = "_cudaExternalSemaphoreWaitParams_params_params_fence_s";
static const char __pyx_k_cudaGPUDirectRDMAWritesOrdering[] = "cudaGPUDirectRDMAWritesOrdering";
static const char __pyx_k_cudaGetTextureObjectTextureDesc[] = "cudaGetTextureObjectTextureDesc";
static const char __pyx_k_cudaGraphAddDependencies_locals[] = "cudaGraphAddDependencies.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddMemAllocNode_locals[] = "cudaGraphAddMemAllocNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddMemcpyNode1D_locals[] = "cudaGraphAddMemcpyNode1D.<locals>.genexpr";
static const char __pyx_k_cudaGraphChildGraphNodeGetGraph[] = "cudaGraphChildGraphNodeGetGraph";
static const char __pyx_k_cudaGraphKernelNodeGetAttribute[] = "cudaGraphKernelNodeGetAttribute";
static const char __pyx_k_cudaGraphKernelNodeSetAttribute[] = "cudaGraphKernelNodeSetAttribute";
static const char __pyx_k_cudaGraphMemAttrReservedMemHigh[] = "cudaGraphMemAttrReservedMemHigh";
static const char __pyx_k_cudaGraphicsResourceSetMapFlags[] = "cudaGraphicsResourceSetMapFlags";
static const char __pyx_k_cudaGraphicsResource_t___reduce[] = "cudaGraphicsResource_t.__reduce_cython__";
static const char __pyx_k_cudaKernelNodeAttributePriority[] = "cudaKernelNodeAttributePriority";
static const char __pyx_k_cudaKernelNodeParams___setstate[] = "cudaKernelNodeParams.__setstate_cython__";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s";
static const char __pyx_k_cudaLaunchAttributeValue_getPtr[] = "cudaLaunchAttributeValue.getPtr";
static const char __pyx_k_cudaLaunchAttribute_st___reduce[] = "cudaLaunchAttribute_st.__reduce_cython__";
static const char __pyx_k_cudaMemAccessFlagsProtReadWrite[] = "cudaMemAccessFlagsProtReadWrite";
static const char __pyx_k_cudaMemAllocNodeParams___reduce[] = "cudaMemAllocNodeParams.__reduce_cython__";
static const char __pyx_k_cudaMemLocation___reduce_cython[] = "cudaMemLocation.__reduce_cython__";
static const char __pyx_k_cudaMemPoolAttrReleaseThreshold[] = "cudaMemPoolAttrReleaseThreshold";
static const char __pyx_k_cudaMemPoolPtrExportData_getPtr[] = "cudaMemPoolPtrExportData.getPtr";
static const char __pyx_k_cudaMemRangeAttributeAccessedBy[] = "cudaMemRangeAttributeAccessedBy";
static const char __pyx_k_cudaMemRangeAttributeReadMostly[] = "cudaMemRangeAttributeReadMostly";
static const char __pyx_k_cudaMipmappedArray_t___setstate[] = "cudaMipmappedArray_t.__setstate_cython__";
static const char __pyx_k_cudaResViewFormatUnsignedShort1[] = "cudaResViewFormatUnsignedShort1";
static const char __pyx_k_cudaResViewFormatUnsignedShort2[] = "cudaResViewFormatUnsignedShort2";
static const char __pyx_k_cudaResViewFormatUnsignedShort4[] = "cudaResViewFormatUnsignedShort4";
static const char __pyx_k_cudaResourceDesc_res_res_linear[] = "_cudaResourceDesc_res_res_linear_s";
static const char __pyx_k_cudaResourceDesc_res_res_mipmap[] = "_cudaResourceDesc_res_res_mipmap_s";
static const char __pyx_k_cudaResourceDesc_res_res_pitch2[] = "_cudaResourceDesc_res_res_pitch2D_s";
static const char __pyx_k_cudaResourceDesc_res_u___reduce[] = "_cudaResourceDesc_res_u.__reduce_cython__";
static const char __pyx_k_cudaResourceDesc_res_u___setsta[] = "_cudaResourceDesc_res_u.__setstate_cython__";
static const char __pyx_k_cudaResourceViewDesc___setstate[] = "cudaResourceViewDesc.__setstate_cython__";
static const char __pyx_k_cudaStreamCallback_t___setstate[] = "cudaStreamCallback_t.__setstate_cython__";
static const char __pyx_k_cudaTextureDesc___reduce_cython[] = "cudaTextureDesc.__reduce_cython__";
static const char __pyx_k_cudaWaitExternalSemaphoresAsync[] = "cudaWaitExternalSemaphoresAsync.<locals>.genexpr";
static const char __pyx_k_Argument_attributes_is_not_insta[] = "Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]";
static const char __pyx_k_Argument_conn_is_not_instance_of[] = "Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,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[ccudart.cudaGraphNode_t, cuda.CUgraphNode]";
static const char __pyx_k_Argument_descList_is_not_instanc[] = "Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]";
static const char __pyx_k_Argument_extSemArray_is_not_inst[] = "Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]";
static const char __pyx_k_Argument_from__is_not_instance_o[] = "Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]";
static const char __pyx_k_Argument_pCudaResource_is_not_in[] = "Argument 'pCudaResource' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found ";
static const char __pyx_k_Argument_pDependencies_is_not_in[] = "Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]";
static const char __pyx_k_Argument_pStream_is_not_instance[] = "Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found ";
static const char __pyx_k_Argument_paramsArray_is_not_inst[] = "Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]";
static const char __pyx_k_Argument_resources_is_not_instan[] = "Argument 'resources' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found ";
static const char __pyx_k_Argument_to_is_not_instance_of_t[] = "Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]";
static const char __pyx_k_Argument_vdpGetProcAddress_is_no[] = "Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cudart.VdpGetProcAddress'>, found ";
static const char __pyx_k_Failed_to_allocate_length_x_size[] = "Failed to allocate length x size memory: ";
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_canUseHostPointerForRegisteredMe[] = "canUseHostPointerForRegisteredMem : ";
static const char __pyx_k_clusterSchedulingPolicyPreferenc[] = "clusterSchedulingPolicyPreference : ";
static const char __pyx_k_cudaAccessPolicyWindow___setstat[] = "cudaAccessPolicyWindow.__setstate_cython__";
static const char __pyx_k_cudaArrayMemoryRequirements___re[] = "cudaArrayMemoryRequirements.__reduce_cython__";
static const char __pyx_k_cudaArrayMemoryRequirements___se[] = "cudaArrayMemoryRequirements.__setstate_cython__";
static const char __pyx_k_cudaArrayMemoryRequirements_getP[] = "cudaArrayMemoryRequirements.getPtr";
static const char __pyx_k_cudaArraySparsePropertiesSingleM[] = "cudaArraySparsePropertiesSingleMipTail";
static const char __pyx_k_cudaArraySparseProperties___redu[] = "cudaArraySparseProperties.__reduce_cython__";
static const char __pyx_k_cudaArraySparseProperties___sets[] = "cudaArraySparseProperties.__setstate_cython__";
static const char __pyx_k_cudaArraySparseProperties_getPtr[] = "cudaArraySparseProperties.getPtr";
static const char __pyx_k_cudaArray_const_t___reduce_cytho[] = "cudaArray_const_t.__reduce_cython__";
static const char __pyx_k_cudaArray_const_t___setstate_cyt[] = "cudaArray_const_t.__setstate_cython__";
static const char __pyx_k_cudaChannelFormatDesc___reduce_c[] = "cudaChannelFormatDesc.__reduce_cython__";
static const char __pyx_k_cudaChannelFormatDesc___setstate[] = "cudaChannelFormatDesc.__setstate_cython__";
static const char __pyx_k_cudaChannelFormatKindSignedBlock[] = "cudaChannelFormatKindSignedBlockCompressed4";
static const char __pyx_k_cudaChannelFormatKindSignedNorma[] = "cudaChannelFormatKindSignedNormalized8X1";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo[] = "cudaChannelFormatKindUnsignedBlockCompressed1";
static const char __pyx_k_cudaChannelFormatKindUnsignedNor[] = "cudaChannelFormatKindUnsignedNormalized8X1";
static const char __pyx_k_cudaClusterSchedulingPolicyDefau[] = "cudaClusterSchedulingPolicyDefault";
static const char __pyx_k_cudaClusterSchedulingPolicyLoadB[] = "cudaClusterSchedulingPolicyLoadBalancing";
static const char __pyx_k_cudaClusterSchedulingPolicySprea[] = "cudaClusterSchedulingPolicySpread";
static const char __pyx_k_cudaCooperativeLaunchMultiDevice[] = "cudaCooperativeLaunchMultiDeviceNoPreSync";
static const char __pyx_k_cudaDevAttrCanUseHostPointerForR[] = "cudaDevAttrCanUseHostPointerForRegisteredMem";
static const char __pyx_k_cudaDevAttrComputeCapabilityMajo[] = "cudaDevAttrComputeCapabilityMajor";
static const char __pyx_k_cudaDevAttrComputeCapabilityMino[] = "cudaDevAttrComputeCapabilityMinor";
static const char __pyx_k_cudaDevAttrComputePreemptionSupp[] = "cudaDevAttrComputePreemptionSupported";
static const char __pyx_k_cudaDevAttrConcurrentManagedAcce[] = "cudaDevAttrConcurrentManagedAccess";
static const char __pyx_k_cudaDevAttrCooperativeMultiDevic[] = "cudaDevAttrCooperativeMultiDeviceLaunch";
static const char __pyx_k_cudaDevAttrDeferredMappingCudaAr[] = "cudaDevAttrDeferredMappingCudaArraySupported";
static const char __pyx_k_cudaDevAttrDirectManagedMemAcces[] = "cudaDevAttrDirectManagedMemAccessFromHost";
static const char __pyx_k_cudaDevAttrGPUDirectRDMAFlushWri[] = "cudaDevAttrGPUDirectRDMAFlushWritesOptions";
static const char __pyx_k_cudaDevAttrGPUDirectRDMASupporte[] = "cudaDevAttrGPUDirectRDMASupported";
static const char __pyx_k_cudaDevAttrGPUDirectRDMAWritesOr[] = "cudaDevAttrGPUDirectRDMAWritesOrdering";
static const char __pyx_k_cudaDevAttrGlobalL1CacheSupporte[] = "cudaDevAttrGlobalL1CacheSupported";
static const char __pyx_k_cudaDevAttrHostNativeAtomicSuppo[] = "cudaDevAttrHostNativeAtomicSupported";
static const char __pyx_k_cudaDevAttrHostRegisterReadOnlyS[] = "cudaDevAttrHostRegisterReadOnlySupported";
static const char __pyx_k_cudaDevAttrHostRegisterSupported[] = "cudaDevAttrHostRegisterSupported";
static const char __pyx_k_cudaDevAttrLocalL1CacheSupported[] = "cudaDevAttrLocalL1CacheSupported";
static const char __pyx_k_cudaDevAttrMaxAccessPolicyWindow[] = "cudaDevAttrMaxAccessPolicyWindowSize";
static const char __pyx_k_cudaDevAttrMaxBlocksPerMultiproc[] = "cudaDevAttrMaxBlocksPerMultiprocessor";
static const char __pyx_k_cudaDevAttrMaxPersistingL2CacheS[] = "cudaDevAttrMaxPersistingL2CacheSize";
static const char __pyx_k_cudaDevAttrMaxRegistersPerMultip[] = "cudaDevAttrMaxRegistersPerMultiprocessor";
static const char __pyx_k_cudaDevAttrMaxSharedMemoryPerBlo[] = "cudaDevAttrMaxSharedMemoryPerBlock";
static const char __pyx_k_cudaDevAttrMaxSharedMemoryPerMul[] = "cudaDevAttrMaxSharedMemoryPerMultiprocessor";
static const char __pyx_k_cudaDevAttrMaxSurface1DLayeredLa[] = "cudaDevAttrMaxSurface1DLayeredLayers";
static const char __pyx_k_cudaDevAttrMaxSurface1DLayeredWi[] = "cudaDevAttrMaxSurface1DLayeredWidth";
static const char __pyx_k_cudaDevAttrMaxSurface2DLayeredHe[] = "cudaDevAttrMaxSurface2DLayeredHeight";
static const char __pyx_k_cudaDevAttrMaxSurface2DLayeredLa[] = "cudaDevAttrMaxSurface2DLayeredLayers";
static const char __pyx_k_cudaDevAttrMaxSurface2DLayeredWi[] = "cudaDevAttrMaxSurface2DLayeredWidth";
static const char __pyx_k_cudaDevAttrMaxSurfaceCubemapLaye[] = "cudaDevAttrMaxSurfaceCubemapLayeredWidth";
static const char __pyx_k_cudaDevAttrMaxSurfaceCubemapWidt[] = "cudaDevAttrMaxSurfaceCubemapWidth";
static const char __pyx_k_cudaDevAttrMaxTexture1DLayeredLa[] = "cudaDevAttrMaxTexture1DLayeredLayers";
static const char __pyx_k_cudaDevAttrMaxTexture1DLayeredWi[] = "cudaDevAttrMaxTexture1DLayeredWidth";
static const char __pyx_k_cudaDevAttrMaxTexture1DLinearWid[] = "cudaDevAttrMaxTexture1DLinearWidth";
static const char __pyx_k_cudaDevAttrMaxTexture1DMipmapped[] = "cudaDevAttrMaxTexture1DMipmappedWidth";
static const char __pyx_k_cudaDevAttrMaxTexture2DGatherHei[] = "cudaDevAttrMaxTexture2DGatherHeight";
static const char __pyx_k_cudaDevAttrMaxTexture2DGatherWid[] = "cudaDevAttrMaxTexture2DGatherWidth";
static const char __pyx_k_cudaDevAttrMaxTexture2DLayeredHe[] = "cudaDevAttrMaxTexture2DLayeredHeight";
static const char __pyx_k_cudaDevAttrMaxTexture2DLayeredLa[] = "cudaDevAttrMaxTexture2DLayeredLayers";
static const char __pyx_k_cudaDevAttrMaxTexture2DLayeredWi[] = "cudaDevAttrMaxTexture2DLayeredWidth";
static const char __pyx_k_cudaDevAttrMaxTexture2DLinearHei[] = "cudaDevAttrMaxTexture2DLinearHeight";
static const char __pyx_k_cudaDevAttrMaxTexture2DLinearPit[] = "cudaDevAttrMaxTexture2DLinearPitch";
static const char __pyx_k_cudaDevAttrMaxTexture2DLinearWid[] = "cudaDevAttrMaxTexture2DLinearWidth";
static const char __pyx_k_cudaDevAttrMaxTexture2DMipmapped[] = "cudaDevAttrMaxTexture2DMipmappedWidth";
static const char __pyx_k_cudaDevAttrMaxTexture3DHeightAlt[] = "cudaDevAttrMaxTexture3DHeightAlt";
static const char __pyx_k_cudaDevAttrMaxTextureCubemapLaye[] = "cudaDevAttrMaxTextureCubemapLayeredWidth";
static const char __pyx_k_cudaDevAttrMaxTextureCubemapWidt[] = "cudaDevAttrMaxTextureCubemapWidth";
static const char __pyx_k_cudaDevAttrMaxThreadsPerMultiPro[] = "cudaDevAttrMaxThreadsPerMultiProcessor";
static const char __pyx_k_cudaDevAttrMaxTimelineSemaphoreI[] = "cudaDevAttrMaxTimelineSemaphoreInteropSupported";
static const char __pyx_k_cudaDevAttrMemoryPoolSupportedHa[] = "cudaDevAttrMemoryPoolSupportedHandleTypes";
static const char __pyx_k_cudaDevAttrPageableMemoryAccessU[] = "cudaDevAttrPageableMemoryAccessUsesHostPageTables";
static const char __pyx_k_cudaDevAttrReservedSharedMemoryP[] = "cudaDevAttrReservedSharedMemoryPerBlock";
static const char __pyx_k_cudaDevAttrSingleToDoublePrecisi[] = "cudaDevAttrSingleToDoublePrecisionPerfRatio";
static const char __pyx_k_cudaDevAttrSparseCudaArraySuppor[] = "cudaDevAttrSparseCudaArraySupported";
static const char __pyx_k_cudaDevAttrStreamPrioritiesSuppo[] = "cudaDevAttrStreamPrioritiesSupported";
static const char __pyx_k_cudaDevAttrTexturePitchAlignment[] = "cudaDevAttrTexturePitchAlignment";
static const char __pyx_k_cudaDevAttrTimelineSemaphoreInte[] = "cudaDevAttrTimelineSemaphoreInteropSupported";
static const char __pyx_k_cudaDevP2PAttrCudaArrayAccessSup[] = "cudaDevP2PAttrCudaArrayAccessSupported";
static const char __pyx_k_cudaDevP2PAttrNativeAtomicSuppor[] = "cudaDevP2PAttrNativeAtomicSupported";
static const char __pyx_k_cudaDeviceFlushGPUDirectRDMAWrit[] = "cudaDeviceFlushGPUDirectRDMAWrites";
static const char __pyx_k_cudaDeviceGetNvSciSyncAttributes[] = "cudaDeviceGetNvSciSyncAttributes";
static const char __pyx_k_cudaDeviceGetStreamPriorityRange[] = "cudaDeviceGetStreamPriorityRange";
static const char __pyx_k_cudaDeviceGetTexture1DLinearMaxW[] = "cudaDeviceGetTexture1DLinearMaxWidth";
static const char __pyx_k_cudaDeviceProp___setstate_cython[] = "cudaDeviceProp.__setstate_cython__";
static const char __pyx_k_cudaEGLStreamConsumerAcquireFram[] = "cudaEGLStreamConsumerAcquireFrame";
static const char __pyx_k_cudaEGLStreamConsumerConnectWith[] = "cudaEGLStreamConsumerConnectWithFlags";
static const char __pyx_k_cudaEGLStreamConsumerReleaseFram[] = "cudaEGLStreamConsumerReleaseFrame";
static const char __pyx_k_cudaEGLStreamProducerPresentFram[] = "cudaEGLStreamProducerPresentFrame";
static const char __pyx_k_cudaEGLStreamProducerReturnFrame[] = "cudaEGLStreamProducerReturnFrame";
static const char __pyx_k_cudaEglColorFormatY10V10U10_420S[] = "cudaEglColorFormatY10V10U10_420SemiPlanar";
static const char __pyx_k_cudaEglColorFormatY10V10U10_422S[] = "cudaEglColorFormatY10V10U10_422SemiPlanar_2020";
static const char __pyx_k_cudaEglColorFormatY10V10U10_444S[] = "cudaEglColorFormatY10V10U10_444SemiPlanar";
static const char __pyx_k_cudaEglColorFormatY12V12U12_420S[] = "cudaEglColorFormatY12V12U12_420SemiPlanar";
static const char __pyx_k_cudaEglColorFormatY12V12U12_444S[] = "cudaEglColorFormatY12V12U12_444SemiPlanar";
static const char __pyx_k_cudaEglColorFormatYUV420Planar_2[] = "cudaEglColorFormatYUV420Planar_2020";
static const char __pyx_k_cudaEglColorFormatYUV420Planar_7[] = "cudaEglColorFormatYUV420Planar_709";
static const char __pyx_k_cudaEglColorFormatYUV420Planar_E[] = "cudaEglColorFormatYUV420Planar_ER";
static const char __pyx_k_cudaEglColorFormatYUV420SemiPlan[] = "cudaEglColorFormatYUV420SemiPlanar";
static const char __pyx_k_cudaEglColorFormatYUV422Planar_E[] = "cudaEglColorFormatYUV422Planar_ER";
static const char __pyx_k_cudaEglColorFormatYUV422SemiPlan[] = "cudaEglColorFormatYUV422SemiPlanar";
static const char __pyx_k_cudaEglColorFormatYUV444Planar_E[] = "cudaEglColorFormatYUV444Planar_ER";
static const char __pyx_k_cudaEglColorFormatYUV444SemiPlan[] = "cudaEglColorFormatYUV444SemiPlanar";
static const char __pyx_k_cudaEglColorFormatYVU420Planar_2[] = "cudaEglColorFormatYVU420Planar_2020";
static const char __pyx_k_cudaEglColorFormatYVU420Planar_7[] = "cudaEglColorFormatYVU420Planar_709";
static const char __pyx_k_cudaEglColorFormatYVU420Planar_E[] = "cudaEglColorFormatYVU420Planar_ER";
static const char __pyx_k_cudaEglColorFormatYVU420SemiPlan[] = "cudaEglColorFormatYVU420SemiPlanar";
static const char __pyx_k_cudaEglColorFormatYVU422Planar_E[] = "cudaEglColorFormatYVU422Planar_ER";
static const char __pyx_k_cudaEglColorFormatYVU422SemiPlan[] = "cudaEglColorFormatYVU422SemiPlanar";
static const char __pyx_k_cudaEglColorFormatYVU444Planar_E[] = "cudaEglColorFormatYVU444Planar_ER";
static const char __pyx_k_cudaEglColorFormatYVU444SemiPlan[] = "cudaEglColorFormatYVU444SemiPlanar";
static const char __pyx_k_cudaEglFrame_st___setstate_cytho[] = "cudaEglFrame_st.__setstate_cython__";
static const char __pyx_k_cudaEglPlaneDesc_st___reduce_cyt[] = "cudaEglPlaneDesc_st.__reduce_cython__";
static const char __pyx_k_cudaEglPlaneDesc_st___setstate_c[] = "cudaEglPlaneDesc_st.__setstate_cython__";
static const char __pyx_k_cudaEnablePerThreadDefaultStream[] = "cudaEnablePerThreadDefaultStream";
static const char __pyx_k_cudaErrorCallRequiresNewerDriver[] = "cudaErrorCallRequiresNewerDriver";
static const char __pyx_k_cudaErrorCompatNotSupportedOnDev[] = "cudaErrorCompatNotSupportedOnDevice";
static const char __pyx_k_cudaErrorCooperativeLaunchTooLar[] = "cudaErrorCooperativeLaunchTooLarge";
static const char __pyx_k_cudaErrorHostMemoryAlreadyRegist[] = "cudaErrorHostMemoryAlreadyRegistered";
static const char __pyx_k_cudaErrorHostMemoryNotRegistered[] = "cudaErrorHostMemoryNotRegistered";
static const char __pyx_k_cudaErrorIncompatibleDriverConte[] = "cudaErrorIncompatibleDriverContext";
static const char __pyx_k_cudaErrorInvalidChannelDescripto[] = "cudaErrorInvalidChannelDescriptor";
static const char __pyx_k_cudaErrorLaunchIncompatibleTextu[] = "cudaErrorLaunchIncompatibleTexturing";
static const char __pyx_k_cudaErrorLaunchPendingCountExcee[] = "cudaErrorLaunchPendingCountExceeded";
static const char __pyx_k_cudaErrorMpsMaxConnectionsReache[] = "cudaErrorMpsMaxConnectionsReached";
static const char __pyx_k_cudaErrorPeerAccessAlreadyEnable[] = "cudaErrorPeerAccessAlreadyEnabled";
static const char __pyx_k_cudaErrorSharedObjectSymbolNotFo[] = "cudaErrorSharedObjectSymbolNotFound";
static const char __pyx_k_cudaErrorSoftwareValidityNotEsta[] = "cudaErrorSoftwareValidityNotEstablished";
static const char __pyx_k_cudaErrorStreamCaptureInvalidate[] = "cudaErrorStreamCaptureInvalidated";
static const char __pyx_k_cudaErrorStreamCaptureUnsupporte[] = "cudaErrorStreamCaptureUnsupported";
static const char __pyx_k_cudaErrorStreamCaptureWrongThrea[] = "cudaErrorStreamCaptureWrongThread";
static const char __pyx_k_cudaErrorUnmapBufferObjectFailed[] = "cudaErrorUnmapBufferObjectFailed";
static const char __pyx_k_cudaErrorUnsupportedExecAffinity[] = "cudaErrorUnsupportedExecAffinity";
static const char __pyx_k_cudaExternalMemoryBufferDesc___r[] = "cudaExternalMemoryBufferDesc.__reduce_cython__";
static const char __pyx_k_cudaExternalMemoryBufferDesc___s[] = "cudaExternalMemoryBufferDesc.__setstate_cython__";
static const char __pyx_k_cudaExternalMemoryBufferDesc_get[] = "cudaExternalMemoryBufferDesc.getPtr";
static const char __pyx_k_cudaExternalMemoryGetMappedBuffe[] = "cudaExternalMemoryGetMappedBuffer";
static const char __pyx_k_cudaExternalMemoryGetMappedMipma[] = "cudaExternalMemoryGetMappedMipmappedArray";
static const char __pyx_k_cudaExternalMemoryHandleDesc___r[] = "cudaExternalMemoryHandleDesc.__reduce_cython__";
static const char __pyx_k_cudaExternalMemoryHandleDesc___s[] = "cudaExternalMemoryHandleDesc.__setstate_cython__";
static const char __pyx_k_cudaExternalMemoryHandleDesc_get[] = "cudaExternalMemoryHandleDesc.getPtr";
static const char __pyx_k_cudaExternalMemoryHandleTypeD3D1[] = "cudaExternalMemoryHandleTypeD3D12Heap";
static const char __pyx_k_cudaExternalMemoryHandleTypeNvSc[] = "cudaExternalMemoryHandleTypeNvSciBuf";
static const char __pyx_k_cudaExternalMemoryHandleTypeOpaq[] = "cudaExternalMemoryHandleTypeOpaqueFd";
static const char __pyx_k_cudaExternalMemoryMipmappedArray[] = "cudaExternalMemoryMipmappedArrayDesc";
static const char __pyx_k_cudaExternalMemory_t___reduce_cy[] = "cudaExternalMemory_t.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeD[] = "cudaExternalSemaphoreHandleTypeD3D12Fence";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeK[] = "cudaExternalSemaphoreHandleTypeKeyedMutex";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeN[] = "cudaExternalSemaphoreHandleTypeNvSciSync";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeO[] = "cudaExternalSemaphoreHandleTypeOpaqueFd";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeT[] = "cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd";
static const char __pyx_k_cudaExternalSemaphoreSignalNodeP[] = "cudaExternalSemaphoreSignalNodeParams";
static const char __pyx_k_cudaExternalSemaphoreSignalParam[] = "cudaExternalSemaphoreSignalParams";
static const char __pyx_k_cudaExternalSemaphoreSignalSkipN[] = "cudaExternalSemaphoreSignalSkipNvSciBufMemSync";
static const char __pyx_k_cudaExternalSemaphoreWaitNodePar[] = "cudaExternalSemaphoreWaitNodeParams";
static const char __pyx_k_cudaExternalSemaphoreWaitSkipNvS[] = "cudaExternalSemaphoreWaitSkipNvSciBufMemSync";
static const char __pyx_k_cudaExternalSemaphore_t___reduce[] = "cudaExternalSemaphore_t.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphore_t___setsta[] = "cudaExternalSemaphore_t.__setstate_cython__";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesOpti[] = "cudaFlushGPUDirectRDMAWritesOptions";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesScop[] = "cudaFlushGPUDirectRDMAWritesScope";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesTarg[] = "cudaFlushGPUDirectRDMAWritesTarget";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesToAl[] = "cudaFlushGPUDirectRDMAWritesToAllDevices";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesToOw[] = "cudaFlushGPUDirectRDMAWritesToOwner";
static const char __pyx_k_cudaFuncAttributeClusterDimMustB[] = "cudaFuncAttributeClusterDimMustBeSet";
static const char __pyx_k_cudaFuncAttributeClusterScheduli[] = "cudaFuncAttributeClusterSchedulingPolicyPreference";
static const char __pyx_k_cudaFuncAttributeMaxDynamicShare[] = "cudaFuncAttributeMaxDynamicSharedMemorySize";
static const char __pyx_k_cudaFuncAttributeNonPortableClus[] = "cudaFuncAttributeNonPortableClusterSizeAllowed";
static const char __pyx_k_cudaFuncAttributePreferredShared[] = "cudaFuncAttributePreferredSharedMemoryCarveout";
static const char __pyx_k_cudaFuncAttributeRequiredCluster[] = "cudaFuncAttributeRequiredClusterWidth";
static const char __pyx_k_cudaFuncAttributes___reduce_cyth[] = "cudaFuncAttributes.__reduce_cython__";
static const char __pyx_k_cudaFuncAttributes___setstate_cy[] = "cudaFuncAttributes.__setstate_cython__";
static const char __pyx_k_cudaGPUDirectRDMAWritesOrderingA[] = "cudaGPUDirectRDMAWritesOrderingAllDevices";
static const char __pyx_k_cudaGPUDirectRDMAWritesOrderingN[] = "cudaGPUDirectRDMAWritesOrderingNone";
static const char __pyx_k_cudaGPUDirectRDMAWritesOrderingO[] = "cudaGPUDirectRDMAWritesOrderingOwner";
static const char __pyx_k_cudaGetSurfaceObjectResourceDesc[] = "cudaGetSurfaceObjectResourceDesc";
static const char __pyx_k_cudaGetTextureObjectResourceDesc[] = "cudaGetTextureObjectResourceDesc";
static const char __pyx_k_cudaGetTextureObjectResourceView[] = "cudaGetTextureObjectResourceViewDesc";
static const char __pyx_k_cudaGraphAddChildGraphNode_local[] = "cudaGraphAddChildGraphNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddEmptyNode_locals_gen[] = "cudaGraphAddEmptyNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddEventRecordNode_loca[] = "cudaGraphAddEventRecordNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddEventWaitNode_locals[] = "cudaGraphAddEventWaitNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddExternalSemaphoresSi[] = "cudaGraphAddExternalSemaphoresSignalNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddExternalSemaphoresWa[] = "cudaGraphAddExternalSemaphoresWaitNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddHostNode_locals_gene[] = "cudaGraphAddHostNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddKernelNode_locals_ge[] = "cudaGraphAddKernelNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddMemFreeNode_locals_g[] = "cudaGraphAddMemFreeNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddMemcpyNode_locals_ge[] = "cudaGraphAddMemcpyNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphAddMemsetNode_locals_ge[] = "cudaGraphAddMemsetNode.<locals>.genexpr";
static const char __pyx_k_cudaGraphDebugDotFlagsEventNodeP[] = "cudaGraphDebugDotFlagsEventNodeParams";
static const char __pyx_k_cudaGraphDebugDotFlagsExtSemasSi[] = "cudaGraphDebugDotFlagsExtSemasSignalNodeParams";
static const char __pyx_k_cudaGraphDebugDotFlagsExtSemasWa[] = "cudaGraphDebugDotFlagsExtSemasWaitNodeParams";
static const char __pyx_k_cudaGraphDebugDotFlagsHostNodePa[] = "cudaGraphDebugDotFlagsHostNodeParams";
static const char __pyx_k_cudaGraphDebugDotFlagsKernelNode[] = "cudaGraphDebugDotFlagsKernelNodeParams";
static const char __pyx_k_cudaGraphDebugDotFlagsMemcpyNode[] = "cudaGraphDebugDotFlagsMemcpyNodeParams";
static const char __pyx_k_cudaGraphDebugDotFlagsMemsetNode[] = "cudaGraphDebugDotFlagsMemsetNodeParams";
static const char __pyx_k_cudaGraphEventRecordNodeGetEvent[] = "cudaGraphEventRecordNodeGetEvent";
static const char __pyx_k_cudaGraphEventRecordNodeSetEvent[] = "cudaGraphEventRecordNodeSetEvent";
static const char __pyx_k_cudaGraphExecChildGraphNodeSetPa[] = "cudaGraphExecChildGraphNodeSetParams";
static const char __pyx_k_cudaGraphExecEventRecordNodeSetE[] = "cudaGraphExecEventRecordNodeSetEvent";
static const char __pyx_k_cudaGraphExecEventWaitNodeSetEve[] = "cudaGraphExecEventWaitNodeSetEvent";
static const char __pyx_k_cudaGraphExecExternalSemaphoresS[] = "cudaGraphExecExternalSemaphoresSignalNodeSetParams";
static const char __pyx_k_cudaGraphExecExternalSemaphoresW[] = "cudaGraphExecExternalSemaphoresWaitNodeSetParams";
static const char __pyx_k_cudaGraphExecKernelNodeSetParams[] = "cudaGraphExecKernelNodeSetParams";
static const char __pyx_k_cudaGraphExecMemcpyNodeSetParams[] = "cudaGraphExecMemcpyNodeSetParams";
static const char __pyx_k_cudaGraphExecMemsetNodeSetParams[] = "cudaGraphExecMemsetNodeSetParams";
static const char __pyx_k_cudaGraphExecUpdateErrorAttribut[] = "cudaGraphExecUpdateErrorAttributesChanged";
static const char __pyx_k_cudaGraphExecUpdateErrorFunction[] = "cudaGraphExecUpdateErrorFunctionChanged";
static const char __pyx_k_cudaGraphExecUpdateErrorNodeType[] = "cudaGraphExecUpdateErrorNodeTypeChanged";
static const char __pyx_k_cudaGraphExecUpdateErrorNotSuppo[] = "cudaGraphExecUpdateErrorNotSupported";
static const char __pyx_k_cudaGraphExecUpdateErrorParamete[] = "cudaGraphExecUpdateErrorParametersChanged";
static const char __pyx_k_cudaGraphExecUpdateErrorTopology[] = "cudaGraphExecUpdateErrorTopologyChanged";
static const char __pyx_k_cudaGraphExecUpdateErrorUnsuppor[] = "cudaGraphExecUpdateErrorUnsupportedFunctionChange";
static const char __pyx_k_cudaGraphExternalSemaphoresSigna[] = "cudaGraphExternalSemaphoresSignalNodeGetParams";
static const char __pyx_k_cudaGraphExternalSemaphoresWaitN[] = "cudaGraphExternalSemaphoresWaitNodeGetParams";
static const char __pyx_k_cudaGraphInstantiateFlagAutoFree[] = "cudaGraphInstantiateFlagAutoFreeOnLaunch";
static const char __pyx_k_cudaGraphInstantiateFlagUseNodeP[] = "cudaGraphInstantiateFlagUseNodePriority";
static const char __pyx_k_cudaGraphKernelNodeCopyAttribute[] = "cudaGraphKernelNodeCopyAttributes";
static const char __pyx_k_cudaGraphMemAttrReservedMemCurre[] = "cudaGraphMemAttrReservedMemCurrent";
static const char __pyx_k_cudaGraphNodeTypeExtSemaphoreSig[] = "cudaGraphNodeTypeExtSemaphoreSignal";
static const char __pyx_k_cudaGraphNodeTypeExtSemaphoreWai[] = "cudaGraphNodeTypeExtSemaphoreWait";
static const char __pyx_k_cudaGraphRemoveDependencies_loca[] = "cudaGraphRemoveDependencies.<locals>.genexpr";
static const char __pyx_k_cudaGraphicsMapFlagsWriteDiscard[] = "cudaGraphicsMapFlagsWriteDiscard";
static const char __pyx_k_cudaGraphicsRegisterFlagsReadOnl[] = "cudaGraphicsRegisterFlagsReadOnly";
static const char __pyx_k_cudaGraphicsRegisterFlagsSurface[] = "cudaGraphicsRegisterFlagsSurfaceLoadStore";
static const char __pyx_k_cudaGraphicsRegisterFlagsTexture[] = "cudaGraphicsRegisterFlagsTextureGather";
static const char __pyx_k_cudaGraphicsRegisterFlagsWriteDi[] = "cudaGraphicsRegisterFlagsWriteDiscard";
static const char __pyx_k_cudaGraphicsResourceGetMappedEgl[] = "cudaGraphicsResourceGetMappedEglFrame";
static const char __pyx_k_cudaGraphicsResourceGetMappedMip[] = "cudaGraphicsResourceGetMappedMipmappedArray";
static const char __pyx_k_cudaGraphicsResourceGetMappedPoi[] = "cudaGraphicsResourceGetMappedPointer";
static const char __pyx_k_cudaGraphicsResource_t___setstat[] = "cudaGraphicsResource_t.__setstate_cython__";
static const char __pyx_k_cudaGraphicsSubResourceGetMapped[] = "cudaGraphicsSubResourceGetMappedArray";
static const char __pyx_k_cudaGraphicsVDPAURegisterOutputS[] = "cudaGraphicsVDPAURegisterOutputSurface";
static const char __pyx_k_cudaGraphicsVDPAURegisterVideoSu[] = "cudaGraphicsVDPAURegisterVideoSurface";
static const char __pyx_k_cudaHostNodeParams___reduce_cyth[] = "cudaHostNodeParams.__reduce_cython__";
static const char __pyx_k_cudaHostNodeParams___setstate_cy[] = "cudaHostNodeParams.__setstate_cython__";
static const char __pyx_k_cudaIpcEventHandle_st___reduce_c[] = "cudaIpcEventHandle_st.__reduce_cython__";
static const char __pyx_k_cudaIpcEventHandle_st___setstate[] = "cudaIpcEventHandle_st.__setstate_cython__";
static const char __pyx_k_cudaIpcMemHandle_st___reduce_cyt[] = "cudaIpcMemHandle_st.__reduce_cython__";
static const char __pyx_k_cudaIpcMemHandle_st___setstate_c[] = "cudaIpcMemHandle_st.__setstate_cython__";
static const char __pyx_k_cudaKernelNodeAttributeAccessPol[] = "cudaKernelNodeAttributeAccessPolicyWindow";
static const char __pyx_k_cudaKernelNodeAttributeClusterDi[] = "cudaKernelNodeAttributeClusterDimension";
static const char __pyx_k_cudaKernelNodeAttributeClusterSc[] = "cudaKernelNodeAttributeClusterSchedulingPolicyPreference";
static const char __pyx_k_cudaKernelNodeAttributeCooperati[] = "cudaKernelNodeAttributeCooperative";
static const char __pyx_k_cudaKernelNodeParams___reduce_cy[] = "cudaKernelNodeParams.__reduce_cython__";
static const char __pyx_k_cudaLaunchAttributeAccessPolicyW[] = "cudaLaunchAttributeAccessPolicyWindow";
static const char __pyx_k_cudaLaunchAttributeClusterDimens[] = "cudaLaunchAttributeClusterDimension";
static const char __pyx_k_cudaLaunchAttributeClusterSchedu[] = "cudaLaunchAttributeClusterSchedulingPolicyPreference";
static const char __pyx_k_cudaLaunchAttributeProgrammaticE[] = "cudaLaunchAttributeProgrammaticEvent";
static const char __pyx_k_cudaLaunchAttributeProgrammaticS[] = "cudaLaunchAttributeProgrammaticStreamSerialization";
static const char __pyx_k_cudaLaunchAttributeSynchronizati[] = "cudaLaunchAttributeSynchronizationPolicy";
static const char __pyx_k_cudaLaunchAttributeValue___reduc[] = "cudaLaunchAttributeValue.__reduce_cython__";
static const char __pyx_k_cudaLaunchAttributeValue___setst[] = "cudaLaunchAttributeValue.__setstate_cython__";
static const char __pyx_k_cudaLaunchAttribute_st___setstat[] = "cudaLaunchAttribute_st.__setstate_cython__";
static const char __pyx_k_cudaLimitDevRuntimePendingLaunch[] = "cudaLimitDevRuntimePendingLaunchCount";
static const char __pyx_k_cudaMemAccessDesc___reduce_cytho[] = "cudaMemAccessDesc.__reduce_cython__";
static const char __pyx_k_cudaMemAccessDesc___setstate_cyt[] = "cudaMemAccessDesc.__setstate_cython__";
static const char __pyx_k_cudaMemAdviseSetPreferredLocatio[] = "cudaMemAdviseSetPreferredLocation";
static const char __pyx_k_cudaMemAdviseUnsetPreferredLocat[] = "cudaMemAdviseUnsetPreferredLocation";
static const char __pyx_k_cudaMemAllocNodeParams___setstat[] = "cudaMemAllocNodeParams.__setstate_cython__";
static const char __pyx_k_cudaMemHandleTypePosixFileDescri[] = "cudaMemHandleTypePosixFileDescriptor";
static const char __pyx_k_cudaMemLocation___setstate_cytho[] = "cudaMemLocation.__setstate_cython__";
static const char __pyx_k_cudaMemPoolAttrReservedMemCurren[] = "cudaMemPoolAttrReservedMemCurrent";
static const char __pyx_k_cudaMemPoolExportToShareableHand[] = "cudaMemPoolExportToShareableHandle";
static const char __pyx_k_cudaMemPoolImportFromShareableHa[] = "cudaMemPoolImportFromShareableHandle";
static const char __pyx_k_cudaMemPoolProps___reduce_cython[] = "cudaMemPoolProps.__reduce_cython__";
static const char __pyx_k_cudaMemPoolProps___setstate_cyth[] = "cudaMemPoolProps.__setstate_cython__";
static const char __pyx_k_cudaMemPoolPtrExportData___reduc[] = "cudaMemPoolPtrExportData.__reduce_cython__";
static const char __pyx_k_cudaMemPoolPtrExportData___setst[] = "cudaMemPoolPtrExportData.__setstate_cython__";
static const char __pyx_k_cudaMemPoolReuseAllowInternalDep[] = "cudaMemPoolReuseAllowInternalDependencies";
static const char __pyx_k_cudaMemPoolReuseAllowOpportunist[] = "cudaMemPoolReuseAllowOpportunistic";
static const char __pyx_k_cudaMemPoolReuseFollowEventDepen[] = "cudaMemPoolReuseFollowEventDependencies";
static const char __pyx_k_cudaMemPoolSetAccess_locals_gene[] = "cudaMemPoolSetAccess.<locals>.genexpr";
static const char __pyx_k_cudaMemRangeAttributeLastPrefetc[] = "cudaMemRangeAttributeLastPrefetchLocation";
static const char __pyx_k_cudaMemRangeAttributePreferredLo[] = "cudaMemRangeAttributePreferredLocation";
static const char __pyx_k_cudaMemRangeGetAttributes_locals[] = "cudaMemRangeGetAttributes.<locals>.genexpr";
static const char __pyx_k_cudaMemcpy3DParms___reduce_cytho[] = "cudaMemcpy3DParms.__reduce_cython__";
static const char __pyx_k_cudaMemcpy3DParms___setstate_cyt[] = "cudaMemcpy3DParms.__setstate_cython__";
static const char __pyx_k_cudaMemcpy3DPeerParms___reduce_c[] = "cudaMemcpy3DPeerParms.__reduce_cython__";
static const char __pyx_k_cudaMemcpy3DPeerParms___setstate[] = "cudaMemcpy3DPeerParms.__setstate_cython__";
static const char __pyx_k_cudaMemsetParams___reduce_cython[] = "cudaMemsetParams.__reduce_cython__";
static const char __pyx_k_cudaMemsetParams___setstate_cyth[] = "cudaMemsetParams.__setstate_cython__";
static const char __pyx_k_cudaMipmappedArrayGetMemoryRequi[] = "cudaMipmappedArrayGetMemoryRequirements";
static const char __pyx_k_cudaMipmappedArrayGetSparsePrope[] = "cudaMipmappedArrayGetSparseProperties";
static const char __pyx_k_cudaMipmappedArray_const_t___red[] = "cudaMipmappedArray_const_t.__reduce_cython__";
static const char __pyx_k_cudaMipmappedArray_const_t___set[] = "cudaMipmappedArray_const_t.__setstate_cython__";
static const char __pyx_k_cudaMipmappedArray_const_t_getPt[] = "cudaMipmappedArray_const_t.getPtr";
static const char __pyx_k_cudaMipmappedArray_t___reduce_cy[] = "cudaMipmappedArray_t.__reduce_cython__";
static const char __pyx_k_cudaOccupancyAvailableDynamicSMe[] = "cudaOccupancyAvailableDynamicSMemPerBlock";
static const char __pyx_k_cudaOccupancyDisableCachingOverr[] = "cudaOccupancyDisableCachingOverride";
static const char __pyx_k_cudaOccupancyMaxActiveBlocksPerM[] = "cudaOccupancyMaxActiveBlocksPerMultiprocessor";
static const char __pyx_k_cudaPitchedPtr___setstate_cython[] = "cudaPitchedPtr.__setstate_cython__";
static const char __pyx_k_cudaPointerAttributes___reduce_c[] = "cudaPointerAttributes.__reduce_cython__";
static const char __pyx_k_cudaPointerAttributes___setstate[] = "cudaPointerAttributes.__setstate_cython__";
static const char __pyx_k_cudaResViewFormatSignedBlockComp[] = "cudaResViewFormatSignedBlockCompressed4";
static const char __pyx_k_cudaResViewFormatUnsignedBlockCo[] = "cudaResViewFormatUnsignedBlockCompressed1";
static const char __pyx_k_cudaResourceDesc___reduce_cython[] = "cudaResourceDesc.__reduce_cython__";
static const char __pyx_k_cudaResourceDesc___setstate_cyth[] = "cudaResourceDesc.__setstate_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_array_2[] = "_cudaResourceDesc_res_res_array_s.getPtr";
static const char __pyx_k_cudaResourceDesc_res_res_array_3[] = "_cudaResourceDesc_res_res_array_s.__reduce_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_array_4[] = "_cudaResourceDesc_res_res_array_s.__setstate_cython__";
static const char __pyx_k_cudaResourceViewDesc___reduce_cy[] = "cudaResourceViewDesc.__reduce_cython__";
static const char __pyx_k_cudaSignalExternalSemaphoresAsyn[] = "cudaSignalExternalSemaphoresAsync.<locals>.genexpr";
static const char __pyx_k_cudaStreamAddCaptureDependencies[] = "cudaStreamAddCaptureDependencies";
static const char __pyx_k_cudaStreamAttributeAccessPolicyW[] = "cudaStreamAttributeAccessPolicyWindow";
static const char __pyx_k_cudaStreamAttributeSynchronizati[] = "cudaStreamAttributeSynchronizationPolicy";
static const char __pyx_k_cudaStreamCallback_t___reduce_cy[] = "cudaStreamCallback_t.__reduce_cython__";
static const char __pyx_k_cudaStreamCaptureModeThreadLocal[] = "cudaStreamCaptureModeThreadLocal";
static const char __pyx_k_cudaStreamCaptureStatusInvalidat[] = "cudaStreamCaptureStatusInvalidated";
static const char __pyx_k_cudaStreamSetCaptureDependencies[] = "cudaStreamSetCaptureDependencies";
static const char __pyx_k_cudaStreamUpdateCaptureDependenc[] = "cudaStreamUpdateCaptureDependencies.<locals>.genexpr";
static const char __pyx_k_cudaSurfaceObject_t___reduce_cyt[] = "cudaSurfaceObject_t.__reduce_cython__";
static const char __pyx_k_cudaSurfaceObject_t___setstate_c[] = "cudaSurfaceObject_t.__setstate_cython__";
static const char __pyx_k_cudaTextureDesc___setstate_cytho[] = "cudaTextureDesc.__setstate_cython__";
static const char __pyx_k_cudaTextureDesc_v2___reduce_cyth[] = "cudaTextureDesc_v2.__reduce_cython__";
static const char __pyx_k_cudaTextureDesc_v2___setstate_cy[] = "cudaTextureDesc_v2.__setstate_cython__";
static const char __pyx_k_cudaTextureObject_t___reduce_cyt[] = "cudaTextureObject_t.__reduce_cython__";
static const char __pyx_k_cudaTextureObject_t___setstate_c[] = "cudaTextureObject_t.__setstate_cython__";
static const char __pyx_k_cudaThreadExchangeStreamCaptureM[] = "cudaThreadExchangeStreamCaptureMode";
static const char __pyx_k_directManagedMemAccessFromHost_2[] = "directManagedMemAccessFromHost";
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_pageableMemoryAccessUsesHostPage[] = "pageableMemoryAccessUsesHostPageTables : ";
static const char __pyx_k_programmaticStreamSerializationA[] = "programmaticStreamSerializationAllowed : ";
static const char __pyx_k_singleToDoublePrecisionPerfRatio[] = "singleToDoublePrecisionPerfRatio : ";
static const char __pyx_k_CUDA_GPUDirect_RDMA_flush_write_2[] = "\n    CUDA GPUDirect RDMA flush writes ordering features of the device\n    ";
static const char __pyx_k_CUDA_GPUDirect_RDMA_flush_write_3[] = "\n    CUDA GPUDirect RDMA flush writes scopes\n    ";
static const char __pyx_k_CUDA_GPUDirect_RDMA_flush_write_4[] = "\n    CUDA GPUDirect RDMA flush writes targets\n    ";
static const char __pyx_k_cudaArraySparseProperties_tileE_2[] = "_cudaArraySparseProperties_tileExtent_s.getPtr";
static const char __pyx_k_cudaArraySparseProperties_tileE_3[] = "_cudaArraySparseProperties_tileExtent_s.__reduce_cython__";
static const char __pyx_k_cudaArraySparseProperties_tileE_4[] = "_cudaArraySparseProperties_tileExtent_s.__setstate_cython__";
static const char __pyx_k_cudaEglFrame_cudaEglFrame_cudaE_2[] = "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.getPtr";
static const char __pyx_k_cudaEglFrame_cudaEglFrame_cudaE_3[] = "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__reduce_cython__";
static const char __pyx_k_cudaEglFrame_cudaEglFrame_cudaE_4[] = "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__setstate_cython__";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha_2[] = "_cudaExternalMemoryHandleDesc_handle_u";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha_3[] = "_cudaExternalMemoryHandleDesc_handle_handle_win32_s.getPtr";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha_4[] = "_cudaExternalMemoryHandleDesc_handle_handle_win32_s.__reduce_cython__";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha_5[] = "_cudaExternalMemoryHandleDesc_handle_handle_win32_s.__setstate_cython__";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha_6[] = "_cudaExternalMemoryHandleDesc_handle_u.getPtr";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha_7[] = "_cudaExternalMemoryHandleDesc_handle_u.__reduce_cython__";
static const char __pyx_k_cudaExternalMemoryHandleDesc_ha_8[] = "_cudaExternalMemoryHandleDesc_handle_u.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_2[] = "_cudaExternalSemaphoreHandleDesc_handle_u";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_3[] = "cudaExternalSemaphoreHandleDesc";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_4[] = "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.getPtr";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_5[] = "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_6[] = "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_7[] = "_cudaExternalSemaphoreHandleDesc_handle_u.getPtr";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_8[] = "_cudaExternalSemaphoreHandleDesc_handle_u.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_9[] = "_cudaExternalSemaphoreHandleDesc_handle_u.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_2[] = "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_3[] = "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_4[] = "_cudaExternalSemaphoreSignalParams_params_s";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_5[] = "_cudaExternalSemaphoreSignalParams_params_params_fence_s.getPtr";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_6[] = "_cudaExternalSemaphoreSignalParams_params_params_fence_s.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_7[] = "_cudaExternalSemaphoreSignalParams_params_params_fence_s.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_8[] = "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.getPtr";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_9[] = "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_2[] = "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_3[] = "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_4[] = "_cudaExternalSemaphoreWaitParams_params_s";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_5[] = "cudaExternalSemaphoreWaitParams";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_6[] = "_cudaExternalSemaphoreWaitParams_params_params_fence_s.getPtr";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_7[] = "_cudaExternalSemaphoreWaitParams_params_params_fence_s.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_8[] = "_cudaExternalSemaphoreWaitParams_params_params_fence_s.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_9[] = "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.getPtr";
static const char __pyx_k_cudaGetTextureObjectTextureDesc_2[] = "cudaGetTextureObjectTextureDesc_v2";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa_2[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa_3[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.getPtr";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa_4[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__reduce_cython__";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa_5[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__setstate_cython__";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa_6[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.getPtr";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa_7[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__reduce_cython__";
static const char __pyx_k_cudaLaunchAttributeValue_cudaLa_8[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__setstate_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_linear_2[] = "_cudaResourceDesc_res_res_linear_s.getPtr";
static const char __pyx_k_cudaResourceDesc_res_res_linear_3[] = "_cudaResourceDesc_res_res_linear_s.__reduce_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_linear_4[] = "_cudaResourceDesc_res_res_linear_s.__setstate_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_mipmap_2[] = "_cudaResourceDesc_res_res_mipmap_s.getPtr";
static const char __pyx_k_cudaResourceDesc_res_res_mipmap_3[] = "_cudaResourceDesc_res_res_mipmap_s.__reduce_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_mipmap_4[] = "_cudaResourceDesc_res_res_mipmap_s.__setstate_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_pitch2_2[] = "_cudaResourceDesc_res_res_pitch2D_s.getPtr";
static const char __pyx_k_cudaResourceDesc_res_res_pitch2_3[] = "_cudaResourceDesc_res_res_pitch2D_s.__reduce_cython__";
static const char __pyx_k_cudaResourceDesc_res_res_pitch2_4[] = "_cudaResourceDesc_res_res_pitch2D_s.__setstate_cython__";
static const char __pyx_k_cudaWaitExternalSemaphoresAsync_2[] = "cudaWaitExternalSemaphoresAsync";
static const char __pyx_k_Argument_paramsArray_is_not_inst_2[] = "Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]";
static const char __pyx_k_canUseHostPointerForRegisteredMe_2[] = "canUseHostPointerForRegisteredMem";
static const char __pyx_k_clusterSchedulingPolicyPreferenc_2[] = "clusterSchedulingPolicyPreference";
static const char __pyx_k_cudaChannelFormatKindSignedBlock_2[] = "cudaChannelFormatKindSignedBlockCompressed5";
static const char __pyx_k_cudaChannelFormatKindSignedBlock_3[] = "cudaChannelFormatKindSignedBlockCompressed6H";
static const char __pyx_k_cudaChannelFormatKindSignedNorma_2[] = "cudaChannelFormatKindSignedNormalized8X2";
static const char __pyx_k_cudaChannelFormatKindSignedNorma_3[] = "cudaChannelFormatKindSignedNormalized8X4";
static const char __pyx_k_cudaChannelFormatKindSignedNorma_4[] = "cudaChannelFormatKindSignedNormalized16X1";
static const char __pyx_k_cudaChannelFormatKindSignedNorma_5[] = "cudaChannelFormatKindSignedNormalized16X2";
static const char __pyx_k_cudaChannelFormatKindSignedNorma_6[] = "cudaChannelFormatKindSignedNormalized16X4";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_2[] = "cudaChannelFormatKindUnsignedBlockCompressed1SRGB";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_3[] = "cudaChannelFormatKindUnsignedBlockCompressed2";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_4[] = "cudaChannelFormatKindUnsignedBlockCompressed2SRGB";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_5[] = "cudaChannelFormatKindUnsignedBlockCompressed3";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_6[] = "cudaChannelFormatKindUnsignedBlockCompressed3SRGB";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_7[] = "cudaChannelFormatKindUnsignedBlockCompressed4";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_8[] = "cudaChannelFormatKindUnsignedBlockCompressed5";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_9[] = "cudaChannelFormatKindUnsignedBlockCompressed6H";
static const char __pyx_k_cudaChannelFormatKindUnsignedNor_2[] = "cudaChannelFormatKindUnsignedNormalized8X2";
static const char __pyx_k_cudaChannelFormatKindUnsignedNor_3[] = "cudaChannelFormatKindUnsignedNormalized8X4";
static const char __pyx_k_cudaChannelFormatKindUnsignedNor_4[] = "cudaChannelFormatKindUnsignedNormalized16X1";
static const char __pyx_k_cudaChannelFormatKindUnsignedNor_5[] = "cudaChannelFormatKindUnsignedNormalized16X2";
static const char __pyx_k_cudaChannelFormatKindUnsignedNor_6[] = "cudaChannelFormatKindUnsignedNormalized16X4";
static const char __pyx_k_cudaCooperativeLaunchMultiDevice_2[] = "cudaCooperativeLaunchMultiDeviceNoPostSync";
static const char __pyx_k_cudaDevAttrMaxSharedMemoryPerBlo_2[] = "cudaDevAttrMaxSharedMemoryPerBlockOptin";
static const char __pyx_k_cudaDevAttrMaxSurfaceCubemapLaye_2[] = "cudaDevAttrMaxSurfaceCubemapLayeredLayers";
static const char __pyx_k_cudaDevAttrMaxTexture2DMipmapped_2[] = "cudaDevAttrMaxTexture2DMipmappedHeight";
static const char __pyx_k_cudaDevAttrMaxTextureCubemapLaye_2[] = "cudaDevAttrMaxTextureCubemapLayeredLayers";
static const char __pyx_k_cudaEglColorFormatY10V10U10_420S_2[] = "cudaEglColorFormatY10V10U10_420SemiPlanar_709";
static const char __pyx_k_cudaEglColorFormatY10V10U10_420S_3[] = "cudaEglColorFormatY10V10U10_420SemiPlanar_2020";
static const char __pyx_k_cudaEglColorFormatY10V10U10_420S_4[] = "cudaEglColorFormatY10V10U10_420SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatY10V10U10_420S_5[] = "cudaEglColorFormatY10V10U10_420SemiPlanar_709_ER";
static const char __pyx_k_cudaEglColorFormatY10V10U10_422S_2[] = "cudaEglColorFormatY10V10U10_422SemiPlanar";
static const char __pyx_k_cudaEglColorFormatY10V10U10_422S_3[] = "cudaEglColorFormatY10V10U10_422SemiPlanar_709";
static const char __pyx_k_cudaEglColorFormatY10V10U10_444S_2[] = "cudaEglColorFormatY10V10U10_444SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatY10V10U10_444S_3[] = "cudaEglColorFormatY10V10U10_444SemiPlanar_709_ER";
static const char __pyx_k_cudaEglColorFormatY12V12U12_420S_2[] = "cudaEglColorFormatY12V12U12_420SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatY12V12U12_420S_3[] = "cudaEglColorFormatY12V12U12_420SemiPlanar_709_ER";
static const char __pyx_k_cudaEglColorFormatY12V12U12_444S_2[] = "cudaEglColorFormatY12V12U12_444SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatY12V12U12_444S_3[] = "cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER";
static const char __pyx_k_cudaEglColorFormatYUV420SemiPlan_2[] = "cudaEglColorFormatYUV420SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatYUV420SemiPlan_3[] = "cudaEglColorFormatYUV420SemiPlanar_2020";
static const char __pyx_k_cudaEglColorFormatYUV420SemiPlan_4[] = "cudaEglColorFormatYUV420SemiPlanar_709";
static const char __pyx_k_cudaEglColorFormatYUV422SemiPlan_2[] = "cudaEglColorFormatYUV422SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatYUV444SemiPlan_2[] = "cudaEglColorFormatYUV444SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatYVU420SemiPlan_2[] = "cudaEglColorFormatYVU420SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatYVU420SemiPlan_3[] = "cudaEglColorFormatYVU420SemiPlanar_2020";
static const char __pyx_k_cudaEglColorFormatYVU420SemiPlan_4[] = "cudaEglColorFormatYVU420SemiPlanar_709";
static const char __pyx_k_cudaEglColorFormatYVU422SemiPlan_2[] = "cudaEglColorFormatYVU422SemiPlanar_ER";
static const char __pyx_k_cudaEglColorFormatYVU444SemiPlan_2[] = "cudaEglColorFormatYVU444SemiPlanar_ER";
static const char __pyx_k_cudaExternalMemoryHandleTypeD3D1_2[] = "cudaExternalMemoryHandleTypeD3D12Resource";
static const char __pyx_k_cudaExternalMemoryHandleTypeD3D1_3[] = "cudaExternalMemoryHandleTypeD3D11Resource";
static const char __pyx_k_cudaExternalMemoryHandleTypeD3D1_4[] = "cudaExternalMemoryHandleTypeD3D11ResourceKmt";
static const char __pyx_k_cudaExternalMemoryHandleTypeOpaq_2[] = "cudaExternalMemoryHandleTypeOpaqueWin32";
static const char __pyx_k_cudaExternalMemoryHandleTypeOpaq_3[] = "cudaExternalMemoryHandleTypeOpaqueWin32Kmt";
static const char __pyx_k_cudaExternalMemoryMipmappedArray_2[] = "cudaExternalMemoryMipmappedArrayDesc.getPtr";
static const char __pyx_k_cudaExternalMemoryMipmappedArray_3[] = "cudaExternalMemoryMipmappedArrayDesc.__reduce_cython__";
static const char __pyx_k_cudaExternalMemoryMipmappedArray_4[] = "cudaExternalMemoryMipmappedArrayDesc.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_10[] = "cudaExternalSemaphoreHandleDesc.getPtr";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_11[] = "cudaExternalSemaphoreHandleDesc.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleDesc_12[] = "cudaExternalSemaphoreHandleDesc.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeD_2[] = "cudaExternalSemaphoreHandleTypeD3D11Fence";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeK_2[] = "cudaExternalSemaphoreHandleTypeKeyedMutexKmt";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeO_2[] = "cudaExternalSemaphoreHandleTypeOpaqueWin32";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeO_3[] = "cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt";
static const char __pyx_k_cudaExternalSemaphoreHandleTypeT_2[] = "cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32";
static const char __pyx_k_cudaExternalSemaphoreSignalNodeP_2[] = "cudaExternalSemaphoreSignalNodeParams.getPtr";
static const char __pyx_k_cudaExternalSemaphoreSignalNodeP_3[] = "cudaExternalSemaphoreSignalNodeParams.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalNodeP_4[] = "cudaExternalSemaphoreSignalNodeParams.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_10[] = "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_11[] = "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.getPtr";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_12[] = "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_13[] = "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_14[] = "_cudaExternalSemaphoreSignalParams_params_s.getPtr";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_15[] = "_cudaExternalSemaphoreSignalParams_params_s.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalPara_16[] = "_cudaExternalSemaphoreSignalParams_params_s.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalParam_2[] = "cudaExternalSemaphoreSignalParams.getPtr";
static const char __pyx_k_cudaExternalSemaphoreSignalParam_3[] = "cudaExternalSemaphoreSignalParams.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreSignalParam_4[] = "cudaExternalSemaphoreSignalParams.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitNodePar_2[] = "cudaExternalSemaphoreWaitNodeParams.getPtr";
static const char __pyx_k_cudaExternalSemaphoreWaitNodePar_3[] = "cudaExternalSemaphoreWaitNodeParams.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitNodePar_4[] = "cudaExternalSemaphoreWaitNodeParams.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_10[] = "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_11[] = "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_12[] = "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.getPtr";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_13[] = "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_14[] = "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_15[] = "_cudaExternalSemaphoreWaitParams_params_s.getPtr";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_16[] = "_cudaExternalSemaphoreWaitParams_params_s.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_17[] = "_cudaExternalSemaphoreWaitParams_params_s.__setstate_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_18[] = "cudaExternalSemaphoreWaitParams.getPtr";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_19[] = "cudaExternalSemaphoreWaitParams.__reduce_cython__";
static const char __pyx_k_cudaExternalSemaphoreWaitParams_20[] = "cudaExternalSemaphoreWaitParams.__setstate_cython__";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesOpti_2[] = "cudaFlushGPUDirectRDMAWritesOptionHost";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesOpti_3[] = "cudaFlushGPUDirectRDMAWritesOptionMemOps";
static const char __pyx_k_cudaFlushGPUDirectRDMAWritesTarg_2[] = "cudaFlushGPUDirectRDMAWritesTargetCurrentDevice";
static const char __pyx_k_cudaFuncAttributeRequiredCluster_2[] = "cudaFuncAttributeRequiredClusterHeight";
static const char __pyx_k_cudaFuncAttributeRequiredCluster_3[] = "cudaFuncAttributeRequiredClusterDepth";
static const char __pyx_k_cudaGraphAddExternalSemaphoresSi_2[] = "cudaGraphAddExternalSemaphoresSignalNode";
static const char __pyx_k_cudaGraphAddExternalSemaphoresWa_2[] = "cudaGraphAddExternalSemaphoresWaitNode";
static const char __pyx_k_cudaGraphDebugDotFlagsKernelNode_2[] = "cudaGraphDebugDotFlagsKernelNodeAttributes";
static const char __pyx_k_cudaGraphExecMemcpyNodeSetParams_2[] = "cudaGraphExecMemcpyNodeSetParams1D";
static const char __pyx_k_cudaGraphExternalSemaphoresSigna_2[] = "cudaGraphExternalSemaphoresSignalNodeSetParams";
static const char __pyx_k_cudaGraphExternalSemaphoresWaitN_2[] = "cudaGraphExternalSemaphoresWaitNodeSetParams";
static const char __pyx_k_cudaOccupancyMaxActiveBlocksPerM_2[] = "cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags";
static const char __pyx_k_cudaResViewFormatSignedBlockComp_2[] = "cudaResViewFormatSignedBlockCompressed5";
static const char __pyx_k_cudaResViewFormatSignedBlockComp_3[] = "cudaResViewFormatSignedBlockCompressed6H";
static const char __pyx_k_cudaResViewFormatUnsignedBlockCo_2[] = "cudaResViewFormatUnsignedBlockCompressed2";
static const char __pyx_k_cudaResViewFormatUnsignedBlockCo_3[] = "cudaResViewFormatUnsignedBlockCompressed3";
static const char __pyx_k_cudaResViewFormatUnsignedBlockCo_4[] = "cudaResViewFormatUnsignedBlockCompressed4";
static const char __pyx_k_cudaResViewFormatUnsignedBlockCo_5[] = "cudaResViewFormatUnsignedBlockCompressed5";
static const char __pyx_k_cudaResViewFormatUnsignedBlockCo_6[] = "cudaResViewFormatUnsignedBlockCompressed6H";
static const char __pyx_k_cudaResViewFormatUnsignedBlockCo_7[] = "cudaResViewFormatUnsignedBlockCompressed7";
static const char __pyx_k_cudaSignalExternalSemaphoresAsyn_2[] = "cudaSignalExternalSemaphoresAsync";
static const char __pyx_k_cudaStreamUpdateCaptureDependenc_2[] = "cudaStreamUpdateCaptureDependenciesFlags";
static const char __pyx_k_cudaStreamUpdateCaptureDependenc_3[] = "cudaStreamUpdateCaptureDependencies";
static const char __pyx_k_pageableMemoryAccessUsesHostPage_2[] = "pageableMemoryAccessUsesHostPageTables";
static const char __pyx_k_programmaticStreamSerializationA_2[] = "programmaticStreamSerializationAllowed";
static const char __pyx_k_singleToDoublePrecisionPerfRatio_2[] = "singleToDoublePrecisionPerfRatio";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_10[] = "cudaChannelFormatKindUnsignedBlockCompressed7";
static const char __pyx_k_cudaChannelFormatKindUnsignedBlo_11[] = "cudaChannelFormatKindUnsignedBlockCompressed7SRGB";
static PyObject *__pyx_kp_u_;
static PyObject *__pyx_n_s_Any;
static PyObject *__pyx_kp_u_Argument_attributes_is_not_insta;
static PyObject *__pyx_kp_u_Argument_conn_is_not_instance_of;
static PyObject *__pyx_kp_u_Argument_dataSizes_is_not_instan;
static PyObject *__pyx_kp_u_Argument_dependencies_is_not_ins;
static PyObject *__pyx_kp_u_Argument_descList_is_not_instanc;
static PyObject *__pyx_kp_u_Argument_extSemArray_is_not_inst;
static PyObject *__pyx_kp_u_Argument_from__is_not_instance_o;
static PyObject *__pyx_kp_u_Argument_pCudaResource_is_not_in;
static PyObject *__pyx_kp_u_Argument_pDependencies_is_not_in;
static PyObject *__pyx_kp_u_Argument_pStream_is_not_instance;
static PyObject *__pyx_kp_u_Argument_paramsArray_is_not_inst;
static PyObject *__pyx_kp_u_Argument_paramsArray_is_not_inst_2;
static PyObject *__pyx_kp_u_Argument_resources_is_not_instan;
static PyObject *__pyx_kp_u_Argument_to_is_not_instance_of_t;
static PyObject *__pyx_kp_u_Argument_vdpGetProcAddress_is_no;
static PyObject *__pyx_n_s_CUDART_API_VERSION;
static PyObject *__pyx_n_s_CUDART_VERSION;
static PyObject *__pyx_n_s_CUDA_C_16BF;
static PyObject *__pyx_n_s_CUDA_C_16F;
static PyObject *__pyx_n_s_CUDA_C_16I;
static PyObject *__pyx_n_s_CUDA_C_16U;
static PyObject *__pyx_n_s_CUDA_C_32F;
static PyObject *__pyx_n_s_CUDA_C_32I;
static PyObject *__pyx_n_s_CUDA_C_32U;
static PyObject *__pyx_n_s_CUDA_C_4I;
static PyObject *__pyx_n_s_CUDA_C_4U;
static PyObject *__pyx_n_s_CUDA_C_64F;
static PyObject *__pyx_n_s_CUDA_C_64I;
static PyObject *__pyx_n_s_CUDA_C_64U;
static PyObject *__pyx_n_s_CUDA_C_8I;
static PyObject *__pyx_n_s_CUDA_C_8U;
static PyObject *__pyx_kp_s_CUDA_EGL_Color_Format_The_diffe;
static PyObject *__pyx_n_s_CUDA_EGL_MAX_PLANES;
static PyObject *__pyx_kp_s_CUDA_EglFrame_type_array_or_poi;
static PyObject *__pyx_kp_s_CUDA_GL_Map_Flags;
static PyObject *__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write;
static PyObject *__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_2;
static PyObject *__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_3;
static PyObject *__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_4;
static PyObject *__pyx_kp_s_CUDA_Graph_Update_error_types;
static PyObject *__pyx_kp_s_CUDA_Graph_debug_write_options;
static PyObject *__pyx_kp_s_CUDA_Graph_node_types;
static PyObject *__pyx_n_s_CUDA_IPC_HANDLE_SIZE;
static PyObject *__pyx_kp_s_CUDA_Limits;
static PyObject *__pyx_kp_s_CUDA_Memory_Advise_values;
static PyObject *__pyx_kp_s_CUDA_Profiler_Output_modes;
static PyObject *__pyx_n_s_CUDA_R_16BF;
static PyObject *__pyx_n_s_CUDA_R_16F;
static PyObject *__pyx_n_s_CUDA_R_16I;
static PyObject *__pyx_n_s_CUDA_R_16U;
static PyObject *__pyx_n_s_CUDA_R_32F;
static PyObject *__pyx_n_s_CUDA_R_32I;
static PyObject *__pyx_n_s_CUDA_R_32U;
static PyObject *__pyx_n_s_CUDA_R_4I;
static PyObject *__pyx_n_s_CUDA_R_4U;
static PyObject *__pyx_n_s_CUDA_R_64F;
static PyObject *__pyx_n_s_CUDA_R_64I;
static PyObject *__pyx_n_s_CUDA_R_64U;
static PyObject *__pyx_n_s_CUDA_R_8F_E4M3;
static PyObject *__pyx_n_s_CUDA_R_8F_E5M2;
static PyObject *__pyx_n_s_CUDA_R_8I;
static PyObject *__pyx_n_s_CUDA_R_8U;
static PyObject *__pyx_kp_s_CUDA_Surface_boundary_modes;
static PyObject *__pyx_kp_s_CUDA_Surface_format_modes;
static PyObject *__pyx_kp_s_CUDA_cooperative_group_scope;
static PyObject *__pyx_kp_s_CUDA_device_P2P_attributes;
static PyObject *__pyx_kp_s_CUDA_device_attributes;
static PyObject *__pyx_kp_s_CUDA_device_compute_modes;
static PyObject *__pyx_kp_s_CUDA_devices_corresponding_to_t;
static PyObject *__pyx_kp_s_CUDA_function_attributes_that_c;
static PyObject *__pyx_kp_s_CUDA_function_cache_configurati;
static PyObject *__pyx_kp_s_CUDA_graphics_interop_array_ind;
static PyObject *__pyx_kp_s_CUDA_graphics_interop_map_flags;
static PyObject *__pyx_kp_s_CUDA_graphics_interop_register;
static PyObject *__pyx_kp_s_CUDA_memory_copy_types;
static PyObject *__pyx_kp_s_CUDA_memory_pool_attributes;
static PyObject *__pyx_kp_s_CUDA_memory_types;
static PyObject *__pyx_kp_s_CUDA_range_attributes;
static PyObject *__pyx_kp_s_CUDA_resource_types;
static PyObject *__pyx_kp_s_CUDA_shared_memory_configuratio;
static PyObject *__pyx_kp_s_CUDA_texture_address_modes;
static PyObject *__pyx_kp_s_CUDA_texture_filter_modes;
static PyObject *__pyx_kp_s_CUDA_texture_read_modes;
static PyObject *__pyx_kp_s_CUDA_texture_resource_view_form;
static PyObject *__pyx_n_s_CUuuid;
static PyObject *__pyx_n_s_CUuuid_st;
static PyObject *__pyx_n_s_CUuuid_st___reduce_cython;
static PyObject *__pyx_n_s_CUuuid_st___setstate_cython;
static PyObject *__pyx_n_s_CUuuid_st_getPtr;
static PyObject *__pyx_kp_s_Channel_format_kind;
static PyObject *__pyx_kp_s_Cluster_scheduling_policies_The;
static PyObject *__pyx_kp_s_Defines_the_allocation_types_av;
static PyObject *__pyx_kp_u_ECCEnabled;
static PyObject *__pyx_n_s_ECCEnabled_2;
static PyObject *__pyx_kp_u_EGLImageKHR;
static PyObject *__pyx_n_s_EGLImageKHR_2;
static PyObject *__pyx_n_s_EGLImageKHR___reduce_cython;
static PyObject *__pyx_n_s_EGLImageKHR___setstate_cython;
static PyObject *__pyx_n_s_EGLImageKHR_getPtr;
static PyObject *__pyx_kp_u_EGLStreamKHR;
static PyObject *__pyx_n_s_EGLStreamKHR_2;
static PyObject *__pyx_n_s_EGLStreamKHR___reduce_cython;
static PyObject *__pyx_n_s_EGLStreamKHR___setstate_cython;
static PyObject *__pyx_n_s_EGLStreamKHR_getPtr;
static PyObject *__pyx_kp_u_EGLSyncKHR;
static PyObject *__pyx_n_s_EGLSyncKHR_2;
static PyObject *__pyx_n_s_EGLSyncKHR___reduce_cython;
static PyObject *__pyx_n_s_EGLSyncKHR___setstate_cython;
static PyObject *__pyx_n_s_EGLSyncKHR_getPtr;
static PyObject *__pyx_kp_u_EGLint;
static PyObject *__pyx_n_s_EGLint_2;
static PyObject *__pyx_n_s_EGLint___reduce_cython;
static PyObject *__pyx_n_s_EGLint___setstate_cython;
static PyObject *__pyx_n_s_EGLint_getPtr;
static PyObject *__pyx_kp_s_External_memory_handle_types;
static PyObject *__pyx_kp_s_External_semaphore_handle_types;
static PyObject *__pyx_kp_u_Failed_to_allocate_length_x_size;
static PyObject *__pyx_kp_s_Flags_for_instantiating_a_graph;
static PyObject *__pyx_kp_s_Flags_for_py_obj_cudaStreamUpda;
static PyObject *__pyx_kp_s_Flags_for_retaining_user_object;
static PyObject *__pyx_kp_s_Flags_for_specifying_particular;
static PyObject *__pyx_kp_s_Flags_for_user_objects_for_grap;
static PyObject *__pyx_kp_s_Flags_to_specify_search_options;
static PyObject *__pyx_kp_u_GLenum;
static PyObject *__pyx_n_s_GLenum_2;
static PyObject *__pyx_n_s_GLenum___reduce_cython;
static PyObject *__pyx_n_s_GLenum___setstate_cython;
static PyObject *__pyx_n_s_GLenum_getPtr;
static PyObject *__pyx_kp_u_GLuint;
static PyObject *__pyx_n_s_GLuint_2;
static PyObject *__pyx_n_s_GLuint___reduce_cython;
static PyObject *__pyx_n_s_GLuint___setstate_cython;
static PyObject *__pyx_n_s_GLuint_getPtr;
static PyObject *__pyx_kp_s_Graph_memory_attributes;
static PyObject *__pyx_n_s_IndexError;
static PyObject *__pyx_n_s_IntEnum;
static PyObject *__pyx_kp_s_Launch_attributes_enum_used_as;
static PyObject *__pyx_n_s_List;
static PyObject *__pyx_kp_u_List_is_too_small;
static PyObject *__pyx_n_s_MAJOR_VERSION;
static PyObject *__pyx_n_s_MINOR_VERSION;
static PyObject *__pyx_n_s_MemoryError;
static PyObject *__pyx_n_s_OverflowError;
static PyObject *__pyx_n_s_PATCH_LEVEL;
static PyObject *__pyx_kp_s_Possible_modes_for_stream_captu;
static PyObject *__pyx_kp_s_Possible_stream_capture_statuse;
static PyObject *__pyx_kp_s_Resource_location_flags_sysmem;
static PyObject *__pyx_n_s_RuntimeError;
static PyObject *__pyx_kp_u_Set_device_to_be_used_for_GPU_e;
static PyObject *__pyx_kp_s_Shared_memory_carveout_configur;
static PyObject *__pyx_kp_s_Specifies_performance_hint_with;
static PyObject *__pyx_kp_s_Specifies_the_memory_protection;
static PyObject *__pyx_kp_s_Specifies_the_type_of_location;
static PyObject *__pyx_n_s_Tuple;
static PyObject *__pyx_n_s_TypeError;
static PyObject *__pyx_kp_u_Unknown_type;
static PyObject *__pyx_n_s_ValueError;
static PyObject *__pyx_kp_u_VdpDevice;
static PyObject *__pyx_n_s_VdpDevice_2;
static PyObject *__pyx_n_s_VdpDevice___reduce_cython;
static PyObject *__pyx_n_s_VdpDevice___setstate_cython;
static PyObject *__pyx_n_s_VdpDevice_getPtr;
static PyObject *__pyx_kp_u_VdpGetProcAddress;
static PyObject *__pyx_n_s_VdpGetProcAddress_2;
static PyObject *__pyx_n_s_VdpGetProcAddress___reduce_cytho;
static PyObject *__pyx_n_s_VdpGetProcAddress___setstate_cyt;
static PyObject *__pyx_n_s_VdpGetProcAddress_getPtr;
static PyObject *__pyx_kp_u_VdpOutputSurface;
static PyObject *__pyx_n_s_VdpOutputSurface_2;
static PyObject *__pyx_n_s_VdpOutputSurface___reduce_cython;
static PyObject *__pyx_n_s_VdpOutputSurface___setstate_cyth;
static PyObject *__pyx_n_s_VdpOutputSurface_getPtr;
static PyObject *__pyx_kp_u_VdpVideoSurface;
static PyObject *__pyx_n_s_VdpVideoSurface_2;
static PyObject *__pyx_n_s_VdpVideoSurface___reduce_cython;
static PyObject *__pyx_n_s_VdpVideoSurface___setstate_cytho;
static PyObject *__pyx_n_s_VdpVideoSurface_getPtr;
static PyObject *__pyx_kp_b__435;
static PyObject *__pyx_kp_u__486;
static PyObject *__pyx_kp_u__63;
static PyObject *__pyx_kp_u__64;
static PyObject *__pyx_kp_s__713;
static PyObject *__pyx_kp_u__80;
static PyObject *__pyx_n_u__81;
static PyObject *__pyx_kp_u_accessDescCount;
static PyObject *__pyx_n_s_accessDescCount_2;
static PyObject *__pyx_kp_u_accessDescs;
static PyObject *__pyx_n_s_accessDescs_2;
static PyObject *__pyx_kp_u_accessPolicyMaxWindowSize;
static PyObject *__pyx_n_s_accessPolicyMaxWindowSize_2;
static PyObject *__pyx_kp_u_accessPolicyWindow;
static PyObject *__pyx_n_s_accessPolicyWindow_2;
static PyObject *__pyx_kp_u_addressMode;
static PyObject *__pyx_n_s_addressMode_2;
static PyObject *__pyx_n_s_advice;
static PyObject *__pyx_kp_u_alignment;
static PyObject *__pyx_n_s_alignment_2;
static PyObject *__pyx_kp_u_allocType;
static PyObject *__pyx_n_s_allocType_2;
static PyObject *__pyx_n_s_args;
static PyObject *__pyx_kp_u_array;
static PyObject *__pyx_n_s_arrayIndex;
static PyObject *__pyx_n_s_array_2;
static PyObject *__pyx_kp_u_array_3;
static PyObject *__pyx_kp_u_asyncEngineCount;
static PyObject *__pyx_n_s_asyncEngineCount_2;
static PyObject *__pyx_n_s_attr;
static PyObject *__pyx_n_s_attribute;
static PyObject *__pyx_n_s_attributes;
static PyObject *__pyx_kp_u_base_ptr;
static PyObject *__pyx_n_s_base_ptr_2;
static PyObject *__pyx_kp_u_binaryVersion;
static PyObject *__pyx_n_s_binaryVersion_2;
static PyObject *__pyx_kp_u_blockDim;
static PyObject *__pyx_n_s_blockDim_2;
static PyObject *__pyx_n_s_blockSize;
static PyObject *__pyx_kp_u_borderColor;
static PyObject *__pyx_n_s_borderColor_2;
static PyObject *__pyx_n_s_buffer;
static PyObject *__pyx_n_s_bufferDesc;
static PyObject *__pyx_n_s_bufferSize;
static PyObject *__pyx_kp_u_bytes;
static PyObject *__pyx_n_s_bytes_2;
static PyObject *__pyx_kp_u_bytesize;
static PyObject *__pyx_n_s_bytesize_2;
static PyObject *__pyx_n_s_cacheConfig;
static PyObject *__pyx_kp_u_cacheModeCA;
static PyObject *__pyx_n_s_cacheModeCA_2;
static PyObject *__pyx_n_s_cadvice;
static PyObject *__pyx_n_s_callback;
static PyObject *__pyx_n_s_canAccessPeer;
static PyObject *__pyx_kp_u_canMapHostMemory;
static PyObject *__pyx_n_s_canMapHostMemory_2;
static PyObject *__pyx_kp_u_canUseHostPointerForRegisteredMe;
static PyObject *__pyx_n_s_canUseHostPointerForRegisteredMe_2;
static PyObject *__pyx_n_s_captureStatus_out;
static PyObject *__pyx_n_s_carray;
static PyObject *__pyx_n_s_cattr;
static PyObject *__pyx_n_s_cattribute;
static PyObject *__pyx_n_s_cattributes;
static PyObject *__pyx_n_s_cbuffer;
static PyObject *__pyx_n_s_cbufferDesc_ptr;
static PyObject *__pyx_n_s_ccacheConfig;
static PyObject *__pyx_n_s_ccallback;
static PyObject *__pyx_n_s_cchildGraph;
static PyObject *__pyx_n_s_cclonedGraph;
static PyObject *__pyx_n_s_cconfig;
static PyObject *__pyx_n_s_cconn;
static PyObject *__pyx_n_s_cd;
static PyObject *__pyx_n_s_cd_ptr;
static PyObject *__pyx_n_s_cdata;
static PyObject *__pyx_n_s_cdataSizes;
static PyObject *__pyx_n_s_cdata_ptr;
static PyObject *__pyx_n_s_cdependencies;
static PyObject *__pyx_n_s_cdependencies_out;
static PyObject *__pyx_n_s_cdescList;
static PyObject *__pyx_n_s_cdesc_ptr;
static PyObject *__pyx_n_s_cdestroy;
static PyObject *__pyx_n_s_cdevPtr;
static PyObject *__pyx_n_s_cdevPtr_ptr;
static PyObject *__pyx_n_s_cdeviceList;
static PyObject *__pyx_n_s_cdptr;
static PyObject *__pyx_n_s_cdptr_out_ptr;
static PyObject *__pyx_n_s_cdptr_ptr;
static PyObject *__pyx_n_s_cdst;
static PyObject *__pyx_n_s_cdst_ptr;
static PyObject *__pyx_n_s_ceglStream;
static PyObject *__pyx_n_s_ceglSync;
static PyObject *__pyx_n_s_ceglframe_ptr;
static PyObject *__pyx_n_s_cend;
static PyObject *__pyx_n_s_cerror;
static PyObject *__pyx_n_s_cevent;
static PyObject *__pyx_n_s_cexportData_ptr;
static PyObject *__pyx_n_s_cextMem;
static PyObject *__pyx_n_s_cextSem;
static PyObject *__pyx_n_s_cextSemArray;
static PyObject *__pyx_n_s_cf;
static PyObject *__pyx_n_s_cfmtDesc_ptr;
static PyObject *__pyx_n_s_cfn;
static PyObject *__pyx_n_s_cfrom;
static PyObject *__pyx_n_s_cfunc;
static PyObject *__pyx_n_s_cfunc_ptr;
static PyObject *__pyx_n_s_cgraph;
static PyObject *__pyx_n_s_cgraphExec;
static PyObject *__pyx_n_s_chArray;
static PyObject *__pyx_n_s_chDst;
static PyObject *__pyx_n_s_chGraph;
static PyObject *__pyx_n_s_chGraphExec;
static PyObject *__pyx_n_s_chNode;
static PyObject *__pyx_n_s_chSrc;
static PyObject *__pyx_n_s_chStream;
static PyObject *__pyx_n_s_chandleType;
static PyObject *__pyx_kp_u_channelDesc;
static PyObject *__pyx_n_s_channelDesc_2;
static PyObject *__pyx_n_s_cheight;
static PyObject *__pyx_n_s_childGraph;
static PyObject *__pyx_n_s_cimage;
static PyObject *__pyx_n_s_ckernelParams;
static PyObject *__pyx_n_s_ckind;
static PyObject *__pyx_n_s_climit;
static PyObject *__pyx_n_s_cline_in_traceback;
static PyObject *__pyx_n_s_clocation_ptr;
static PyObject *__pyx_kp_u_clockRate;
static PyObject *__pyx_n_s_clockRate_2;
static PyObject *__pyx_n_s_clonedGraph;
static PyObject *__pyx_n_s_close;
static PyObject *__pyx_kp_u_clusterDim;
static PyObject *__pyx_n_s_clusterDim_2;
static PyObject *__pyx_kp_u_clusterSchedulingPolicyPreferenc;
static PyObject *__pyx_n_s_clusterSchedulingPolicyPreferenc_2;
static PyObject *__pyx_n_s_cmemHandleDesc_ptr;
static PyObject *__pyx_n_s_cmemPool;
static PyObject *__pyx_n_s_cmipmap;
static PyObject *__pyx_n_s_cmipmapDesc_ptr;
static PyObject *__pyx_n_s_cmipmappedArray;
static PyObject *__pyx_n_s_cmode;
static PyObject *__pyx_n_s_cnode;
static PyObject *__pyx_n_s_cnodeParams_ptr;
static PyObject *__pyx_n_s_cnodes;
static PyObject *__pyx_n_s_cnvSciSyncAttrList_ptr;
static PyObject *__pyx_n_s_cobject;
static PyObject *__pyx_kp_u_computeMode;
static PyObject *__pyx_n_s_computeMode_2;
static PyObject *__pyx_kp_u_computePreemptionSupported;
static PyObject *__pyx_n_s_computePreemptionSupported_2;
static PyObject *__pyx_kp_u_concurrentKernels;
static PyObject *__pyx_n_s_concurrentKernels_2;
static PyObject *__pyx_kp_u_concurrentManagedAccess;
static PyObject *__pyx_n_s_concurrentManagedAccess_2;
static PyObject *__pyx_n_s_config;
static PyObject *__pyx_n_s_configFile;
static PyObject *__pyx_n_s_conn;
static PyObject *__pyx_kp_u_constSizeBytes;
static PyObject *__pyx_n_s_constSizeBytes_2;
static PyObject *__pyx_kp_u_cooperative;
static PyObject *__pyx_kp_u_cooperativeLaunch;
static PyObject *__pyx_n_s_cooperativeLaunch_2;
static PyObject *__pyx_kp_u_cooperativeMultiDeviceLaunch;
static PyObject *__pyx_n_s_cooperativeMultiDeviceLaunch_2;
static PyObject *__pyx_n_s_cooperative_2;
static PyObject *__pyx_n_s_coriginalGraph;
static PyObject *__pyx_n_s_coriginalNode;
static PyObject *__pyx_n_s_count;
static PyObject *__pyx_n_s_coutputMode;
static PyObject *__pyx_n_s_cpCopyParams_ptr;
static PyObject *__pyx_n_s_cpCudaDevices;
static PyObject *__pyx_n_s_cpCudaResource;
static PyObject *__pyx_n_s_cpDependencies;
static PyObject *__pyx_n_s_cpDependentNodes;
static PyObject *__pyx_n_s_cpExportTableId_ptr;
static PyObject *__pyx_n_s_cpHost;
static PyObject *__pyx_n_s_cpHost_ptr;
static PyObject *__pyx_n_s_cpMemsetParams_ptr;
static PyObject *__pyx_n_s_cpNodeParams_ptr;
static PyObject *__pyx_n_s_cpResDesc_ptr;
static PyObject *__pyx_n_s_cpResViewDesc_ptr;
static PyObject *__pyx_n_s_cpRootNodes;
static PyObject *__pyx_n_s_cpStream;
static PyObject *__pyx_n_s_cpTexDesc_ptr;
static PyObject *__pyx_n_s_cp_ptr;
static PyObject *__pyx_n_s_cparamsArray;
static PyObject *__pyx_n_s_cpoolProps_ptr;
static PyObject *__pyx_n_s_cprop_ptr;
static PyObject *__pyx_n_s_cptr;
static PyObject *__pyx_n_s_cptr_ptr;
static PyObject *__pyx_n_s_cresource;
static PyObject *__pyx_n_s_cresources;
static PyObject *__pyx_n_s_cscope;
static PyObject *__pyx_n_s_csemHandleDesc_ptr;
static PyObject *__pyx_n_s_cshareableHandle;
static PyObject *__pyx_n_s_cshareableHandle_ptr;
static PyObject *__pyx_n_s_csrc;
static PyObject *__pyx_n_s_csrc_ptr;
static PyObject *__pyx_n_s_cstart;
static PyObject *__pyx_n_s_cstream;
static PyObject *__pyx_n_s_csurfObject;
static PyObject *__pyx_n_s_ctarget;
static PyObject *__pyx_n_s_ctexObject;
static PyObject *__pyx_n_s_cto;
static PyObject *__pyx_n_s_ctypes;
static PyObject *__pyx_n_s_cuda;
static PyObject *__pyx_n_s_cudaAccessPolicyWindow;
static PyObject *__pyx_n_s_cudaAccessPolicyWindow___reduce;
static PyObject *__pyx_n_s_cudaAccessPolicyWindow___setstat;
static PyObject *__pyx_n_s_cudaAccessPolicyWindow_getPtr;
static PyObject *__pyx_n_s_cudaAccessProperty;
static PyObject *__pyx_n_s_cudaAccessPropertyNormal;
static PyObject *__pyx_n_s_cudaAccessPropertyPersisting;
static PyObject *__pyx_n_s_cudaAccessPropertyStreaming;
static PyObject *__pyx_n_s_cudaAddressModeBorder;
static PyObject *__pyx_n_s_cudaAddressModeClamp;
static PyObject *__pyx_n_s_cudaAddressModeMirror;
static PyObject *__pyx_n_s_cudaAddressModeWrap;
static PyObject *__pyx_n_s_cudaArrayColorAttachment;
static PyObject *__pyx_n_s_cudaArrayCubemap;
static PyObject *__pyx_n_s_cudaArrayDefault;
static PyObject *__pyx_n_s_cudaArrayDeferredMapping;
static PyObject *__pyx_n_s_cudaArrayGetInfo;
static PyObject *__pyx_n_s_cudaArrayGetMemoryRequirements;
static PyObject *__pyx_n_s_cudaArrayGetPlane;
static PyObject *__pyx_n_s_cudaArrayGetSparseProperties;
static PyObject *__pyx_n_s_cudaArrayLayered;
static PyObject *__pyx_n_s_cudaArrayMemoryRequirements;
static PyObject *__pyx_n_s_cudaArrayMemoryRequirements___re;
static PyObject *__pyx_n_s_cudaArrayMemoryRequirements___se;
static PyObject *__pyx_n_s_cudaArrayMemoryRequirements_getP;
static PyObject *__pyx_n_s_cudaArraySparse;
static PyObject *__pyx_n_s_cudaArraySparseProperties;
static PyObject *__pyx_n_s_cudaArraySparsePropertiesSingleM;
static PyObject *__pyx_n_s_cudaArraySparseProperties___redu;
static PyObject *__pyx_n_s_cudaArraySparseProperties___sets;
static PyObject *__pyx_n_s_cudaArraySparseProperties_getPtr;
static PyObject *__pyx_n_s_cudaArraySparseProperties_tileE;
static PyObject *__pyx_n_s_cudaArraySparseProperties_tileE_2;
static PyObject *__pyx_n_s_cudaArraySparseProperties_tileE_3;
static PyObject *__pyx_n_s_cudaArraySparseProperties_tileE_4;
static PyObject *__pyx_n_s_cudaArraySurfaceLoadStore;
static PyObject *__pyx_n_s_cudaArrayTextureGather;
static PyObject *__pyx_kp_u_cudaArray_const_t;
static PyObject *__pyx_n_s_cudaArray_const_t_2;
static PyObject *__pyx_n_s_cudaArray_const_t___reduce_cytho;
static PyObject *__pyx_n_s_cudaArray_const_t___setstate_cyt;
static PyObject *__pyx_n_s_cudaArray_const_t_getPtr;
static PyObject *__pyx_kp_u_cudaArray_t;
static PyObject *__pyx_n_s_cudaArray_t_2;
static PyObject *__pyx_n_s_cudaArray_t___reduce_cython;
static PyObject *__pyx_n_s_cudaArray_t___setstate_cython;
static PyObject *__pyx_n_s_cudaArray_t_getPtr;
static PyObject *__pyx_n_s_cudaBoundaryModeClamp;
static PyObject *__pyx_n_s_cudaBoundaryModeTrap;
static PyObject *__pyx_n_s_cudaBoundaryModeZero;
static PyObject *__pyx_n_s_cudaCGScope;
static PyObject *__pyx_n_s_cudaCGScopeGrid;
static PyObject *__pyx_n_s_cudaCGScopeInvalid;
static PyObject *__pyx_n_s_cudaCGScopeMultiGrid;
static PyObject *__pyx_n_s_cudaCSV;
static PyObject *__pyx_n_s_cudaChannelFormatDesc;
static PyObject *__pyx_n_u_cudaChannelFormatDesc;
static PyObject *__pyx_n_s_cudaChannelFormatDesc___reduce_c;
static PyObject *__pyx_n_s_cudaChannelFormatDesc___setstate;
static PyObject *__pyx_n_s_cudaChannelFormatDesc_getPtr;
static PyObject *__pyx_n_s_cudaChannelFormatKind;
static PyObject *__pyx_n_s_cudaChannelFormatKindFloat;
static PyObject *__pyx_n_s_cudaChannelFormatKindNV12;
static PyObject *__pyx_n_s_cudaChannelFormatKindNone;
static PyObject *__pyx_n_s_cudaChannelFormatKindSigned;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedBlock;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedBlock_2;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedBlock_3;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedNorma;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedNorma_2;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedNorma_3;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedNorma_4;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedNorma_5;
static PyObject *__pyx_n_s_cudaChannelFormatKindSignedNorma_6;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsigned;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_10;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_11;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_2;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_3;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_4;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_5;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_6;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_7;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_8;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedBlo_9;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedNor;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedNor_2;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedNor_3;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedNor_4;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedNor_5;
static PyObject *__pyx_n_s_cudaChannelFormatKindUnsignedNor_6;
static PyObject *__pyx_n_s_cudaChooseDevice;
static PyObject *__pyx_n_s_cudaClusterSchedulingPolicy;
static PyObject *__pyx_n_s_cudaClusterSchedulingPolicyDefau;
static PyObject *__pyx_n_s_cudaClusterSchedulingPolicyLoadB;
static PyObject *__pyx_n_s_cudaClusterSchedulingPolicySprea;
static PyObject *__pyx_n_s_cudaComputeMode;
static PyObject *__pyx_n_s_cudaComputeModeDefault;
static PyObject *__pyx_n_s_cudaComputeModeExclusive;
static PyObject *__pyx_n_s_cudaComputeModeExclusiveProcess;
static PyObject *__pyx_n_s_cudaComputeModeProhibited;
static PyObject *__pyx_n_s_cudaCooperativeLaunchMultiDevice;
static PyObject *__pyx_n_s_cudaCooperativeLaunchMultiDevice_2;
static PyObject *__pyx_n_s_cudaCpuDeviceId;
static PyObject *__pyx_n_s_cudaCreateChannelDesc;
static PyObject *__pyx_n_s_cudaCreateSurfaceObject;
static PyObject *__pyx_n_s_cudaCreateTextureObject;
static PyObject *__pyx_n_s_cudaCreateTextureObject_v2;
static PyObject *__pyx_n_s_cudaCtxResetPersistingL2Cache;
static PyObject *__pyx_n_s_cudaDataType;
static PyObject *__pyx_n_s_cudaDestroyExternalMemory;
static PyObject *__pyx_n_s_cudaDestroyExternalSemaphore;
static PyObject *__pyx_n_s_cudaDestroySurfaceObject;
static PyObject *__pyx_n_s_cudaDestroyTextureObject;
static PyObject *__pyx_n_s_cudaDevAttrAsyncEngineCount;
static PyObject *__pyx_n_s_cudaDevAttrCanFlushRemoteWrites;
static PyObject *__pyx_n_s_cudaDevAttrCanMapHostMemory;
static PyObject *__pyx_n_s_cudaDevAttrCanUseHostPointerForR;
static PyObject *__pyx_n_s_cudaDevAttrClockRate;
static PyObject *__pyx_n_s_cudaDevAttrClusterLaunch;
static PyObject *__pyx_n_s_cudaDevAttrComputeCapabilityMajo;
static PyObject *__pyx_n_s_cudaDevAttrComputeCapabilityMino;
static PyObject *__pyx_n_s_cudaDevAttrComputeMode;
static PyObject *__pyx_n_s_cudaDevAttrComputePreemptionSupp;
static PyObject *__pyx_n_s_cudaDevAttrConcurrentKernels;
static PyObject *__pyx_n_s_cudaDevAttrConcurrentManagedAcce;
static PyObject *__pyx_n_s_cudaDevAttrCooperativeLaunch;
static PyObject *__pyx_n_s_cudaDevAttrCooperativeMultiDevic;
static PyObject *__pyx_n_s_cudaDevAttrDeferredMappingCudaAr;
static PyObject *__pyx_n_s_cudaDevAttrDirectManagedMemAcces;
static PyObject *__pyx_n_s_cudaDevAttrEccEnabled;
static PyObject *__pyx_n_s_cudaDevAttrGPUDirectRDMAFlushWri;
static PyObject *__pyx_n_s_cudaDevAttrGPUDirectRDMASupporte;
static PyObject *__pyx_n_s_cudaDevAttrGPUDirectRDMAWritesOr;
static PyObject *__pyx_n_s_cudaDevAttrGlobalL1CacheSupporte;
static PyObject *__pyx_n_s_cudaDevAttrGlobalMemoryBusWidth;
static PyObject *__pyx_n_s_cudaDevAttrGpuOverlap;
static PyObject *__pyx_n_s_cudaDevAttrHostNativeAtomicSuppo;
static PyObject *__pyx_n_s_cudaDevAttrHostRegisterReadOnlyS;
static PyObject *__pyx_n_s_cudaDevAttrHostRegisterSupported;
static PyObject *__pyx_n_s_cudaDevAttrIntegrated;
static PyObject *__pyx_n_s_cudaDevAttrIsMultiGpuBoard;
static PyObject *__pyx_n_s_cudaDevAttrKernelExecTimeout;
static PyObject *__pyx_n_s_cudaDevAttrL2CacheSize;
static PyObject *__pyx_n_s_cudaDevAttrLocalL1CacheSupported;
static PyObject *__pyx_n_s_cudaDevAttrManagedMemory;
static PyObject *__pyx_n_s_cudaDevAttrMax;
static PyObject *__pyx_n_s_cudaDevAttrMaxAccessPolicyWindow;
static PyObject *__pyx_n_s_cudaDevAttrMaxBlockDimX;
static PyObject *__pyx_n_s_cudaDevAttrMaxBlockDimY;
static PyObject *__pyx_n_s_cudaDevAttrMaxBlockDimZ;
static PyObject *__pyx_n_s_cudaDevAttrMaxBlocksPerMultiproc;
static PyObject *__pyx_n_s_cudaDevAttrMaxGridDimX;
static PyObject *__pyx_n_s_cudaDevAttrMaxGridDimY;
static PyObject *__pyx_n_s_cudaDevAttrMaxGridDimZ;
static PyObject *__pyx_n_s_cudaDevAttrMaxPersistingL2CacheS;
static PyObject *__pyx_n_s_cudaDevAttrMaxPitch;
static PyObject *__pyx_n_s_cudaDevAttrMaxRegistersPerBlock;
static PyObject *__pyx_n_s_cudaDevAttrMaxRegistersPerMultip;
static PyObject *__pyx_n_s_cudaDevAttrMaxSharedMemoryPerBlo;
static PyObject *__pyx_n_s_cudaDevAttrMaxSharedMemoryPerBlo_2;
static PyObject *__pyx_n_s_cudaDevAttrMaxSharedMemoryPerMul;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface1DLayeredLa;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface1DLayeredWi;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface1DWidth;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface2DHeight;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface2DLayeredHe;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface2DLayeredLa;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface2DLayeredWi;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface2DWidth;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface3DDepth;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface3DHeight;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurface3DWidth;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurfaceCubemapLaye;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurfaceCubemapLaye_2;
static PyObject *__pyx_n_s_cudaDevAttrMaxSurfaceCubemapWidt;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture1DLayeredLa;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture1DLayeredWi;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture1DLinearWid;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture1DMipmapped;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture1DWidth;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DGatherHei;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DGatherWid;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DHeight;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DLayeredHe;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DLayeredLa;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DLayeredWi;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DLinearHei;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DLinearPit;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DLinearWid;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DMipmapped;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DMipmapped_2;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture2DWidth;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture3DDepth;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture3DDepthAlt;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture3DHeight;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture3DHeightAlt;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture3DWidth;
static PyObject *__pyx_n_s_cudaDevAttrMaxTexture3DWidthAlt;
static PyObject *__pyx_n_s_cudaDevAttrMaxTextureCubemapLaye;
static PyObject *__pyx_n_s_cudaDevAttrMaxTextureCubemapLaye_2;
static PyObject *__pyx_n_s_cudaDevAttrMaxTextureCubemapWidt;
static PyObject *__pyx_n_s_cudaDevAttrMaxThreadsPerBlock;
static PyObject *__pyx_n_s_cudaDevAttrMaxThreadsPerMultiPro;
static PyObject *__pyx_n_s_cudaDevAttrMaxTimelineSemaphoreI;
static PyObject *__pyx_n_s_cudaDevAttrMemoryClockRate;
static PyObject *__pyx_n_s_cudaDevAttrMemoryPoolSupportedHa;
static PyObject *__pyx_n_s_cudaDevAttrMemoryPoolsSupported;
static PyObject *__pyx_n_s_cudaDevAttrMultiGpuBoardGroupID;
static PyObject *__pyx_n_s_cudaDevAttrMultiProcessorCount;
static PyObject *__pyx_n_s_cudaDevAttrPageableMemoryAccess;
static PyObject *__pyx_n_s_cudaDevAttrPageableMemoryAccessU;
static PyObject *__pyx_n_s_cudaDevAttrPciBusId;
static PyObject *__pyx_n_s_cudaDevAttrPciDeviceId;
static PyObject *__pyx_n_s_cudaDevAttrPciDomainId;
static PyObject *__pyx_n_s_cudaDevAttrReserved92;
static PyObject *__pyx_n_s_cudaDevAttrReserved93;
static PyObject *__pyx_n_s_cudaDevAttrReserved94;
static PyObject *__pyx_n_s_cudaDevAttrReservedSharedMemoryP;
static PyObject *__pyx_n_s_cudaDevAttrSingleToDoublePrecisi;
static PyObject *__pyx_n_s_cudaDevAttrSparseCudaArraySuppor;
static PyObject *__pyx_n_s_cudaDevAttrStreamPrioritiesSuppo;
static PyObject *__pyx_n_s_cudaDevAttrSurfaceAlignment;
static PyObject *__pyx_n_s_cudaDevAttrTccDriver;
static PyObject *__pyx_n_s_cudaDevAttrTextureAlignment;
static PyObject *__pyx_n_s_cudaDevAttrTexturePitchAlignment;
static PyObject *__pyx_n_s_cudaDevAttrTimelineSemaphoreInte;
static PyObject *__pyx_n_s_cudaDevAttrTotalConstantMemory;
static PyObject *__pyx_n_s_cudaDevAttrUnifiedAddressing;
static PyObject *__pyx_n_s_cudaDevAttrWarpSize;
static PyObject *__pyx_n_s_cudaDevP2PAttrAccessSupported;
static PyObject *__pyx_n_s_cudaDevP2PAttrCudaArrayAccessSup;
static PyObject *__pyx_n_s_cudaDevP2PAttrNativeAtomicSuppor;
static PyObject *__pyx_n_s_cudaDevP2PAttrPerformanceRank;
static PyObject *__pyx_n_s_cudaDeviceAttr;
static PyObject *__pyx_n_s_cudaDeviceBlockingSync;
static PyObject *__pyx_n_s_cudaDeviceCanAccessPeer;
static PyObject *__pyx_n_s_cudaDeviceCount;
static PyObject *__pyx_n_s_cudaDeviceDisablePeerAccess;
static PyObject *__pyx_n_s_cudaDeviceEnablePeerAccess;
static PyObject *__pyx_n_s_cudaDeviceFlushGPUDirectRDMAWrit;
static PyObject *__pyx_n_s_cudaDeviceGetAttribute;
static PyObject *__pyx_n_s_cudaDeviceGetByPCIBusId;
static PyObject *__pyx_n_s_cudaDeviceGetCacheConfig;
static PyObject *__pyx_n_s_cudaDeviceGetDefaultMemPool;
static PyObject *__pyx_n_s_cudaDeviceGetGraphMemAttribute;
static PyObject *__pyx_n_s_cudaDeviceGetLimit;
static PyObject *__pyx_n_s_cudaDeviceGetMemPool;
static PyObject *__pyx_n_s_cudaDeviceGetNvSciSyncAttributes;
static PyObject *__pyx_n_s_cudaDeviceGetP2PAttribute;
static PyObject *__pyx_n_s_cudaDeviceGetPCIBusId;
static PyObject *__pyx_n_s_cudaDeviceGetSharedMemConfig;
static PyObject *__pyx_n_s_cudaDeviceGetStreamPriorityRange;
static PyObject *__pyx_n_s_cudaDeviceGetTexture1DLinearMaxW;
static PyObject *__pyx_n_s_cudaDeviceGraphMemTrim;
static PyObject *__pyx_n_s_cudaDeviceLmemResizeToMax;
static PyObject *__pyx_n_s_cudaDeviceMapHost;
static PyObject *__pyx_n_s_cudaDeviceMask;
static PyObject *__pyx_n_s_cudaDeviceP2PAttr;
static PyObject *__pyx_n_s_cudaDeviceProp;
static PyObject *__pyx_n_u_cudaDeviceProp;
static PyObject *__pyx_n_s_cudaDeviceProp___reduce_cython;
static PyObject *__pyx_n_s_cudaDeviceProp___setstate_cython;
static PyObject *__pyx_n_s_cudaDeviceProp_getPtr;
static PyObject *__pyx_n_s_cudaDeviceReset;
static PyObject *__pyx_n_s_cudaDeviceScheduleAuto;
static PyObject *__pyx_n_s_cudaDeviceScheduleBlockingSync;
static PyObject *__pyx_n_s_cudaDeviceScheduleMask;
static PyObject *__pyx_n_s_cudaDeviceScheduleSpin;
static PyObject *__pyx_n_s_cudaDeviceScheduleYield;
static PyObject *__pyx_n_s_cudaDeviceSetCacheConfig;
static PyObject *__pyx_n_s_cudaDeviceSetGraphMemAttribute;
static PyObject *__pyx_n_s_cudaDeviceSetLimit;
static PyObject *__pyx_n_s_cudaDeviceSetMemPool;
static PyObject *__pyx_n_s_cudaDeviceSetSharedMemConfig;
static PyObject *__pyx_n_s_cudaDeviceSynchronize;
static PyObject *__pyx_n_s_cudaDriverGetVersion;
static PyObject *__pyx_n_s_cudaEGLStreamConsumerAcquireFram;
static PyObject *__pyx_n_s_cudaEGLStreamConsumerConnect;
static PyObject *__pyx_n_s_cudaEGLStreamConsumerConnectWith;
static PyObject *__pyx_n_s_cudaEGLStreamConsumerDisconnect;
static PyObject *__pyx_n_s_cudaEGLStreamConsumerReleaseFram;
static PyObject *__pyx_n_s_cudaEGLStreamProducerConnect;
static PyObject *__pyx_n_s_cudaEGLStreamProducerDisconnect;
static PyObject *__pyx_n_s_cudaEGLStreamProducerPresentFram;
static PyObject *__pyx_n_s_cudaEGLStreamProducerReturnFrame;
static PyObject *__pyx_n_s_cudaEglColorFormat;
static PyObject *__pyx_n_s_cudaEglColorFormatA;
static PyObject *__pyx_n_s_cudaEglColorFormatABGR;
static PyObject *__pyx_n_s_cudaEglColorFormatARGB;
static PyObject *__pyx_n_s_cudaEglColorFormatAYUV;
static PyObject *__pyx_n_s_cudaEglColorFormatAYUV_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatBGRA;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer10BGGR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer10CCCC;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer10GBRG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer10GRBG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer10RGGB;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12BCCR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12BGGR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12CBRC;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12CCCC;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12CRBC;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12GBRG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12GRBG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12RCCB;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer12RGGB;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer14BGGR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer14GBRG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer14GRBG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer14RGGB;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer20BGGR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer20GBRG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer20GRBG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayer20RGGB;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerBCCR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerBGGR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerCBRC;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerCRBC;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerGBRG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerGRBG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerIspBGGR;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerIspGBRG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerIspGRBG;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerIspRGGB;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerRCCB;
static PyObject *__pyx_n_s_cudaEglColorFormatBayerRGGB;
static PyObject *__pyx_n_s_cudaEglColorFormatL;
static PyObject *__pyx_n_s_cudaEglColorFormatR;
static PyObject *__pyx_n_s_cudaEglColorFormatRG;
static PyObject *__pyx_n_s_cudaEglColorFormatRGBA;
static PyObject *__pyx_n_s_cudaEglColorFormatUYVY422;
static PyObject *__pyx_n_s_cudaEglColorFormatUYVY_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatVYUY;
static PyObject *__pyx_n_s_cudaEglColorFormatVYUY_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatY;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_420S;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_420S_2;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_420S_3;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_420S_4;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_420S_5;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_422S;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_422S_2;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_422S_3;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_444S;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_444S_2;
static PyObject *__pyx_n_s_cudaEglColorFormatY10V10U10_444S_3;
static PyObject *__pyx_n_s_cudaEglColorFormatY10_709_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatY10_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatY12V12U12_420S;
static PyObject *__pyx_n_s_cudaEglColorFormatY12V12U12_420S_2;
static PyObject *__pyx_n_s_cudaEglColorFormatY12V12U12_420S_3;
static PyObject *__pyx_n_s_cudaEglColorFormatY12V12U12_444S;
static PyObject *__pyx_n_s_cudaEglColorFormatY12V12U12_444S_2;
static PyObject *__pyx_n_s_cudaEglColorFormatY12V12U12_444S_3;
static PyObject *__pyx_n_s_cudaEglColorFormatY12_709_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatY12_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420Planar;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420Planar_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420Planar_7;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420Planar_E;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420SemiPlan;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420SemiPlan_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420SemiPlan_3;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV420SemiPlan_4;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV422Planar;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV422Planar_E;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV422SemiPlan;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV422SemiPlan_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV444Planar;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV444Planar_E;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV444SemiPlan;
static PyObject *__pyx_n_s_cudaEglColorFormatYUV444SemiPlan_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYUVA;
static PyObject *__pyx_n_s_cudaEglColorFormatYUVA_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatYUYV422;
static PyObject *__pyx_n_s_cudaEglColorFormatYUYV_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420Planar;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420Planar_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420Planar_7;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420Planar_E;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420SemiPlan;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420SemiPlan_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420SemiPlan_3;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU420SemiPlan_4;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU422Planar;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU422Planar_E;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU422SemiPlan;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU422SemiPlan_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU444Planar;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU444Planar_E;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU444SemiPlan;
static PyObject *__pyx_n_s_cudaEglColorFormatYVU444SemiPlan_2;
static PyObject *__pyx_n_s_cudaEglColorFormatYVYU;
static PyObject *__pyx_n_s_cudaEglColorFormatYVYU_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatY_709_ER;
static PyObject *__pyx_n_s_cudaEglColorFormatY_ER;
static PyObject *__pyx_n_s_cudaEglFrame;
static PyObject *__pyx_n_u_cudaEglFrame;
static PyObject *__pyx_n_s_cudaEglFrameType;
static PyObject *__pyx_n_s_cudaEglFrameTypeArray;
static PyObject *__pyx_n_s_cudaEglFrameTypePitch;
static PyObject *__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE;
static PyObject *__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_2;
static PyObject *__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_3;
static PyObject *__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_4;
static PyObject *__pyx_n_s_cudaEglFrame_st;
static PyObject *__pyx_n_s_cudaEglFrame_st___reduce_cython;
static PyObject *__pyx_n_s_cudaEglFrame_st___setstate_cytho;
static PyObject *__pyx_n_s_cudaEglFrame_st_getPtr;
static PyObject *__pyx_n_s_cudaEglPlaneDesc;
static PyObject *__pyx_n_s_cudaEglPlaneDesc_st;
static PyObject *__pyx_n_s_cudaEglPlaneDesc_st___reduce_cyt;
static PyObject *__pyx_n_s_cudaEglPlaneDesc_st___setstate_c;
static PyObject *__pyx_n_s_cudaEglPlaneDesc_st_getPtr;
static PyObject *__pyx_n_s_cudaEglResourceLocationFlags;
static PyObject *__pyx_n_s_cudaEglResourceLocationSysmem;
static PyObject *__pyx_n_s_cudaEglResourceLocationVidmem;
static PyObject *__pyx_n_s_cudaEglStreamConnection;
static PyObject *__pyx_n_s_cudaEnableDefault;
static PyObject *__pyx_n_s_cudaEnableLegacyStream;
static PyObject *__pyx_n_s_cudaEnablePerThreadDefaultStream;
static PyObject *__pyx_n_s_cudaErrorAddressOfConstant;
static PyObject *__pyx_n_s_cudaErrorAlreadyAcquired;
static PyObject *__pyx_n_s_cudaErrorAlreadyMapped;
static PyObject *__pyx_n_s_cudaErrorApiFailureBase;
static PyObject *__pyx_n_s_cudaErrorArrayIsMapped;
static PyObject *__pyx_n_s_cudaErrorAssert;
static PyObject *__pyx_n_s_cudaErrorCallRequiresNewerDriver;
static PyObject *__pyx_n_s_cudaErrorCapturedEvent;
static PyObject *__pyx_n_s_cudaErrorCompatNotSupportedOnDev;
static PyObject *__pyx_n_s_cudaErrorContextIsDestroyed;
static PyObject *__pyx_n_s_cudaErrorCooperativeLaunchTooLar;
static PyObject *__pyx_n_s_cudaErrorCudartUnloading;
static PyObject *__pyx_n_s_cudaErrorDeviceAlreadyInUse;
static PyObject *__pyx_n_s_cudaErrorDeviceNotLicensed;
static PyObject *__pyx_n_s_cudaErrorDeviceUninitialized;
static PyObject *__pyx_n_s_cudaErrorDevicesUnavailable;
static PyObject *__pyx_n_s_cudaErrorDuplicateSurfaceName;
static PyObject *__pyx_n_s_cudaErrorDuplicateTextureName;
static PyObject *__pyx_n_s_cudaErrorDuplicateVariableName;
static PyObject *__pyx_n_s_cudaErrorECCUncorrectable;
static PyObject *__pyx_n_s_cudaErrorExternalDevice;
static PyObject *__pyx_n_s_cudaErrorFileNotFound;
static PyObject *__pyx_n_s_cudaErrorGraphExecUpdateFailure;
static PyObject *__pyx_n_s_cudaErrorHardwareStackError;
static PyObject *__pyx_n_s_cudaErrorHostMemoryAlreadyRegist;
static PyObject *__pyx_n_s_cudaErrorHostMemoryNotRegistered;
static PyObject *__pyx_n_s_cudaErrorIllegalAddress;
static PyObject *__pyx_n_s_cudaErrorIllegalInstruction;
static PyObject *__pyx_n_s_cudaErrorIllegalState;
static PyObject *__pyx_n_s_cudaErrorIncompatibleDriverConte;
static PyObject *__pyx_n_s_cudaErrorInitializationError;
static PyObject *__pyx_n_s_cudaErrorInsufficientDriver;
static PyObject *__pyx_n_s_cudaErrorInvalidAddressSpace;
static PyObject *__pyx_n_s_cudaErrorInvalidChannelDescripto;
static PyObject *__pyx_n_s_cudaErrorInvalidClusterSize;
static PyObject *__pyx_n_s_cudaErrorInvalidConfiguration;
static PyObject *__pyx_n_s_cudaErrorInvalidDevice;
static PyObject *__pyx_n_s_cudaErrorInvalidDeviceFunction;
static PyObject *__pyx_n_s_cudaErrorInvalidDevicePointer;
static PyObject *__pyx_n_s_cudaErrorInvalidFilterSetting;
static PyObject *__pyx_n_s_cudaErrorInvalidGraphicsContext;
static PyObject *__pyx_n_s_cudaErrorInvalidHostPointer;
static PyObject *__pyx_n_s_cudaErrorInvalidKernelImage;
static PyObject *__pyx_n_s_cudaErrorInvalidMemcpyDirection;
static PyObject *__pyx_n_s_cudaErrorInvalidNormSetting;
static PyObject *__pyx_n_s_cudaErrorInvalidPc;
static PyObject *__pyx_n_s_cudaErrorInvalidPitchValue;
static PyObject *__pyx_n_s_cudaErrorInvalidPtx;
static PyObject *__pyx_n_s_cudaErrorInvalidResourceHandle;
static PyObject *__pyx_n_s_cudaErrorInvalidSource;
static PyObject *__pyx_n_s_cudaErrorInvalidSurface;
static PyObject *__pyx_n_s_cudaErrorInvalidSymbol;
static PyObject *__pyx_n_s_cudaErrorInvalidTexture;
static PyObject *__pyx_n_s_cudaErrorInvalidTextureBinding;
static PyObject *__pyx_n_s_cudaErrorInvalidValue;
static PyObject *__pyx_n_s_cudaErrorJitCompilationDisabled;
static PyObject *__pyx_n_s_cudaErrorJitCompilerNotFound;
static PyObject *__pyx_n_s_cudaErrorLaunchFailure;
static PyObject *__pyx_n_s_cudaErrorLaunchFileScopedSurf;
static PyObject *__pyx_n_s_cudaErrorLaunchFileScopedTex;
static PyObject *__pyx_n_s_cudaErrorLaunchIncompatibleTextu;
static PyObject *__pyx_n_s_cudaErrorLaunchMaxDepthExceeded;
static PyObject *__pyx_n_s_cudaErrorLaunchOutOfResources;
static PyObject *__pyx_n_s_cudaErrorLaunchPendingCountExcee;
static PyObject *__pyx_n_s_cudaErrorLaunchTimeout;
static PyObject *__pyx_n_s_cudaErrorMapBufferObjectFailed;
static PyObject *__pyx_n_s_cudaErrorMemoryAllocation;
static PyObject *__pyx_n_s_cudaErrorMemoryValueTooLarge;
static PyObject *__pyx_n_s_cudaErrorMisalignedAddress;
static PyObject *__pyx_n_s_cudaErrorMissingConfiguration;
static PyObject *__pyx_n_s_cudaErrorMixedDeviceExecution;
static PyObject *__pyx_n_s_cudaErrorMpsClientTerminated;
static PyObject *__pyx_n_s_cudaErrorMpsConnectionFailed;
static PyObject *__pyx_n_s_cudaErrorMpsMaxClientsReached;
static PyObject *__pyx_n_s_cudaErrorMpsMaxConnectionsReache;
static PyObject *__pyx_n_s_cudaErrorMpsRpcFailure;
static PyObject *__pyx_n_s_cudaErrorMpsServerNotReady;
static PyObject *__pyx_n_s_cudaErrorNoDevice;
static PyObject *__pyx_n_s_cudaErrorNoKernelImageForDevice;
static PyObject *__pyx_n_s_cudaErrorNotMapped;
static PyObject *__pyx_n_s_cudaErrorNotMappedAsArray;
static PyObject *__pyx_n_s_cudaErrorNotMappedAsPointer;
static PyObject *__pyx_n_s_cudaErrorNotPermitted;
static PyObject *__pyx_n_s_cudaErrorNotReady;
static PyObject *__pyx_n_s_cudaErrorNotSupported;
static PyObject *__pyx_n_s_cudaErrorNotYetImplemented;
static PyObject *__pyx_n_s_cudaErrorNvlinkUncorrectable;
static PyObject *__pyx_n_s_cudaErrorOperatingSystem;
static PyObject *__pyx_n_s_cudaErrorPeerAccessAlreadyEnable;
static PyObject *__pyx_n_s_cudaErrorPeerAccessNotEnabled;
static PyObject *__pyx_n_s_cudaErrorPeerAccessUnsupported;
static PyObject *__pyx_n_s_cudaErrorPriorLaunchFailure;
static PyObject *__pyx_n_s_cudaErrorProfilerAlreadyStarted;
static PyObject *__pyx_n_s_cudaErrorProfilerAlreadyStopped;
static PyObject *__pyx_n_s_cudaErrorProfilerDisabled;
static PyObject *__pyx_n_s_cudaErrorProfilerNotInitialized;
static PyObject *__pyx_n_s_cudaErrorSetOnActiveProcess;
static PyObject *__pyx_n_s_cudaErrorSharedObjectInitFailed;
static PyObject *__pyx_n_s_cudaErrorSharedObjectSymbolNotFo;
static PyObject *__pyx_n_s_cudaErrorSoftwareValidityNotEsta;
static PyObject *__pyx_n_s_cudaErrorStartupFailure;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureImplicit;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureInvalidate;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureIsolation;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureMerge;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureUnjoined;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureUnmatched;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureUnsupporte;
static PyObject *__pyx_n_s_cudaErrorStreamCaptureWrongThrea;
static PyObject *__pyx_n_s_cudaErrorStubLibrary;
static PyObject *__pyx_n_s_cudaErrorSymbolNotFound;
static PyObject *__pyx_n_s_cudaErrorSyncDepthExceeded;
static PyObject *__pyx_n_s_cudaErrorSynchronizationError;
static PyObject *__pyx_n_s_cudaErrorSystemDriverMismatch;
static PyObject *__pyx_n_s_cudaErrorSystemNotReady;
static PyObject *__pyx_n_s_cudaErrorTextureFetchFailed;
static PyObject *__pyx_n_s_cudaErrorTextureNotBound;
static PyObject *__pyx_n_s_cudaErrorTimeout;
static PyObject *__pyx_n_s_cudaErrorTooManyPeers;
static PyObject *__pyx_n_s_cudaErrorUnknown;
static PyObject *__pyx_n_s_cudaErrorUnmapBufferObjectFailed;
static PyObject *__pyx_n_s_cudaErrorUnsupportedExecAffinity;
static PyObject *__pyx_n_s_cudaErrorUnsupportedLimit;
static PyObject *__pyx_n_s_cudaErrorUnsupportedPtxVersion;
static PyObject *__pyx_n_s_cudaError_t;
static PyObject *__pyx_n_s_cudaEventBlockingSync;
static PyObject *__pyx_n_s_cudaEventCreate;
static PyObject *__pyx_n_s_cudaEventCreateFromEGLSync;
static PyObject *__pyx_n_s_cudaEventCreateWithFlags;
static PyObject *__pyx_n_s_cudaEventDefault;
static PyObject *__pyx_n_s_cudaEventDestroy;
static PyObject *__pyx_n_s_cudaEventDisableTiming;
static PyObject *__pyx_n_s_cudaEventElapsedTime;
static PyObject *__pyx_n_s_cudaEventInterprocess;
static PyObject *__pyx_n_s_cudaEventQuery;
static PyObject *__pyx_n_s_cudaEventRecord;
static PyObject *__pyx_n_s_cudaEventRecordDefault;
static PyObject *__pyx_n_s_cudaEventRecordExternal;
static PyObject *__pyx_n_s_cudaEventRecordWithFlags;
static PyObject *__pyx_n_s_cudaEventSynchronize;
static PyObject *__pyx_n_s_cudaEventWaitDefault;
static PyObject *__pyx_n_s_cudaEventWaitExternal;
static PyObject *__pyx_n_s_cudaEvent_t;
static PyObject *__pyx_n_s_cudaExtent;
static PyObject *__pyx_n_u_cudaExtent;
static PyObject *__pyx_n_s_cudaExtent___reduce_cython;
static PyObject *__pyx_n_s_cudaExtent___setstate_cython;
static PyObject *__pyx_n_s_cudaExtent_getPtr;
static PyObject *__pyx_n_s_cudaExternalMemoryBufferDesc;
static PyObject *__pyx_n_u_cudaExternalMemoryBufferDesc;
static PyObject *__pyx_n_s_cudaExternalMemoryBufferDesc___r;
static PyObject *__pyx_n_s_cudaExternalMemoryBufferDesc___s;
static PyObject *__pyx_n_s_cudaExternalMemoryBufferDesc_get;
static PyObject *__pyx_n_s_cudaExternalMemoryDedicated;
static PyObject *__pyx_n_s_cudaExternalMemoryGetMappedBuffe;
static PyObject *__pyx_n_s_cudaExternalMemoryGetMappedMipma;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc;
static PyObject *__pyx_n_u_cudaExternalMemoryHandleDesc;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc___r;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc___s;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_get;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha_2;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha_3;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha_4;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha_5;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha_6;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha_7;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleDesc_ha_8;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleType;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeD3D1;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeD3D1_2;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeD3D1_3;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeD3D1_4;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeNvSc;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeOpaq;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeOpaq_2;
static PyObject *__pyx_n_s_cudaExternalMemoryHandleTypeOpaq_3;
static PyObject *__pyx_n_s_cudaExternalMemoryMipmappedArray;
static PyObject *__pyx_n_u_cudaExternalMemoryMipmappedArray;
static PyObject *__pyx_n_s_cudaExternalMemoryMipmappedArray_2;
static PyObject *__pyx_n_s_cudaExternalMemoryMipmappedArray_3;
static PyObject *__pyx_n_s_cudaExternalMemoryMipmappedArray_4;
static PyObject *__pyx_kp_u_cudaExternalMemory_t;
static PyObject *__pyx_n_s_cudaExternalMemory_t_2;
static PyObject *__pyx_n_s_cudaExternalMemory_t___reduce_cy;
static PyObject *__pyx_n_s_cudaExternalMemory_t___setstate;
static PyObject *__pyx_n_s_cudaExternalMemory_t_getPtr;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_10;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_11;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_12;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_3;
static PyObject *__pyx_n_u_cudaExternalSemaphoreHandleDesc_3;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_4;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_5;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_6;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_7;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_8;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleDesc_9;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleType;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeD;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeD_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeK;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeK_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeN;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeO;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeO_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeO_3;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeT;
static PyObject *__pyx_n_s_cudaExternalSemaphoreHandleTypeT_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalNodeP;
static PyObject *__pyx_n_u_cudaExternalSemaphoreSignalNodeP;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalNodeP_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalNodeP_3;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalNodeP_4;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_10;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_11;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_12;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_13;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_14;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_15;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_16;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_3;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_4;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_5;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_6;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_7;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_8;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalPara_9;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalParam;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalParam_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalParam_3;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalParam_4;
static PyObject *__pyx_n_s_cudaExternalSemaphoreSignalSkipN;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitNodePar;
static PyObject *__pyx_n_u_cudaExternalSemaphoreWaitNodePar;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitNodePar_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitNodePar_3;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitNodePar_4;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_10;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_11;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_12;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_13;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_14;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_15;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_16;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_17;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_18;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_19;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_2;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_20;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_3;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_4;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_5;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_6;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_7;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_8;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitParams_9;
static PyObject *__pyx_n_s_cudaExternalSemaphoreWaitSkipNvS;
static PyObject *__pyx_kp_u_cudaExternalSemaphore_t;
static PyObject *__pyx_n_s_cudaExternalSemaphore_t_2;
static PyObject *__pyx_n_s_cudaExternalSemaphore_t___reduce;
static PyObject *__pyx_n_s_cudaExternalSemaphore_t___setsta;
static PyObject *__pyx_n_s_cudaExternalSemaphore_t_getPtr;
static PyObject *__pyx_n_s_cudaFilterModeLinear;
static PyObject *__pyx_n_s_cudaFilterModePoint;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti_2;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti_3;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesScop;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg_2;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesToAl;
static PyObject *__pyx_n_s_cudaFlushGPUDirectRDMAWritesToOw;
static PyObject *__pyx_n_s_cudaFormatModeAuto;
static PyObject *__pyx_n_s_cudaFormatModeForced;
static PyObject *__pyx_n_s_cudaFree;
static PyObject *__pyx_n_s_cudaFreeArray;
static PyObject *__pyx_n_s_cudaFreeAsync;
static PyObject *__pyx_n_s_cudaFreeHost;
static PyObject *__pyx_n_s_cudaFreeMipmappedArray;
static PyObject *__pyx_n_s_cudaFuncAttribute;
static PyObject *__pyx_n_s_cudaFuncAttributeClusterDimMustB;
static PyObject *__pyx_n_s_cudaFuncAttributeClusterScheduli;
static PyObject *__pyx_n_s_cudaFuncAttributeMax;
static PyObject *__pyx_n_s_cudaFuncAttributeMaxDynamicShare;
static PyObject *__pyx_n_s_cudaFuncAttributeNonPortableClus;
static PyObject *__pyx_n_s_cudaFuncAttributePreferredShared;
static PyObject *__pyx_n_s_cudaFuncAttributeRequiredCluster;
static PyObject *__pyx_n_s_cudaFuncAttributeRequiredCluster_2;
static PyObject *__pyx_n_s_cudaFuncAttributeRequiredCluster_3;
static PyObject *__pyx_n_s_cudaFuncAttributes;
static PyObject *__pyx_n_s_cudaFuncAttributes___reduce_cyth;
static PyObject *__pyx_n_s_cudaFuncAttributes___setstate_cy;
static PyObject *__pyx_n_s_cudaFuncAttributes_getPtr;
static PyObject *__pyx_n_s_cudaFuncCache;
static PyObject *__pyx_n_s_cudaFuncCachePreferEqual;
static PyObject *__pyx_n_s_cudaFuncCachePreferL1;
static PyObject *__pyx_n_s_cudaFuncCachePreferNone;
static PyObject *__pyx_n_s_cudaFuncCachePreferShared;
static PyObject *__pyx_n_s_cudaFuncGetAttributes;
static PyObject *__pyx_n_s_cudaFuncSetAttribute;
static PyObject *__pyx_n_s_cudaFuncSetCacheConfig;
static PyObject *__pyx_n_s_cudaFuncSetSharedMemConfig;
static PyObject *__pyx_n_s_cudaFunction_t;
static PyObject *__pyx_n_s_cudaGLDeviceList;
static PyObject *__pyx_n_s_cudaGLDeviceListAll;
static PyObject *__pyx_n_s_cudaGLDeviceListCurrentFrame;
static PyObject *__pyx_n_s_cudaGLDeviceListNextFrame;
static PyObject *__pyx_n_s_cudaGLGetDevices;
static PyObject *__pyx_n_s_cudaGLMapFlags;
static PyObject *__pyx_n_s_cudaGLMapFlagsNone;
static PyObject *__pyx_n_s_cudaGLMapFlagsReadOnly;
static PyObject *__pyx_n_s_cudaGLMapFlagsWriteDiscard;
static PyObject *__pyx_n_s_cudaGPUDirectRDMAWritesOrdering;
static PyObject *__pyx_n_s_cudaGPUDirectRDMAWritesOrderingA;
static PyObject *__pyx_n_s_cudaGPUDirectRDMAWritesOrderingN;
static PyObject *__pyx_n_s_cudaGPUDirectRDMAWritesOrderingO;
static PyObject *__pyx_n_s_cudaGetChannelDesc;
static PyObject *__pyx_n_s_cudaGetDevice;
static PyObject *__pyx_n_s_cudaGetDeviceCount;
static PyObject *__pyx_n_s_cudaGetDeviceFlags;
static PyObject *__pyx_n_s_cudaGetDeviceProperties;
static PyObject *__pyx_n_s_cudaGetDriverEntryPoint;
static PyObject *__pyx_n_s_cudaGetDriverEntryPointFlags;
static PyObject *__pyx_n_s_cudaGetErrorName;
static PyObject *__pyx_n_s_cudaGetErrorString;
static PyObject *__pyx_n_s_cudaGetExportTable;
static PyObject *__pyx_n_s_cudaGetLastError;
static PyObject *__pyx_n_s_cudaGetMipmappedArrayLevel;
static PyObject *__pyx_n_s_cudaGetSurfaceObjectResourceDesc;
static PyObject *__pyx_n_s_cudaGetTextureObjectResourceDesc;
static PyObject *__pyx_n_s_cudaGetTextureObjectResourceView;
static PyObject *__pyx_n_s_cudaGetTextureObjectTextureDesc;
static PyObject *__pyx_n_s_cudaGetTextureObjectTextureDesc_2;
static PyObject *__pyx_n_s_cudaGraphAddChildGraphNode;
static PyObject *__pyx_n_s_cudaGraphAddChildGraphNode_local;
static PyObject *__pyx_n_s_cudaGraphAddDependencies;
static PyObject *__pyx_n_s_cudaGraphAddDependencies_locals;
static PyObject *__pyx_n_s_cudaGraphAddEmptyNode;
static PyObject *__pyx_n_s_cudaGraphAddEmptyNode_locals_gen;
static PyObject *__pyx_n_s_cudaGraphAddEventRecordNode;
static PyObject *__pyx_n_s_cudaGraphAddEventRecordNode_loca;
static PyObject *__pyx_n_s_cudaGraphAddEventWaitNode;
static PyObject *__pyx_n_s_cudaGraphAddEventWaitNode_locals;
static PyObject *__pyx_n_s_cudaGraphAddExternalSemaphoresSi;
static PyObject *__pyx_n_s_cudaGraphAddExternalSemaphoresSi_2;
static PyObject *__pyx_n_s_cudaGraphAddExternalSemaphoresWa;
static PyObject *__pyx_n_s_cudaGraphAddExternalSemaphoresWa_2;
static PyObject *__pyx_n_s_cudaGraphAddHostNode;
static PyObject *__pyx_n_s_cudaGraphAddHostNode_locals_gene;
static PyObject *__pyx_n_s_cudaGraphAddKernelNode;
static PyObject *__pyx_n_s_cudaGraphAddKernelNode_locals_ge;
static PyObject *__pyx_n_s_cudaGraphAddMemAllocNode;
static PyObject *__pyx_n_s_cudaGraphAddMemAllocNode_locals;
static PyObject *__pyx_n_s_cudaGraphAddMemFreeNode;
static PyObject *__pyx_n_s_cudaGraphAddMemFreeNode_locals_g;
static PyObject *__pyx_n_s_cudaGraphAddMemcpyNode;
static PyObject *__pyx_n_s_cudaGraphAddMemcpyNode1D;
static PyObject *__pyx_n_s_cudaGraphAddMemcpyNode1D_locals;
static PyObject *__pyx_n_s_cudaGraphAddMemcpyNode_locals_ge;
static PyObject *__pyx_n_s_cudaGraphAddMemsetNode;
static PyObject *__pyx_n_s_cudaGraphAddMemsetNode_locals_ge;
static PyObject *__pyx_n_s_cudaGraphChildGraphNodeGetGraph;
static PyObject *__pyx_n_s_cudaGraphClone;
static PyObject *__pyx_n_s_cudaGraphCreate;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlags;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsEventNodeP;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsExtSemasSi;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsExtSemasWa;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsHandles;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsHostNodePa;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsKernelNode;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsKernelNode_2;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsMemcpyNode;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsMemsetNode;
static PyObject *__pyx_n_s_cudaGraphDebugDotFlagsVerbose;
static PyObject *__pyx_n_s_cudaGraphDebugDotPrint;
static PyObject *__pyx_n_s_cudaGraphDestroy;
static PyObject *__pyx_n_s_cudaGraphDestroyNode;
static PyObject *__pyx_n_s_cudaGraphEventRecordNodeGetEvent;
static PyObject *__pyx_n_s_cudaGraphEventRecordNodeSetEvent;
static PyObject *__pyx_n_s_cudaGraphEventWaitNodeGetEvent;
static PyObject *__pyx_n_s_cudaGraphEventWaitNodeSetEvent;
static PyObject *__pyx_n_s_cudaGraphExecChildGraphNodeSetPa;
static PyObject *__pyx_n_s_cudaGraphExecDestroy;
static PyObject *__pyx_n_s_cudaGraphExecEventRecordNodeSetE;
static PyObject *__pyx_n_s_cudaGraphExecEventWaitNodeSetEve;
static PyObject *__pyx_n_s_cudaGraphExecExternalSemaphoresS;
static PyObject *__pyx_n_s_cudaGraphExecExternalSemaphoresW;
static PyObject *__pyx_n_s_cudaGraphExecHostNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphExecKernelNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphExecMemcpyNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphExecMemcpyNodeSetParams_2;
static PyObject *__pyx_n_s_cudaGraphExecMemsetNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphExecUpdate;
static PyObject *__pyx_n_s_cudaGraphExecUpdateError;
static PyObject *__pyx_n_s_cudaGraphExecUpdateErrorAttribut;
static PyObject *__pyx_n_s_cudaGraphExecUpdateErrorFunction;
static PyObject *__pyx_n_s_cudaGraphExecUpdateErrorNodeType;
static PyObject *__pyx_n_s_cudaGraphExecUpdateErrorNotSuppo;
static PyObject *__pyx_n_s_cudaGraphExecUpdateErrorParamete;
static PyObject *__pyx_n_s_cudaGraphExecUpdateErrorTopology;
static PyObject *__pyx_n_s_cudaGraphExecUpdateErrorUnsuppor;
static PyObject *__pyx_n_s_cudaGraphExecUpdateResult;
static PyObject *__pyx_n_s_cudaGraphExecUpdateSuccess;
static PyObject *__pyx_n_s_cudaGraphExec_t;
static PyObject *__pyx_n_s_cudaGraphExternalSemaphoresSigna;
static PyObject *__pyx_n_s_cudaGraphExternalSemaphoresSigna_2;
static PyObject *__pyx_n_s_cudaGraphExternalSemaphoresWaitN;
static PyObject *__pyx_n_s_cudaGraphExternalSemaphoresWaitN_2;
static PyObject *__pyx_n_s_cudaGraphGetEdges;
static PyObject *__pyx_n_s_cudaGraphGetNodes;
static PyObject *__pyx_n_s_cudaGraphGetRootNodes;
static PyObject *__pyx_n_s_cudaGraphHostNodeGetParams;
static PyObject *__pyx_n_s_cudaGraphHostNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphInstantiate;
static PyObject *__pyx_n_s_cudaGraphInstantiateFlagAutoFree;
static PyObject *__pyx_n_s_cudaGraphInstantiateFlagUseNodeP;
static PyObject *__pyx_n_s_cudaGraphInstantiateFlags;
static PyObject *__pyx_n_s_cudaGraphInstantiateWithFlags;
static PyObject *__pyx_n_s_cudaGraphKernelNodeCopyAttribute;
static PyObject *__pyx_n_s_cudaGraphKernelNodeGetAttribute;
static PyObject *__pyx_n_s_cudaGraphKernelNodeGetParams;
static PyObject *__pyx_n_s_cudaGraphKernelNodeSetAttribute;
static PyObject *__pyx_n_s_cudaGraphKernelNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphLaunch;
static PyObject *__pyx_n_s_cudaGraphMemAllocNodeGetParams;
static PyObject *__pyx_n_s_cudaGraphMemAttrReservedMemCurre;
static PyObject *__pyx_n_s_cudaGraphMemAttrReservedMemHigh;
static PyObject *__pyx_n_s_cudaGraphMemAttrUsedMemCurrent;
static PyObject *__pyx_n_s_cudaGraphMemAttrUsedMemHigh;
static PyObject *__pyx_n_s_cudaGraphMemAttributeType;
static PyObject *__pyx_n_s_cudaGraphMemFreeNodeGetParams;
static PyObject *__pyx_n_s_cudaGraphMemcpyNodeGetParams;
static PyObject *__pyx_n_s_cudaGraphMemcpyNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphMemcpyNodeSetParams1D;
static PyObject *__pyx_n_s_cudaGraphMemsetNodeGetParams;
static PyObject *__pyx_n_s_cudaGraphMemsetNodeSetParams;
static PyObject *__pyx_n_s_cudaGraphNodeFindInClone;
static PyObject *__pyx_n_s_cudaGraphNodeGetDependencies;
static PyObject *__pyx_n_s_cudaGraphNodeGetDependentNodes;
static PyObject *__pyx_n_s_cudaGraphNodeGetEnabled;
static PyObject *__pyx_n_s_cudaGraphNodeGetType;
static PyObject *__pyx_n_s_cudaGraphNodeSetEnabled;
static PyObject *__pyx_n_s_cudaGraphNodeType;
static PyObject *__pyx_n_s_cudaGraphNodeTypeCount;
static PyObject *__pyx_n_s_cudaGraphNodeTypeEmpty;
static PyObject *__pyx_n_s_cudaGraphNodeTypeEventRecord;
static PyObject *__pyx_n_s_cudaGraphNodeTypeExtSemaphoreSig;
static PyObject *__pyx_n_s_cudaGraphNodeTypeExtSemaphoreWai;
static PyObject *__pyx_n_s_cudaGraphNodeTypeGraph;
static PyObject *__pyx_n_s_cudaGraphNodeTypeHost;
static PyObject *__pyx_n_s_cudaGraphNodeTypeKernel;
static PyObject *__pyx_n_s_cudaGraphNodeTypeMemAlloc;
static PyObject *__pyx_n_s_cudaGraphNodeTypeMemFree;
static PyObject *__pyx_n_s_cudaGraphNodeTypeMemcpy;
static PyObject *__pyx_n_s_cudaGraphNodeTypeMemset;
static PyObject *__pyx_n_s_cudaGraphNodeTypeWaitEvent;
static PyObject *__pyx_n_s_cudaGraphNode_t;
static PyObject *__pyx_n_s_cudaGraphReleaseUserObject;
static PyObject *__pyx_n_s_cudaGraphRemoveDependencies;
static PyObject *__pyx_n_s_cudaGraphRemoveDependencies_loca;
static PyObject *__pyx_n_s_cudaGraphRetainUserObject;
static PyObject *__pyx_n_s_cudaGraphUpload;
static PyObject *__pyx_n_s_cudaGraphUserObjectMove;
static PyObject *__pyx_n_s_cudaGraph_t;
static PyObject *__pyx_n_s_cudaGraphicsCubeFace;
static PyObject *__pyx_n_s_cudaGraphicsCubeFaceNegativeX;
static PyObject *__pyx_n_s_cudaGraphicsCubeFaceNegativeY;
static PyObject *__pyx_n_s_cudaGraphicsCubeFaceNegativeZ;
static PyObject *__pyx_n_s_cudaGraphicsCubeFacePositiveX;
static PyObject *__pyx_n_s_cudaGraphicsCubeFacePositiveY;
static PyObject *__pyx_n_s_cudaGraphicsCubeFacePositiveZ;
static PyObject *__pyx_n_s_cudaGraphicsEGLRegisterImage;
static PyObject *__pyx_n_s_cudaGraphicsGLRegisterBuffer;
static PyObject *__pyx_n_s_cudaGraphicsGLRegisterImage;
static PyObject *__pyx_n_s_cudaGraphicsMapFlags;
static PyObject *__pyx_n_s_cudaGraphicsMapFlagsNone;
static PyObject *__pyx_n_s_cudaGraphicsMapFlagsReadOnly;
static PyObject *__pyx_n_s_cudaGraphicsMapFlagsWriteDiscard;
static PyObject *__pyx_n_s_cudaGraphicsMapResources;
static PyObject *__pyx_n_s_cudaGraphicsRegisterFlags;
static PyObject *__pyx_n_s_cudaGraphicsRegisterFlagsNone;
static PyObject *__pyx_n_s_cudaGraphicsRegisterFlagsReadOnl;
static PyObject *__pyx_n_s_cudaGraphicsRegisterFlagsSurface;
static PyObject *__pyx_n_s_cudaGraphicsRegisterFlagsTexture;
static PyObject *__pyx_n_s_cudaGraphicsRegisterFlagsWriteDi;
static PyObject *__pyx_n_s_cudaGraphicsResourceGetMappedEgl;
static PyObject *__pyx_n_s_cudaGraphicsResourceGetMappedMip;
static PyObject *__pyx_n_s_cudaGraphicsResourceGetMappedPoi;
static PyObject *__pyx_n_s_cudaGraphicsResourceSetMapFlags;
static PyObject *__pyx_kp_u_cudaGraphicsResource_t;
static PyObject *__pyx_n_s_cudaGraphicsResource_t_2;
static PyObject *__pyx_n_s_cudaGraphicsResource_t___reduce;
static PyObject *__pyx_n_s_cudaGraphicsResource_t___setstat;
static PyObject *__pyx_n_s_cudaGraphicsResource_t_getPtr;
static PyObject *__pyx_n_s_cudaGraphicsSubResourceGetMapped;
static PyObject *__pyx_n_s_cudaGraphicsUnmapResources;
static PyObject *__pyx_n_s_cudaGraphicsUnregisterResource;
static PyObject *__pyx_n_s_cudaGraphicsVDPAURegisterOutputS;
static PyObject *__pyx_n_s_cudaGraphicsVDPAURegisterVideoSu;
static PyObject *__pyx_n_s_cudaHostAlloc;
static PyObject *__pyx_n_s_cudaHostAllocDefault;
static PyObject *__pyx_n_s_cudaHostAllocMapped;
static PyObject *__pyx_n_s_cudaHostAllocPortable;
static PyObject *__pyx_n_s_cudaHostAllocWriteCombined;
static PyObject *__pyx_kp_u_cudaHostFn_t;
static PyObject *__pyx_n_s_cudaHostFn_t_2;
static PyObject *__pyx_n_s_cudaHostFn_t___reduce_cython;
static PyObject *__pyx_n_s_cudaHostFn_t___setstate_cython;
static PyObject *__pyx_n_s_cudaHostFn_t_getPtr;
static PyObject *__pyx_n_s_cudaHostGetDevicePointer;
static PyObject *__pyx_n_s_cudaHostGetFlags;
static PyObject *__pyx_n_s_cudaHostNodeParams;
static PyObject *__pyx_n_u_cudaHostNodeParams;
static PyObject *__pyx_n_s_cudaHostNodeParams___reduce_cyth;
static PyObject *__pyx_n_s_cudaHostNodeParams___setstate_cy;
static PyObject *__pyx_n_s_cudaHostNodeParams_getPtr;
static PyObject *__pyx_n_s_cudaHostRegister;
static PyObject *__pyx_n_s_cudaHostRegisterDefault;
static PyObject *__pyx_n_s_cudaHostRegisterIoMemory;
static PyObject *__pyx_n_s_cudaHostRegisterMapped;
static PyObject *__pyx_n_s_cudaHostRegisterPortable;
static PyObject *__pyx_n_s_cudaHostRegisterReadOnly;
static PyObject *__pyx_n_s_cudaHostUnregister;
static PyObject *__pyx_n_s_cudaImportExternalMemory;
static PyObject *__pyx_n_s_cudaImportExternalSemaphore;
static PyObject *__pyx_n_s_cudaInvalidDeviceId;
static PyObject *__pyx_n_s_cudaIpcCloseMemHandle;
static PyObject *__pyx_n_s_cudaIpcEventHandle_st;
static PyObject *__pyx_n_s_cudaIpcEventHandle_st___reduce_c;
static PyObject *__pyx_n_s_cudaIpcEventHandle_st___setstate;
static PyObject *__pyx_n_s_cudaIpcEventHandle_st_getPtr;
static PyObject *__pyx_n_s_cudaIpcEventHandle_t;
static PyObject *__pyx_n_u_cudaIpcEventHandle_t;
static PyObject *__pyx_n_s_cudaIpcGetEventHandle;
static PyObject *__pyx_n_s_cudaIpcGetMemHandle;
static PyObject *__pyx_n_s_cudaIpcMemHandle_st;
static PyObject *__pyx_n_s_cudaIpcMemHandle_st___reduce_cyt;
static PyObject *__pyx_n_s_cudaIpcMemHandle_st___setstate_c;
static PyObject *__pyx_n_s_cudaIpcMemHandle_st_getPtr;
static PyObject *__pyx_n_s_cudaIpcMemHandle_t;
static PyObject *__pyx_n_u_cudaIpcMemHandle_t;
static PyObject *__pyx_n_s_cudaIpcMemLazyEnablePeerAccess;
static PyObject *__pyx_n_s_cudaIpcOpenEventHandle;
static PyObject *__pyx_n_s_cudaIpcOpenMemHandle;
static PyObject *__pyx_n_s_cudaKernelNodeAttrID;
static PyObject *__pyx_n_s_cudaKernelNodeAttrValue;
static PyObject *__pyx_n_s_cudaKernelNodeAttributeAccessPol;
static PyObject *__pyx_n_s_cudaKernelNodeAttributeClusterDi;
static PyObject *__pyx_n_s_cudaKernelNodeAttributeClusterSc;
static PyObject *__pyx_n_s_cudaKernelNodeAttributeCooperati;
static PyObject *__pyx_n_s_cudaKernelNodeAttributePriority;
static PyObject *__pyx_n_s_cudaKernelNodeParams;
static PyObject *__pyx_n_u_cudaKernelNodeParams;
static PyObject *__pyx_n_s_cudaKernelNodeParams___reduce_cy;
static PyObject *__pyx_n_s_cudaKernelNodeParams___setstate;
static PyObject *__pyx_n_s_cudaKernelNodeParams_getPtr;
static PyObject *__pyx_n_s_cudaKeyValuePair;
static PyObject *__pyx_n_s_cudaLaunchAttribute;
static PyObject *__pyx_n_s_cudaLaunchAttributeAccessPolicyW;
static PyObject *__pyx_n_s_cudaLaunchAttributeClusterDimens;
static PyObject *__pyx_n_s_cudaLaunchAttributeClusterSchedu;
static PyObject *__pyx_n_s_cudaLaunchAttributeCooperative;
static PyObject *__pyx_n_s_cudaLaunchAttributeID;
static PyObject *__pyx_n_s_cudaLaunchAttributeIgnore;
static PyObject *__pyx_n_s_cudaLaunchAttributePriority;
static PyObject *__pyx_n_s_cudaLaunchAttributeProgrammaticE;
static PyObject *__pyx_n_s_cudaLaunchAttributeProgrammaticS;
static PyObject *__pyx_n_s_cudaLaunchAttributeSynchronizati;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue;
static PyObject *__pyx_n_u_cudaLaunchAttributeValue;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue___reduc;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue___setst;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa_2;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa_3;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa_4;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa_5;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa_6;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa_7;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_cudaLa_8;
static PyObject *__pyx_n_s_cudaLaunchAttributeValue_getPtr;
static PyObject *__pyx_n_s_cudaLaunchAttribute_st;
static PyObject *__pyx_n_s_cudaLaunchAttribute_st___reduce;
static PyObject *__pyx_n_s_cudaLaunchAttribute_st___setstat;
static PyObject *__pyx_n_s_cudaLaunchAttribute_st_getPtr;
static PyObject *__pyx_n_s_cudaLaunchHostFunc;
static PyObject *__pyx_n_s_cudaLimit;
static PyObject *__pyx_n_s_cudaLimitDevRuntimePendingLaunch;
static PyObject *__pyx_n_s_cudaLimitDevRuntimeSyncDepth;
static PyObject *__pyx_n_s_cudaLimitMallocHeapSize;
static PyObject *__pyx_n_s_cudaLimitMaxL2FetchGranularity;
static PyObject *__pyx_n_s_cudaLimitPersistingL2CacheSize;
static PyObject *__pyx_n_s_cudaLimitPrintfFifoSize;
static PyObject *__pyx_n_s_cudaLimitStackSize;
static PyObject *__pyx_n_s_cudaMalloc;
static PyObject *__pyx_n_s_cudaMalloc3D;
static PyObject *__pyx_n_s_cudaMalloc3DArray;
static PyObject *__pyx_n_s_cudaMallocArray;
static PyObject *__pyx_n_s_cudaMallocAsync;
static PyObject *__pyx_n_s_cudaMallocFromPoolAsync;
static PyObject *__pyx_n_s_cudaMallocHost;
static PyObject *__pyx_n_s_cudaMallocManaged;
static PyObject *__pyx_n_s_cudaMallocMipmappedArray;
static PyObject *__pyx_n_s_cudaMallocPitch;
static PyObject *__pyx_n_s_cudaMemAccessDesc;
static PyObject *__pyx_n_s_cudaMemAccessDesc___reduce_cytho;
static PyObject *__pyx_n_s_cudaMemAccessDesc___setstate_cyt;
static PyObject *__pyx_n_s_cudaMemAccessDesc_getPtr;
static PyObject *__pyx_n_s_cudaMemAccessFlags;
static PyObject *__pyx_n_s_cudaMemAccessFlagsProtNone;
static PyObject *__pyx_n_s_cudaMemAccessFlagsProtRead;
static PyObject *__pyx_n_s_cudaMemAccessFlagsProtReadWrite;
static PyObject *__pyx_n_s_cudaMemAdvise;
static PyObject *__pyx_n_s_cudaMemAdviseSetAccessedBy;
static PyObject *__pyx_n_s_cudaMemAdviseSetPreferredLocatio;
static PyObject *__pyx_n_s_cudaMemAdviseSetReadMostly;
static PyObject *__pyx_n_s_cudaMemAdviseUnsetAccessedBy;
static PyObject *__pyx_n_s_cudaMemAdviseUnsetPreferredLocat;
static PyObject *__pyx_n_s_cudaMemAdviseUnsetReadMostly;
static PyObject *__pyx_n_s_cudaMemAllocNodeParams;
static PyObject *__pyx_n_u_cudaMemAllocNodeParams;
static PyObject *__pyx_n_s_cudaMemAllocNodeParams___reduce;
static PyObject *__pyx_n_s_cudaMemAllocNodeParams___setstat;
static PyObject *__pyx_n_s_cudaMemAllocNodeParams_getPtr;
static PyObject *__pyx_n_s_cudaMemAllocationHandleType;
static PyObject *__pyx_n_s_cudaMemAllocationType;
static PyObject *__pyx_n_s_cudaMemAllocationTypeInvalid;
static PyObject *__pyx_n_s_cudaMemAllocationTypeMax;
static PyObject *__pyx_n_s_cudaMemAllocationTypePinned;
static PyObject *__pyx_n_s_cudaMemAttachGlobal;
static PyObject *__pyx_n_s_cudaMemAttachHost;
static PyObject *__pyx_n_s_cudaMemAttachSingle;
static PyObject *__pyx_n_s_cudaMemGetInfo;
static PyObject *__pyx_n_s_cudaMemHandleTypeNone;
static PyObject *__pyx_n_s_cudaMemHandleTypePosixFileDescri;
static PyObject *__pyx_n_s_cudaMemHandleTypeWin32;
static PyObject *__pyx_n_s_cudaMemHandleTypeWin32Kmt;
static PyObject *__pyx_n_s_cudaMemLocation;
static PyObject *__pyx_n_u_cudaMemLocation;
static PyObject *__pyx_n_s_cudaMemLocationType;
static PyObject *__pyx_n_s_cudaMemLocationTypeDevice;
static PyObject *__pyx_n_s_cudaMemLocationTypeInvalid;
static PyObject *__pyx_n_s_cudaMemLocation___reduce_cython;
static PyObject *__pyx_n_s_cudaMemLocation___setstate_cytho;
static PyObject *__pyx_n_s_cudaMemLocation_getPtr;
static PyObject *__pyx_n_s_cudaMemPoolAttr;
static PyObject *__pyx_n_s_cudaMemPoolAttrReleaseThreshold;
static PyObject *__pyx_n_s_cudaMemPoolAttrReservedMemCurren;
static PyObject *__pyx_n_s_cudaMemPoolAttrReservedMemHigh;
static PyObject *__pyx_n_s_cudaMemPoolAttrUsedMemCurrent;
static PyObject *__pyx_n_s_cudaMemPoolAttrUsedMemHigh;
static PyObject *__pyx_n_s_cudaMemPoolCreate;
static PyObject *__pyx_n_s_cudaMemPoolDestroy;
static PyObject *__pyx_n_s_cudaMemPoolExportPointer;
static PyObject *__pyx_n_s_cudaMemPoolExportToShareableHand;
static PyObject *__pyx_n_s_cudaMemPoolGetAccess;
static PyObject *__pyx_n_s_cudaMemPoolGetAttribute;
static PyObject *__pyx_n_s_cudaMemPoolImportFromShareableHa;
static PyObject *__pyx_n_s_cudaMemPoolImportPointer;
static PyObject *__pyx_n_s_cudaMemPoolProps;
static PyObject *__pyx_n_u_cudaMemPoolProps;
static PyObject *__pyx_n_s_cudaMemPoolProps___reduce_cython;
static PyObject *__pyx_n_s_cudaMemPoolProps___setstate_cyth;
static PyObject *__pyx_n_s_cudaMemPoolProps_getPtr;
static PyObject *__pyx_n_s_cudaMemPoolPtrExportData;
static PyObject *__pyx_n_u_cudaMemPoolPtrExportData;
static PyObject *__pyx_n_s_cudaMemPoolPtrExportData___reduc;
static PyObject *__pyx_n_s_cudaMemPoolPtrExportData___setst;
static PyObject *__pyx_n_s_cudaMemPoolPtrExportData_getPtr;
static PyObject *__pyx_n_s_cudaMemPoolReuseAllowInternalDep;
static PyObject *__pyx_n_s_cudaMemPoolReuseAllowOpportunist;
static PyObject *__pyx_n_s_cudaMemPoolReuseFollowEventDepen;
static PyObject *__pyx_n_s_cudaMemPoolSetAccess;
static PyObject *__pyx_n_s_cudaMemPoolSetAccess_locals_gene;
static PyObject *__pyx_n_s_cudaMemPoolSetAttribute;
static PyObject *__pyx_n_s_cudaMemPoolTrimTo;
static PyObject *__pyx_n_s_cudaMemPool_t;
static PyObject *__pyx_n_s_cudaMemPrefetchAsync;
static PyObject *__pyx_n_s_cudaMemRangeAttribute;
static PyObject *__pyx_n_s_cudaMemRangeAttributeAccessedBy;
static PyObject *__pyx_n_s_cudaMemRangeAttributeLastPrefetc;
static PyObject *__pyx_n_s_cudaMemRangeAttributePreferredLo;
static PyObject *__pyx_n_s_cudaMemRangeAttributeReadMostly;
static PyObject *__pyx_n_s_cudaMemRangeGetAttribute;
static PyObject *__pyx_n_s_cudaMemRangeGetAttributes;
static PyObject *__pyx_n_s_cudaMemRangeGetAttributes_locals;
static PyObject *__pyx_n_s_cudaMemcpy;
static PyObject *__pyx_n_s_cudaMemcpy2D;
static PyObject *__pyx_n_s_cudaMemcpy2DArrayToArray;
static PyObject *__pyx_n_s_cudaMemcpy2DAsync;
static PyObject *__pyx_n_s_cudaMemcpy2DFromArray;
static PyObject *__pyx_n_s_cudaMemcpy2DFromArrayAsync;
static PyObject *__pyx_n_s_cudaMemcpy2DToArray;
static PyObject *__pyx_n_s_cudaMemcpy2DToArrayAsync;
static PyObject *__pyx_n_s_cudaMemcpy3D;
static PyObject *__pyx_n_s_cudaMemcpy3DAsync;
static PyObject *__pyx_n_s_cudaMemcpy3DParms;
static PyObject *__pyx_n_u_cudaMemcpy3DParms;
static PyObject *__pyx_n_s_cudaMemcpy3DParms___reduce_cytho;
static PyObject *__pyx_n_s_cudaMemcpy3DParms___setstate_cyt;
static PyObject *__pyx_n_s_cudaMemcpy3DParms_getPtr;
static PyObject *__pyx_n_s_cudaMemcpy3DPeer;
static PyObject *__pyx_n_s_cudaMemcpy3DPeerAsync;
static PyObject *__pyx_n_s_cudaMemcpy3DPeerParms;
static PyObject *__pyx_n_u_cudaMemcpy3DPeerParms;
static PyObject *__pyx_n_s_cudaMemcpy3DPeerParms___reduce_c;
static PyObject *__pyx_n_s_cudaMemcpy3DPeerParms___setstate;
static PyObject *__pyx_n_s_cudaMemcpy3DPeerParms_getPtr;
static PyObject *__pyx_n_s_cudaMemcpyArrayToArray;
static PyObject *__pyx_n_s_cudaMemcpyAsync;
static PyObject *__pyx_n_s_cudaMemcpyDefault;
static PyObject *__pyx_n_s_cudaMemcpyDeviceToDevice;
static PyObject *__pyx_n_s_cudaMemcpyDeviceToHost;
static PyObject *__pyx_n_s_cudaMemcpyFromArray;
static PyObject *__pyx_n_s_cudaMemcpyFromArrayAsync;
static PyObject *__pyx_n_s_cudaMemcpyHostToDevice;
static PyObject *__pyx_n_s_cudaMemcpyHostToHost;
static PyObject *__pyx_n_s_cudaMemcpyKind;
static PyObject *__pyx_n_s_cudaMemcpyPeer;
static PyObject *__pyx_n_s_cudaMemcpyPeerAsync;
static PyObject *__pyx_n_s_cudaMemcpyToArray;
static PyObject *__pyx_n_s_cudaMemcpyToArrayAsync;
static PyObject *__pyx_n_s_cudaMemoryAdvise;
static PyObject *__pyx_n_s_cudaMemoryType;
static PyObject *__pyx_n_s_cudaMemoryTypeDevice;
static PyObject *__pyx_n_s_cudaMemoryTypeHost;
static PyObject *__pyx_n_s_cudaMemoryTypeManaged;
static PyObject *__pyx_n_s_cudaMemoryTypeUnregistered;
static PyObject *__pyx_n_s_cudaMemset;
static PyObject *__pyx_n_s_cudaMemset2D;
static PyObject *__pyx_n_s_cudaMemset2DAsync;
static PyObject *__pyx_n_s_cudaMemset3D;
static PyObject *__pyx_n_s_cudaMemset3DAsync;
static PyObject *__pyx_n_s_cudaMemsetAsync;
static PyObject *__pyx_n_s_cudaMemsetParams;
static PyObject *__pyx_n_u_cudaMemsetParams;
static PyObject *__pyx_n_s_cudaMemsetParams___reduce_cython;
static PyObject *__pyx_n_s_cudaMemsetParams___setstate_cyth;
static PyObject *__pyx_n_s_cudaMemsetParams_getPtr;
static PyObject *__pyx_n_s_cudaMipmappedArrayGetMemoryRequi;
static PyObject *__pyx_n_s_cudaMipmappedArrayGetSparsePrope;
static PyObject *__pyx_kp_u_cudaMipmappedArray_const_t;
static PyObject *__pyx_n_s_cudaMipmappedArray_const_t_2;
static PyObject *__pyx_n_s_cudaMipmappedArray_const_t___red;
static PyObject *__pyx_n_s_cudaMipmappedArray_const_t___set;
static PyObject *__pyx_n_s_cudaMipmappedArray_const_t_getPt;
static PyObject *__pyx_kp_u_cudaMipmappedArray_t;
static PyObject *__pyx_n_s_cudaMipmappedArray_t_2;
static PyObject *__pyx_n_s_cudaMipmappedArray_t___reduce_cy;
static PyObject *__pyx_n_s_cudaMipmappedArray_t___setstate;
static PyObject *__pyx_n_s_cudaMipmappedArray_t_getPtr;
static PyObject *__pyx_n_s_cudaNvSciSyncAttrSignal;
static PyObject *__pyx_n_s_cudaNvSciSyncAttrWait;
static PyObject *__pyx_n_s_cudaOccupancyAvailableDynamicSMe;
static PyObject *__pyx_n_s_cudaOccupancyDefault;
static PyObject *__pyx_n_s_cudaOccupancyDisableCachingOverr;
static PyObject *__pyx_n_s_cudaOccupancyMaxActiveBlocksPerM;
static PyObject *__pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2;
static PyObject *__pyx_n_s_cudaOutputMode_t;
static PyObject *__pyx_n_s_cudaPeekAtLastError;
static PyObject *__pyx_n_s_cudaPeerAccessDefault;
static PyObject *__pyx_n_s_cudaPitchedPtr;
static PyObject *__pyx_n_u_cudaPitchedPtr;
static PyObject *__pyx_n_s_cudaPitchedPtr___reduce_cython;
static PyObject *__pyx_n_s_cudaPitchedPtr___setstate_cython;
static PyObject *__pyx_n_s_cudaPitchedPtr_getPtr;
static PyObject *__pyx_n_s_cudaPointerAttributes;
static PyObject *__pyx_n_s_cudaPointerAttributes___reduce_c;
static PyObject *__pyx_n_s_cudaPointerAttributes___setstate;
static PyObject *__pyx_n_s_cudaPointerAttributes_getPtr;
static PyObject *__pyx_n_s_cudaPointerGetAttributes;
static PyObject *__pyx_n_s_cudaPos;
static PyObject *__pyx_n_s_cudaPos___reduce_cython;
static PyObject *__pyx_n_s_cudaPos___setstate_cython;
static PyObject *__pyx_n_s_cudaPos_getPtr;
static PyObject *__pyx_n_s_cudaProfilerInitialize;
static PyObject *__pyx_n_s_cudaProfilerStart;
static PyObject *__pyx_n_s_cudaProfilerStop;
static PyObject *__pyx_n_s_cudaReadModeElementType;
static PyObject *__pyx_n_s_cudaReadModeNormalizedFloat;
static PyObject *__pyx_n_s_cudaResViewFormatFloat1;
static PyObject *__pyx_n_s_cudaResViewFormatFloat2;
static PyObject *__pyx_n_s_cudaResViewFormatFloat4;
static PyObject *__pyx_n_s_cudaResViewFormatHalf1;
static PyObject *__pyx_n_s_cudaResViewFormatHalf2;
static PyObject *__pyx_n_s_cudaResViewFormatHalf4;
static PyObject *__pyx_n_s_cudaResViewFormatNone;
static PyObject *__pyx_n_s_cudaResViewFormatSignedBlockComp;
static PyObject *__pyx_n_s_cudaResViewFormatSignedBlockComp_2;
static PyObject *__pyx_n_s_cudaResViewFormatSignedBlockComp_3;
static PyObject *__pyx_n_s_cudaResViewFormatSignedChar1;
static PyObject *__pyx_n_s_cudaResViewFormatSignedChar2;
static PyObject *__pyx_n_s_cudaResViewFormatSignedChar4;
static PyObject *__pyx_n_s_cudaResViewFormatSignedInt1;
static PyObject *__pyx_n_s_cudaResViewFormatSignedInt2;
static PyObject *__pyx_n_s_cudaResViewFormatSignedInt4;
static PyObject *__pyx_n_s_cudaResViewFormatSignedShort1;
static PyObject *__pyx_n_s_cudaResViewFormatSignedShort2;
static PyObject *__pyx_n_s_cudaResViewFormatSignedShort4;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedBlockCo;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedBlockCo_2;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedBlockCo_3;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedBlockCo_4;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedBlockCo_5;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedBlockCo_6;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedBlockCo_7;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedChar1;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedChar2;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedChar4;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedInt1;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedInt2;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedInt4;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedShort1;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedShort2;
static PyObject *__pyx_n_s_cudaResViewFormatUnsignedShort4;
static PyObject *__pyx_n_s_cudaResourceDesc;
static PyObject *__pyx_n_u_cudaResourceDesc;
static PyObject *__pyx_n_s_cudaResourceDesc___reduce_cython;
static PyObject *__pyx_n_s_cudaResourceDesc___setstate_cyth;
static PyObject *__pyx_n_s_cudaResourceDesc_getPtr;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_array;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_array_2;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_array_3;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_array_4;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_linear;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_linear_2;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_linear_3;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_linear_4;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_mipmap;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_mipmap_2;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_mipmap_3;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_mipmap_4;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_pitch2;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_pitch2_2;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_pitch2_3;
static PyObject *__pyx_n_s_cudaResourceDesc_res_res_pitch2_4;
static PyObject *__pyx_n_s_cudaResourceDesc_res_u;
static PyObject *__pyx_n_s_cudaResourceDesc_res_u___reduce;
static PyObject *__pyx_n_s_cudaResourceDesc_res_u___setsta;
static PyObject *__pyx_n_s_cudaResourceDesc_res_u_getPtr;
static PyObject *__pyx_n_s_cudaResourceType;
static PyObject *__pyx_n_s_cudaResourceTypeArray;
static PyObject *__pyx_n_s_cudaResourceTypeLinear;
static PyObject *__pyx_n_s_cudaResourceTypeMipmappedArray;
static PyObject *__pyx_n_s_cudaResourceTypePitch2D;
static PyObject *__pyx_n_s_cudaResourceViewDesc;
static PyObject *__pyx_n_u_cudaResourceViewDesc;
static PyObject *__pyx_n_s_cudaResourceViewDesc___reduce_cy;
static PyObject *__pyx_n_s_cudaResourceViewDesc___setstate;
static PyObject *__pyx_n_s_cudaResourceViewDesc_getPtr;
static PyObject *__pyx_n_s_cudaResourceViewFormat;
static PyObject *__pyx_n_s_cudaRoundMinInf;
static PyObject *__pyx_n_s_cudaRoundMode;
static PyObject *__pyx_n_s_cudaRoundNearest;
static PyObject *__pyx_n_s_cudaRoundPosInf;
static PyObject *__pyx_n_s_cudaRoundZero;
static PyObject *__pyx_n_s_cudaRuntimeGetVersion;
static PyObject *__pyx_n_s_cudaSetDevice;
static PyObject *__pyx_n_s_cudaSetDeviceFlags;
static PyObject *__pyx_kp_u_cudaSetDevice_line_11313;
static PyObject *__pyx_n_s_cudaSetDoubleForDevice;
static PyObject *__pyx_n_s_cudaSetDoubleForHost;
static PyObject *__pyx_n_s_cudaSharedCarveout;
static PyObject *__pyx_n_s_cudaSharedMemBankSizeDefault;
static PyObject *__pyx_n_s_cudaSharedMemBankSizeEightByte;
static PyObject *__pyx_n_s_cudaSharedMemBankSizeFourByte;
static PyObject *__pyx_n_s_cudaSharedMemConfig;
static PyObject *__pyx_n_s_cudaSharedmemCarveoutDefault;
static PyObject *__pyx_n_s_cudaSharedmemCarveoutMaxL1;
static PyObject *__pyx_n_s_cudaSharedmemCarveoutMaxShared;
static PyObject *__pyx_n_s_cudaSignalExternalSemaphoresAsyn;
static PyObject *__pyx_n_s_cudaSignalExternalSemaphoresAsyn_2;
static PyObject *__pyx_n_s_cudaStreamAddCallback;
static PyObject *__pyx_n_s_cudaStreamAddCaptureDependencies;
static PyObject *__pyx_n_s_cudaStreamAttachMemAsync;
static PyObject *__pyx_n_s_cudaStreamAttrID;
static PyObject *__pyx_n_s_cudaStreamAttrValue;
static PyObject *__pyx_n_s_cudaStreamAttributeAccessPolicyW;
static PyObject *__pyx_n_s_cudaStreamAttributeSynchronizati;
static PyObject *__pyx_n_s_cudaStreamBeginCapture;
static PyObject *__pyx_kp_u_cudaStreamCallback_t;
static PyObject *__pyx_n_s_cudaStreamCallback_t_2;
static PyObject *__pyx_n_s_cudaStreamCallback_t___reduce_cy;
static PyObject *__pyx_n_s_cudaStreamCallback_t___setstate;
static PyObject *__pyx_n_s_cudaStreamCallback_t_getPtr;
static PyObject *__pyx_n_s_cudaStreamCaptureMode;
static PyObject *__pyx_n_s_cudaStreamCaptureModeGlobal;
static PyObject *__pyx_n_s_cudaStreamCaptureModeRelaxed;
static PyObject *__pyx_n_s_cudaStreamCaptureModeThreadLocal;
static PyObject *__pyx_n_s_cudaStreamCaptureStatus;
static PyObject *__pyx_n_s_cudaStreamCaptureStatusActive;
static PyObject *__pyx_n_s_cudaStreamCaptureStatusInvalidat;
static PyObject *__pyx_n_s_cudaStreamCaptureStatusNone;
static PyObject *__pyx_n_s_cudaStreamCopyAttributes;
static PyObject *__pyx_n_s_cudaStreamCreate;
static PyObject *__pyx_n_s_cudaStreamCreateWithFlags;
static PyObject *__pyx_n_s_cudaStreamCreateWithPriority;
static PyObject *__pyx_n_s_cudaStreamDefault;
static PyObject *__pyx_n_s_cudaStreamDestroy;
static PyObject *__pyx_n_s_cudaStreamEndCapture;
static PyObject *__pyx_n_s_cudaStreamGetAttribute;
static PyObject *__pyx_n_s_cudaStreamGetCaptureInfo;
static PyObject *__pyx_n_s_cudaStreamGetCaptureInfo_v2;
static PyObject *__pyx_n_s_cudaStreamGetFlags;
static PyObject *__pyx_n_s_cudaStreamGetPriority;
static PyObject *__pyx_n_s_cudaStreamIsCapturing;
static PyObject *__pyx_n_s_cudaStreamLegacy;
static PyObject *__pyx_n_s_cudaStreamNonBlocking;
static PyObject *__pyx_n_s_cudaStreamPerThread;
static PyObject *__pyx_n_s_cudaStreamQuery;
static PyObject *__pyx_n_s_cudaStreamSetAttribute;
static PyObject *__pyx_n_s_cudaStreamSetCaptureDependencies;
static PyObject *__pyx_n_s_cudaStreamSynchronize;
static PyObject *__pyx_n_s_cudaStreamUpdateCaptureDependenc;
static PyObject *__pyx_n_s_cudaStreamUpdateCaptureDependenc_2;
static PyObject *__pyx_n_s_cudaStreamUpdateCaptureDependenc_3;
static PyObject *__pyx_n_s_cudaStreamWaitEvent;
static PyObject *__pyx_n_s_cudaStream_t;
static PyObject *__pyx_n_s_cudaSuccess;
static PyObject *__pyx_n_s_cudaSurfaceBoundaryMode;
static PyObject *__pyx_n_s_cudaSurfaceFormatMode;
static PyObject *__pyx_kp_u_cudaSurfaceObject_t;
static PyObject *__pyx_n_s_cudaSurfaceObject_t_2;
static PyObject *__pyx_n_s_cudaSurfaceObject_t___reduce_cyt;
static PyObject *__pyx_n_s_cudaSurfaceObject_t___setstate_c;
static PyObject *__pyx_n_s_cudaSurfaceObject_t_getPtr;
static PyObject *__pyx_n_s_cudaSurfaceType1D;
static PyObject *__pyx_n_s_cudaSurfaceType1DLayered;
static PyObject *__pyx_n_s_cudaSurfaceType2D;
static PyObject *__pyx_n_s_cudaSurfaceType2DLayered;
static PyObject *__pyx_n_s_cudaSurfaceType3D;
static PyObject *__pyx_n_s_cudaSurfaceTypeCubemap;
static PyObject *__pyx_n_s_cudaSurfaceTypeCubemapLayered;
static PyObject *__pyx_n_s_cudaSyncPolicyAuto;
static PyObject *__pyx_n_s_cudaSyncPolicyBlockingSync;
static PyObject *__pyx_n_s_cudaSyncPolicySpin;
static PyObject *__pyx_n_s_cudaSyncPolicyYield;
static PyObject *__pyx_n_s_cudaSynchronizationPolicy;
static PyObject *__pyx_n_s_cudaTextureAddressMode;
static PyObject *__pyx_n_s_cudaTextureDesc;
static PyObject *__pyx_n_u_cudaTextureDesc;
static PyObject *__pyx_n_s_cudaTextureDesc___reduce_cython;
static PyObject *__pyx_n_s_cudaTextureDesc___setstate_cytho;
static PyObject *__pyx_n_s_cudaTextureDesc_getPtr;
static PyObject *__pyx_n_s_cudaTextureDesc_v2;
static PyObject *__pyx_n_u_cudaTextureDesc_v2;
static PyObject *__pyx_n_s_cudaTextureDesc_v2___reduce_cyth;
static PyObject *__pyx_n_s_cudaTextureDesc_v2___setstate_cy;
static PyObject *__pyx_n_s_cudaTextureDesc_v2_getPtr;
static PyObject *__pyx_n_s_cudaTextureFilterMode;
static PyObject *__pyx_kp_u_cudaTextureObject_t;
static PyObject *__pyx_n_s_cudaTextureObject_t_2;
static PyObject *__pyx_n_s_cudaTextureObject_t___reduce_cyt;
static PyObject *__pyx_n_s_cudaTextureObject_t___setstate_c;
static PyObject *__pyx_n_s_cudaTextureObject_t_getPtr;
static PyObject *__pyx_n_s_cudaTextureReadMode;
static PyObject *__pyx_n_s_cudaTextureType1D;
static PyObject *__pyx_n_s_cudaTextureType1DLayered;
static PyObject *__pyx_n_s_cudaTextureType2D;
static PyObject *__pyx_n_s_cudaTextureType2DLayered;
static PyObject *__pyx_n_s_cudaTextureType3D;
static PyObject *__pyx_n_s_cudaTextureTypeCubemap;
static PyObject *__pyx_n_s_cudaTextureTypeCubemapLayered;
static PyObject *__pyx_n_s_cudaThreadExchangeStreamCaptureM;
static PyObject *__pyx_n_s_cudaThreadExit;
static PyObject *__pyx_n_s_cudaThreadGetLimit;
static PyObject *__pyx_n_s_cudaThreadSetLimit;
static PyObject *__pyx_n_s_cudaThreadSynchronize;
static PyObject *__pyx_n_s_cudaUUID_t;
static PyObject *__pyx_n_u_cudaUUID_t;
static PyObject *__pyx_n_s_cudaUserObjectCreate;
static PyObject *__pyx_n_s_cudaUserObjectFlags;
static PyObject *__pyx_n_s_cudaUserObjectNoDestructorSync;
static PyObject *__pyx_n_s_cudaUserObjectRelease;
static PyObject *__pyx_n_s_cudaUserObjectRetain;
static PyObject *__pyx_n_s_cudaUserObjectRetainFlags;
static PyObject *__pyx_n_s_cudaUserObject_t;
static PyObject *__pyx_n_s_cudaVDPAUGetDevice;
static PyObject *__pyx_n_s_cudaVDPAUSetVDPAUDevice;
static PyObject *__pyx_n_s_cudaWaitExternalSemaphoresAsync;
static PyObject *__pyx_n_s_cudaWaitExternalSemaphoresAsync_2;
static PyObject *__pyx_n_s_cuda_cuda;
static PyObject *__pyx_n_s_cuda_cudart;
static PyObject *__pyx_kp_s_cuda_cudart_pyx;
static PyObject *__pyx_n_s_cuserData;
static PyObject *__pyx_n_s_cuserData_ptr;
static PyObject *__pyx_n_s_cvalue;
static PyObject *__pyx_n_s_cvalue_ptr;
static PyObject *__pyx_n_s_cvdpDevice;
static PyObject *__pyx_n_s_cvdpGetProcAddress;
static PyObject *__pyx_n_s_cvdpSurface;
static PyObject *__pyx_n_s_cvoidStarHelper_ptr;
static PyObject *__pyx_n_s_cwidth;
static PyObject *__pyx_n_s_d;
static PyObject *__pyx_n_s_dataSize;
static PyObject *__pyx_n_s_dataSizes;
static PyObject *__pyx_n_s_decode;
static PyObject *__pyx_n_s_dependencies;
static PyObject *__pyx_kp_u_depth;
static PyObject *__pyx_n_s_depth_2;
static PyObject *__pyx_kp_u_desc;
static PyObject *__pyx_n_s_descList;
static PyObject *__pyx_n_s_desc_2;
static PyObject *__pyx_n_s_destroy;
static PyObject *__pyx_kp_u_devPtr;
static PyObject *__pyx_n_s_devPtr_2;
static PyObject *__pyx_kp_u_device;
static PyObject *__pyx_n_s_deviceList;
static PyObject *__pyx_kp_u_deviceOverlap;
static PyObject *__pyx_n_s_deviceOverlap_2;
static PyObject *__pyx_kp_u_devicePointer;
static PyObject *__pyx_n_s_devicePointer_2;
static PyObject *__pyx_n_s_device_2;
static PyObject *__pyx_n_s_dim3;
static PyObject *__pyx_n_s_dim3___reduce_cython;
static PyObject *__pyx_n_s_dim3___setstate_cython;
static PyObject *__pyx_n_s_dim3_getPtr;
static PyObject *__pyx_kp_u_directManagedMemAccessFromHost;
static PyObject *__pyx_n_s_directManagedMemAccessFromHost_2;
static PyObject *__pyx_kp_u_disableTrilinearOptimization;
static PyObject *__pyx_n_s_disableTrilinearOptimization_2;
static PyObject *__pyx_n_s_doc;
static PyObject *__pyx_n_s_dpitch;
static PyObject *__pyx_kp_u_dptr;
static PyObject *__pyx_n_s_dptr_2;
static PyObject *__pyx_n_s_dptr_out;
static PyObject *__pyx_n_s_driverVersion;
static PyObject *__pyx_kp_u_dst;
static PyObject *__pyx_kp_u_dstArray;
static PyObject *__pyx_n_s_dstArray_2;
static PyObject *__pyx_kp_u_dstDevice;
static PyObject *__pyx_n_s_dstDevice_2;
static PyObject *__pyx_kp_u_dstPos;
static PyObject *__pyx_n_s_dstPos_2;
static PyObject *__pyx_kp_u_dstPtr;
static PyObject *__pyx_n_s_dstPtr_2;
static PyObject *__pyx_n_s_dst_2;
static PyObject *__pyx_n_s_dynamicSMemSize;
static PyObject *__pyx_n_s_dynamicSmemSize;
static PyObject *__pyx_kp_u_eglColorFormat;
static PyObject *__pyx_n_s_eglColorFormat_2;
static PyObject *__pyx_n_s_eglFrame;
static PyObject *__pyx_n_s_eglStream;
static PyObject *__pyx_n_s_eglSync;
static PyObject *__pyx_n_s_eglframe;
static PyObject *__pyx_kp_u_elementSize;
static PyObject *__pyx_n_s_elementSize_2;
static PyObject *__pyx_n_s_end;
static PyObject *__pyx_n_s_enum;
static PyObject *__pyx_n_s_enumerate;
static PyObject *__pyx_n_s_err;
static PyObject *__pyx_n_s_error;
static PyObject *__pyx_kp_u_event;
static PyObject *__pyx_n_s_event_2;
static PyObject *__pyx_n_s_event_out;
static PyObject *__pyx_n_s_exportData;
static PyObject *__pyx_n_s_extMem;
static PyObject *__pyx_n_s_extMem_out;
static PyObject *__pyx_n_s_extSem;
static PyObject *__pyx_kp_u_extSemArray;
static PyObject *__pyx_n_s_extSemArray_2;
static PyObject *__pyx_n_s_extSem_out;
static PyObject *__pyx_kp_u_extent;
static PyObject *__pyx_n_s_extent_2;
static PyObject *__pyx_kp_u_extra;
static PyObject *__pyx_n_s_extra_2;
static PyObject *__pyx_kp_u_f;
static PyObject *__pyx_n_s_f_2;
static PyObject *__pyx_kp_u_fd;
static PyObject *__pyx_n_s_fd_2;
static PyObject *__pyx_kp_u_fence;
static PyObject *__pyx_n_s_fence_2;
static PyObject *__pyx_kp_u_fence_3;
static PyObject *__pyx_kp_u_filterMode;
static PyObject *__pyx_n_s_filterMode_2;
static PyObject *__pyx_kp_u_firstLayer;
static PyObject *__pyx_n_s_firstLayer_2;
static PyObject *__pyx_kp_u_firstMipmapLevel;
static PyObject *__pyx_n_s_firstMipmapLevel_2;
static PyObject *__pyx_kp_u_flags;
static PyObject *__pyx_n_s_flags_2;
static PyObject *__pyx_n_s_fmtDesc;
static PyObject *__pyx_kp_u_fn;
static PyObject *__pyx_n_s_fn_2;
static PyObject *__pyx_kp_u_format;
static PyObject *__pyx_kp_u_formatDesc;
static PyObject *__pyx_n_s_formatDesc_2;
static PyObject *__pyx_n_s_format_2;
static PyObject *__pyx_kp_u_frame;
static PyObject *__pyx_kp_u_frameType;
static PyObject *__pyx_n_s_frameType_2;
static PyObject *__pyx_n_s_frame_2;
static PyObject *__pyx_n_s_free;
static PyObject *__pyx_n_s_from;
static PyObject *__pyx_kp_u_func;
static PyObject *__pyx_n_s_funcPtr;
static PyObject *__pyx_n_s_func_2;
static PyObject *__pyx_n_s_genexpr;
static PyObject *__pyx_n_s_getPtr;
static PyObject *__pyx_n_u_getPtr;
static PyObject *__pyx_n_s_getstate;
static PyObject *__pyx_kp_u_globalL1CacheSupported;
static PyObject *__pyx_n_s_globalL1CacheSupported_2;
static PyObject *__pyx_n_s_graph;
static PyObject *__pyx_n_s_graphExec;
static PyObject *__pyx_n_s_graph_length;
static PyObject *__pyx_n_s_graph_out;
static PyObject *__pyx_n_s_greatestPriority;
static PyObject *__pyx_kp_u_gridDim;
static PyObject *__pyx_n_s_gridDim_2;
static PyObject *__pyx_n_s_h;
static PyObject *__pyx_n_s_hArray;
static PyObject *__pyx_n_s_hDst;
static PyObject *__pyx_n_s_hErrorNode_out;
static PyObject *__pyx_n_s_hGraph;
static PyObject *__pyx_n_s_hGraphExec;
static PyObject *__pyx_n_s_hNode;
static PyObject *__pyx_n_s_hOffset;
static PyObject *__pyx_n_s_hOffsetDst;
static PyObject *__pyx_n_s_hOffsetSrc;
static PyObject *__pyx_n_s_hSrc;
static PyObject *__pyx_n_s_hStream;
static PyObject *__pyx_kp_u_handle;
static PyObject *__pyx_n_s_handleType;
static PyObject *__pyx_kp_u_handleTypes;
static PyObject *__pyx_n_s_handleTypes_2;
static PyObject *__pyx_n_s_handle_2;
static PyObject *__pyx_kp_u_handle_3;
static PyObject *__pyx_kp_u_height;
static PyObject *__pyx_n_s_height_2;
static PyObject *__pyx_n_s_hex;
static PyObject *__pyx_kp_u_hitProp;
static PyObject *__pyx_n_s_hitProp_2;
static PyObject *__pyx_kp_u_hitRatio;
static PyObject *__pyx_n_s_hitRatio_2;
static PyObject *__pyx_kp_u_hostNativeAtomicSupported;
static PyObject *__pyx_n_s_hostNativeAtomicSupported_2;
static PyObject *__pyx_kp_u_hostPointer;
static PyObject *__pyx_n_s_hostPointer_2;
static PyObject *__pyx_kp_u_id;
static PyObject *__pyx_n_s_id_2;
static PyObject *__pyx_n_s_id_out;
static PyObject *__pyx_n_s_idx;
static PyObject *__pyx_n_s_image;
static PyObject *__pyx_kp_s_impl_private_CUDA_error_types;
static PyObject *__pyx_n_s_import;
static PyObject *__pyx_n_s_index;
static PyObject *__pyx_n_s_init_value;
static PyObject *__pyx_n_s_initialRefcount;
static PyObject *__pyx_n_s_int;
static PyObject *__pyx_kp_u_integrated;
static PyObject *__pyx_n_s_integrated_2;
static PyObject *__pyx_n_s_isEnabled;
static PyObject *__pyx_kp_u_isMultiGpuBoard;
static PyObject *__pyx_n_s_isMultiGpuBoard_2;
static PyObject *__pyx_n_s_is_getter;
static PyObject *__pyx_kp_u_kernelExecTimeoutEnabled;
static PyObject *__pyx_n_s_kernelExecTimeoutEnabled_2;
static PyObject *__pyx_kp_u_kernelParams;
static PyObject *__pyx_n_s_kernelParams_2;
static PyObject *__pyx_kp_u_key;
static PyObject *__pyx_n_s_key_2;
static PyObject *__pyx_kp_u_keyedMutex;
static PyObject *__pyx_n_s_keyedMutex_2;
static PyObject *__pyx_kp_u_kind;
static PyObject *__pyx_n_s_kind_2;
static PyObject *__pyx_kp_u_l2CacheSize;
static PyObject *__pyx_n_s_l2CacheSize_2;
static PyObject *__pyx_kp_u_lastLayer;
static PyObject *__pyx_n_s_lastLayer_2;
static PyObject *__pyx_kp_u_lastMipmapLevel;
static PyObject *__pyx_n_s_lastMipmapLevel_2;
static PyObject *__pyx_n_s_leastPriority;
static PyObject *__pyx_n_s_length;
static PyObject *__pyx_n_s_level;
static PyObject *__pyx_n_s_levelArray;
static PyObject *__pyx_n_s_libraryPropertyType;
static PyObject *__pyx_n_s_limit;
static PyObject *__pyx_kp_u_linear;
static PyObject *__pyx_n_s_linear_2;
static PyObject *__pyx_kp_u_localL1CacheSupported;
static PyObject *__pyx_n_s_localL1CacheSupported_2;
static PyObject *__pyx_kp_u_localSizeBytes;
static PyObject *__pyx_n_s_localSizeBytes_2;
static PyObject *__pyx_kp_u_location;
static PyObject *__pyx_n_s_location_2;
static PyObject *__pyx_kp_u_luid;
static PyObject *__pyx_kp_u_luidDeviceNodeMask;
static PyObject *__pyx_n_s_luidDeviceNodeMask_2;
static PyObject *__pyx_n_s_luid_2;
static PyObject *__pyx_kp_u_luid_length_must_be_8_is;
static PyObject *__pyx_n_s_main;
static PyObject *__pyx_kp_u_major;
static PyObject *__pyx_n_s_major_2;
static PyObject *__pyx_n_s_make_cudaExtent;
static PyObject *__pyx_n_s_make_cudaPitchedPtr;
static PyObject *__pyx_n_s_make_cudaPos;
static PyObject *__pyx_kp_u_managedMemory;
static PyObject *__pyx_n_s_managedMemory_2;
static PyObject *__pyx_kp_u_maxAnisotropy;
static PyObject *__pyx_n_s_maxAnisotropy_2;
static PyObject *__pyx_kp_u_maxBlocksPerMultiProcessor;
static PyObject *__pyx_n_s_maxBlocksPerMultiProcessor_2;
static PyObject *__pyx_kp_u_maxDynamicSharedSizeBytes;
static PyObject *__pyx_n_s_maxDynamicSharedSizeBytes_2;
static PyObject *__pyx_kp_u_maxGridSize;
static PyObject *__pyx_n_s_maxGridSize_2;
static PyObject *__pyx_kp_u_maxMipmapLevelClamp;
static PyObject *__pyx_n_s_maxMipmapLevelClamp_2;
static PyObject *__pyx_kp_u_maxSurface1D;
static PyObject *__pyx_kp_u_maxSurface1DLayered;
static PyObject *__pyx_n_s_maxSurface1DLayered_2;
static PyObject *__pyx_n_s_maxSurface1D_2;
static PyObject *__pyx_kp_u_maxSurface2D;
static PyObject *__pyx_kp_u_maxSurface2DLayered;
static PyObject *__pyx_n_s_maxSurface2DLayered_2;
static PyObject *__pyx_n_s_maxSurface2D_2;
static PyObject *__pyx_kp_u_maxSurface3D;
static PyObject *__pyx_n_s_maxSurface3D_2;
static PyObject *__pyx_kp_u_maxSurfaceCubemap;
static PyObject *__pyx_kp_u_maxSurfaceCubemapLayered;
static PyObject *__pyx_n_s_maxSurfaceCubemapLayered_2;
static PyObject *__pyx_n_s_maxSurfaceCubemap_2;
static PyObject *__pyx_kp_u_maxTexture1D;
static PyObject *__pyx_kp_u_maxTexture1DLayered;
static PyObject *__pyx_n_s_maxTexture1DLayered_2;
static PyObject *__pyx_kp_u_maxTexture1DLinear;
static PyObject *__pyx_n_s_maxTexture1DLinear_2;
static PyObject *__pyx_kp_u_maxTexture1DMipmap;
static PyObject *__pyx_n_s_maxTexture1DMipmap_2;
static PyObject *__pyx_n_s_maxTexture1D_2;
static PyObject *__pyx_kp_u_maxTexture2D;
static PyObject *__pyx_kp_u_maxTexture2DGather;
static PyObject *__pyx_n_s_maxTexture2DGather_2;
static PyObject *__pyx_kp_u_maxTexture2DLayered;
static PyObject *__pyx_n_s_maxTexture2DLayered_2;
static PyObject *__pyx_kp_u_maxTexture2DLinear;
static PyObject *__pyx_n_s_maxTexture2DLinear_2;
static PyObject *__pyx_kp_u_maxTexture2DMipmap;
static PyObject *__pyx_n_s_maxTexture2DMipmap_2;
static PyObject *__pyx_n_s_maxTexture2D_2;
static PyObject *__pyx_kp_u_maxTexture3D;
static PyObject *__pyx_kp_u_maxTexture3DAlt;
static PyObject *__pyx_n_s_maxTexture3DAlt_2;
static PyObject *__pyx_n_s_maxTexture3D_2;
static PyObject *__pyx_kp_u_maxTextureCubemap;
static PyObject *__pyx_kp_u_maxTextureCubemapLayered;
static PyObject *__pyx_n_s_maxTextureCubemapLayered_2;
static PyObject *__pyx_n_s_maxTextureCubemap_2;
static PyObject *__pyx_kp_u_maxThreadsDim;
static PyObject *__pyx_n_s_maxThreadsDim_2;
static PyObject *__pyx_kp_u_maxThreadsPerBlock;
static PyObject *__pyx_n_s_maxThreadsPerBlock_2;
static PyObject *__pyx_kp_u_maxThreadsPerMultiProcessor;
static PyObject *__pyx_n_s_maxThreadsPerMultiProcessor_2;
static PyObject *__pyx_n_s_maxWidthInElements;
static PyObject *__pyx_n_s_memHandleDesc;
static PyObject *__pyx_kp_u_memPitch;
static PyObject *__pyx_n_s_memPitch_2;
static PyObject *__pyx_n_s_memPool;
static PyObject *__pyx_kp_u_memoryBusWidth;
static PyObject *__pyx_n_s_memoryBusWidth_2;
static PyObject *__pyx_kp_u_memoryClockRate;
static PyObject *__pyx_n_s_memoryClockRate_2;
static PyObject *__pyx_n_s_memoryRequirements;
static PyObject *__pyx_n_s_metaclass;
static PyObject *__pyx_n_s_minBytesToKeep;
static PyObject *__pyx_kp_u_minMipmapLevelClamp;
static PyObject *__pyx_n_s_minMipmapLevelClamp_2;
static PyObject *__pyx_kp_u_minor;
static PyObject *__pyx_n_s_minor_2;
static PyObject *__pyx_n_s_mipLevel;
static PyObject *__pyx_kp_u_mipmap;
static PyObject *__pyx_n_s_mipmapDesc;
static PyObject *__pyx_kp_u_mipmapFilterMode;
static PyObject *__pyx_n_s_mipmapFilterMode_2;
static PyObject *__pyx_kp_u_mipmapLevelBias;
static PyObject *__pyx_n_s_mipmapLevelBias_2;
static PyObject *__pyx_n_s_mipmap_2;
static PyObject *__pyx_kp_u_mipmap_3;
static PyObject *__pyx_n_s_mipmappedArray;
static PyObject *__pyx_kp_u_miptailFirstLevel;
static PyObject *__pyx_n_s_miptailFirstLevel_2;
static PyObject *__pyx_kp_u_miptailSize;
static PyObject *__pyx_n_s_miptailSize_2;
static PyObject *__pyx_kp_u_missProp;
static PyObject *__pyx_n_s_missProp_2;
static PyObject *__pyx_n_s_mode;
static PyObject *__pyx_n_s_module;
static PyObject *__pyx_n_s_ms;
static PyObject *__pyx_kp_u_multiGpuBoardGroupID;
static PyObject *__pyx_n_s_multiGpuBoardGroupID_2;
static PyObject *__pyx_kp_u_multiProcessorCount;
static PyObject *__pyx_n_s_multiProcessorCount_2;
static PyObject *__pyx_kp_u_name;
static PyObject *__pyx_n_s_name_2;
static PyObject *__pyx_n_s_name_3;
static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
static PyObject *__pyx_n_s_node;
static PyObject *__pyx_n_s_nodeParams;
static PyObject *__pyx_kp_u_normalizedCoords;
static PyObject *__pyx_n_s_normalizedCoords_2;
static PyObject *__pyx_kp_u_not_enough_values_found_during_a;
static PyObject *__pyx_n_s_numAttributes;
static PyObject *__pyx_n_s_numBlocks;
static PyObject *__pyx_kp_u_numChannels;
static PyObject *__pyx_n_s_numChannels_2;
static PyObject *__pyx_n_s_numDependencies;
static PyObject *__pyx_n_s_numDependencies_out;
static PyObject *__pyx_n_s_numEdges;
static PyObject *__pyx_kp_u_numExtSems;
static PyObject *__pyx_n_s_numExtSems_2;
static PyObject *__pyx_kp_u_numLevels;
static PyObject *__pyx_n_s_numLevels_2;
static PyObject *__pyx_n_s_numNodes;
static PyObject *__pyx_kp_u_numRegs;
static PyObject *__pyx_n_s_numRegs_2;
static PyObject *__pyx_kp_u_num_bytes;
static PyObject *__pyx_n_s_num_bytes_2;
static PyObject *__pyx_kp_u_nvSciBufObject;
static PyObject *__pyx_n_s_nvSciBufObject_2;
static PyObject *__pyx_kp_u_nvSciSync;
static PyObject *__pyx_n_s_nvSciSyncAttrList;
static PyObject *__pyx_kp_u_nvSciSyncObj;
static PyObject *__pyx_n_s_nvSciSyncObj_2;
static PyObject *__pyx_n_s_nvSciSync_2;
static PyObject *__pyx_n_s_obj;
static PyObject *__pyx_n_s_objType;
static PyObject *__pyx_n_s_object;
static PyObject *__pyx_n_s_object_out;
static PyObject *__pyx_kp_u_offset;
static PyObject *__pyx_n_s_offset_2;
static PyObject *__pyx_n_s_originalGraph;
static PyObject *__pyx_n_s_originalNode;
static PyObject *__pyx_n_s_outputFile;
static PyObject *__pyx_n_s_outputMode;
static PyObject *__pyx_n_s_p;
static PyObject *__pyx_kp_u_pArray;
static PyObject *__pyx_n_s_pArray_2;
static PyObject *__pyx_n_s_pCacheConfig;
static PyObject *__pyx_n_s_pCaptureStatus;
static PyObject *__pyx_n_s_pConfig;
static PyObject *__pyx_n_s_pCopyParams;
static PyObject *__pyx_n_s_pCudaDeviceCount;
static PyObject *__pyx_n_s_pCudaResource;
static PyObject *__pyx_n_s_pDependencies;
static PyObject *__pyx_n_s_pDevice;
static PyObject *__pyx_n_s_pErrorNode;
static PyObject *__pyx_n_s_pExportTableId;
static PyObject *__pyx_n_s_pFlags;
static PyObject *__pyx_n_s_pGraph;
static PyObject *__pyx_n_s_pGraphClone;
static PyObject *__pyx_n_s_pGraphExec;
static PyObject *__pyx_n_s_pGraphNode;
static PyObject *__pyx_n_s_pHost;
static PyObject *__pyx_n_s_pId;
static PyObject *__pyx_n_s_pLogBuffer;
static PyObject *__pyx_n_s_pMemsetParams;
static PyObject *__pyx_n_s_pNode;
static PyObject *__pyx_n_s_pNodeParams;
static PyObject *__pyx_n_s_pNumDependencies;
static PyObject *__pyx_n_s_pNumDependentNodes;
static PyObject *__pyx_n_s_pNumRootNodes;
static PyObject *__pyx_kp_u_pPitch;
static PyObject *__pyx_n_s_pPitch_2;
static PyObject *__pyx_n_s_pPlaneArray;
static PyObject *__pyx_n_s_pResDesc;
static PyObject *__pyx_n_s_pResViewDesc;
static PyObject *__pyx_n_s_pStream;
static PyObject *__pyx_n_s_pSurfObject;
static PyObject *__pyx_n_s_pTexDesc;
static PyObject *__pyx_n_s_pTexObject;
static PyObject *__pyx_n_s_pType;
static PyObject *__pyx_n_s_pValue;
static PyObject *__pyx_kp_u_pad;
static PyObject *__pyx_n_s_pad_2;
static PyObject *__pyx_kp_u_pad_length_must_be_64_is;
static PyObject *__pyx_kp_u_pageableMemoryAccess;
static PyObject *__pyx_kp_u_pageableMemoryAccessUsesHostPage;
static PyObject *__pyx_n_s_pageableMemoryAccessUsesHostPage_2;
static PyObject *__pyx_n_s_pageableMemoryAccess_2;
static PyObject *__pyx_kp_u_params;
static PyObject *__pyx_kp_u_paramsArray;
static PyObject *__pyx_n_s_paramsArray_2;
static PyObject *__pyx_n_s_params_2;
static PyObject *__pyx_n_s_params_out;
static PyObject *__pyx_n_s_parray;
static PyObject *__pyx_n_s_path;
static PyObject *__pyx_n_s_pbuffer;
static PyObject *__pyx_n_s_pcallback;
static PyObject *__pyx_n_s_pchildGraph;
static PyObject *__pyx_kp_u_pciBusID;
static PyObject *__pyx_n_s_pciBusID_2;
static PyObject *__pyx_n_s_pciBusId;
static PyObject *__pyx_kp_u_pciDeviceID;
static PyObject *__pyx_n_s_pciDeviceID_2;
static PyObject *__pyx_kp_u_pciDomainID;
static PyObject *__pyx_n_s_pciDomainID_2;
static PyObject *__pyx_n_s_pclonedGraph;
static PyObject *__pyx_n_s_pconn;
static PyObject *__pyx_n_s_pdestroy;
static PyObject *__pyx_n_s_pdst;
static PyObject *__pyx_n_s_peerDevice;
static PyObject *__pyx_n_s_peglStream;
static PyObject *__pyx_n_s_peglSync;
static PyObject *__pyx_n_s_pend;
static PyObject *__pyx_kp_u_persistingL2CacheMaxSize;
static PyObject *__pyx_n_s_persistingL2CacheMaxSize_2;
static PyObject *__pyx_n_s_pevent;
static PyObject *__pyx_n_s_pextMem;
static PyObject *__pyx_n_s_pextSem;
static PyObject *__pyx_n_s_pfn;
static PyObject *__pyx_n_s_pgraph;
static PyObject *__pyx_n_s_pgraphExec;
static PyObject *__pyx_n_s_phArray;
static PyObject *__pyx_n_s_phDst;
static PyObject *__pyx_n_s_phEvent;
static PyObject *__pyx_n_s_phGraph;
static PyObject *__pyx_n_s_phGraphExec;
static PyObject *__pyx_n_s_phNode;
static PyObject *__pyx_n_s_phSrc;
static PyObject *__pyx_n_s_phStream;
static PyObject *__pyx_n_s_pheight;
static PyObject *__pyx_n_s_pimage;
static PyObject *__pyx_kp_u_pitch;
static PyObject *__pyx_kp_u_pitch2D;
static PyObject *__pyx_n_s_pitch2D_2;
static PyObject *__pyx_kp_u_pitchInBytes;
static PyObject *__pyx_n_s_pitchInBytes_2;
static PyObject *__pyx_n_s_pitch_2;
static PyObject *__pyx_n_s_pitchedDevPtr;
static PyObject *__pyx_kp_u_planeCount;
static PyObject *__pyx_n_s_planeCount_2;
static PyObject *__pyx_kp_u_planeDesc;
static PyObject *__pyx_n_s_planeDesc_2;
static PyObject *__pyx_n_s_planeIdx;
static PyObject *__pyx_n_s_pmemPool;
static PyObject *__pyx_n_s_pmipmap;
static PyObject *__pyx_n_s_pmipmappedArray;
static PyObject *__pyx_n_s_pnode;
static PyObject *__pyx_n_s_pobject;
static PyObject *__pyx_kp_u_poolProps;
static PyObject *__pyx_n_s_poolProps_2;
static PyObject *__pyx_n_s_poriginalGraph;
static PyObject *__pyx_n_s_poriginalNode;
static PyObject *__pyx_n_s_ppCudaResource;
static PyObject *__pyx_n_s_ppExportTable;
static PyObject *__pyx_n_s_ppStream;
static PyObject *__pyx_kp_u_preferredShmemCarveout;
static PyObject *__pyx_n_s_preferredShmemCarveout_2;
static PyObject *__pyx_n_s_prepare;
static PyObject *__pyx_n_s_presource;
static PyObject *__pyx_n_s_presources;
static PyObject *__pyx_kp_u_priority;
static PyObject *__pyx_n_s_priority_2;
static PyObject *__pyx_kp_u_programmaticEvent;
static PyObject *__pyx_n_s_programmaticEvent_2;
static PyObject *__pyx_kp_u_programmaticStreamSerializationA;
static PyObject *__pyx_n_s_programmaticStreamSerializationA_2;
static PyObject *__pyx_n_s_prop;
static PyObject *__pyx_n_s_psrc;
static PyObject *__pyx_n_s_pstart;
static PyObject *__pyx_n_s_pstream;
static PyObject *__pyx_n_s_psurfObject;
static PyObject *__pyx_n_s_ptarget;
static PyObject *__pyx_n_s_ptexObject;
static PyObject *__pyx_n_s_ptr;
static PyObject *__pyx_kp_u_ptr_2;
static PyObject *__pyx_n_s_ptr_3;
static PyObject *__pyx_kp_u_ptxVersion;
static PyObject *__pyx_n_s_ptxVersion_2;
static PyObject *__pyx_n_s_pvdpDevice;
static PyObject *__pyx_n_s_pvdpGetProcAddress;
static PyObject *__pyx_n_s_pvdpSurface;
static PyObject *__pyx_n_s_pwidth;
static PyObject *__pyx_n_s_pyObj;
static PyObject *__pyx_n_s_pyattributes;
static PyObject *__pyx_n_s_pydataSizes;
static PyObject *__pyx_n_s_pydependencies_out;
static PyObject *__pyx_n_s_pyfrom;
static PyObject *__pyx_n_s_pylist;
static PyObject *__pyx_n_s_pynodes;
static PyObject *__pyx_n_s_pypCudaDevices;
static PyObject *__pyx_n_s_pypDependencies;
static PyObject *__pyx_n_s_pypDependentNodes;
static PyObject *__pyx_n_s_pypRootNodes;
static PyObject *__pyx_n_s_pypciBusId;
static PyObject *__pyx_n_s_pyto;
static PyObject *__pyx_n_s_pyx_state;
static PyObject *__pyx_n_s_qualname;
static PyObject *__pyx_n_s_range;
static PyObject *__pyx_kp_u_readMode;
static PyObject *__pyx_n_s_readMode_2;
static PyObject *__pyx_n_s_reduce;
static PyObject *__pyx_n_s_reduce_cython;
static PyObject *__pyx_n_s_reduce_ex;
static PyObject *__pyx_kp_u_regsPerBlock;
static PyObject *__pyx_n_s_regsPerBlock_2;
static PyObject *__pyx_kp_u_regsPerMultiprocessor;
static PyObject *__pyx_n_s_regsPerMultiprocessor_2;
static PyObject *__pyx_kp_u_res;
static PyObject *__pyx_kp_u_resType;
static PyObject *__pyx_n_s_resType_2;
static PyObject *__pyx_n_s_res_2;
static PyObject *__pyx_kp_u_reserved;
static PyObject *__pyx_kp_u_reservedSharedMemPerBlock;
static PyObject *__pyx_n_s_reservedSharedMemPerBlock_2;
static PyObject *__pyx_n_s_reserved_2;
static PyObject *__pyx_kp_u_reserved_length_must_be_64_is;
static PyObject *__pyx_n_s_resource;
static PyObject *__pyx_n_s_resources;
static PyObject *__pyx_n_s_runtimeVersion;
static PyObject *__pyx_kp_u_sRGB;
static PyObject *__pyx_n_s_sRGB_2;
static PyObject *__pyx_n_s_scope;
static PyObject *__pyx_kp_u_seamlessCubemap;
static PyObject *__pyx_n_s_seamlessCubemap_2;
static PyObject *__pyx_n_s_self;
static PyObject *__pyx_n_s_semHandleDesc;
static PyObject *__pyx_n_s_send;
static PyObject *__pyx_n_s_setstate;
static PyObject *__pyx_n_s_setstate_cython;
static PyObject *__pyx_n_s_shareableHandle;
static PyObject *__pyx_kp_u_sharedMemBytes;
static PyObject *__pyx_n_s_sharedMemBytes_2;
static PyObject *__pyx_kp_u_sharedMemPerBlock;
static PyObject *__pyx_kp_u_sharedMemPerBlockOptin;
static PyObject *__pyx_n_s_sharedMemPerBlockOptin_2;
static PyObject *__pyx_n_s_sharedMemPerBlock_2;
static PyObject *__pyx_kp_u_sharedMemPerMultiprocessor;
static PyObject *__pyx_n_s_sharedMemPerMultiprocessor_2;
static PyObject *__pyx_kp_u_sharedSizeBytes;
static PyObject *__pyx_n_s_sharedSizeBytes_2;
static PyObject *__pyx_kp_u_singleToDoublePrecisionPerfRatio;
static PyObject *__pyx_n_s_singleToDoublePrecisionPerfRatio_2;
static PyObject *__pyx_kp_u_size;
static PyObject *__pyx_kp_u_sizeInBytes;
static PyObject *__pyx_n_s_sizeInBytes_2;
static PyObject *__pyx_n_s_size_2;
static PyObject *__pyx_n_s_sizeof;
static PyObject *__pyx_n_s_sparseProperties;
static PyObject *__pyx_n_s_spitch;
static PyObject *__pyx_n_s_src;
static PyObject *__pyx_kp_u_srcArray;
static PyObject *__pyx_n_s_srcArray_2;
static PyObject *__pyx_kp_u_srcDevice;
static PyObject *__pyx_n_s_srcDevice_2;
static PyObject *__pyx_kp_u_srcPos;
static PyObject *__pyx_n_s_srcPos_2;
static PyObject *__pyx_kp_u_srcPtr;
static PyObject *__pyx_n_s_srcPtr_2;
static PyObject *__pyx_n_s_start;
static PyObject *__pyx_n_s_startswith;
static PyObject *__pyx_n_s_stream;
static PyObject *__pyx_kp_u_streamPrioritiesSupported;
static PyObject *__pyx_n_s_streamPrioritiesSupported_2;
static PyObject *__pyx_kp_s_stringsource;
static PyObject *__pyx_n_s_surfObject;
static PyObject *__pyx_kp_u_surfaceAlignment;
static PyObject *__pyx_n_s_surfaceAlignment_2;
static PyObject *__pyx_n_s_symbol;
static PyObject *__pyx_kp_u_syncPolicy;
static PyObject *__pyx_n_s_syncPolicy_2;
static PyObject *__pyx_n_s_target;
static PyObject *__pyx_kp_u_tccDriver;
static PyObject *__pyx_n_s_tccDriver_2;
static PyObject *__pyx_n_s_test;
static PyObject *__pyx_n_s_texObject;
static PyObject *__pyx_kp_u_textureAlignment;
static PyObject *__pyx_n_s_textureAlignment_2;
static PyObject *__pyx_kp_u_texturePitchAlignment;
static PyObject *__pyx_n_s_texturePitchAlignment_2;
static PyObject *__pyx_n_s_throw;
static PyObject *__pyx_kp_u_tileExtent;
static PyObject *__pyx_n_s_tileExtent_2;
static PyObject *__pyx_n_s_timeout;
static PyObject *__pyx_kp_u_timeoutMs;
static PyObject *__pyx_n_s_timeoutMs_2;
static PyObject *__pyx_n_s_to;
static PyObject *__pyx_n_s_total;
static PyObject *__pyx_kp_u_totalConstMem;
static PyObject *__pyx_n_s_totalConstMem_2;
static PyObject *__pyx_kp_u_totalGlobalMem;
static PyObject *__pyx_n_s_totalGlobalMem_2;
static PyObject *__pyx_kp_u_triggerAtBlockStart;
static PyObject *__pyx_n_s_triggerAtBlockStart_2;
static PyObject *__pyx_kp_u_type;
static PyObject *__pyx_n_s_type_2;
static PyObject *__pyx_n_s_typing;
static PyObject *__pyx_kp_u_unifiedAddressing;
static PyObject *__pyx_n_s_unifiedAddressing_2;
static PyObject *__pyx_n_s_updateResult_out;
static PyObject *__pyx_kp_u_userData;
static PyObject *__pyx_n_s_userData_2;
static PyObject *__pyx_kp_u_utf_8;
static PyObject *__pyx_kp_u_uuid;
static PyObject *__pyx_n_s_uuid_2;
static PyObject *__pyx_kp_u_val;
static PyObject *__pyx_n_s_val_2;
static PyObject *__pyx_n_s_value;
static PyObject *__pyx_kp_u_value_2;
static PyObject *__pyx_n_s_value_out;
static PyObject *__pyx_n_s_vdpDevice;
static PyObject *__pyx_n_s_vdpGetProcAddress;
static PyObject *__pyx_n_s_vdpSurface;
static PyObject *__pyx_n_s_voidStarHelper;
static PyObject *__pyx_kp_u_w;
static PyObject *__pyx_n_s_wOffset;
static PyObject *__pyx_n_s_wOffsetDst;
static PyObject *__pyx_n_s_wOffsetSrc;
static PyObject *__pyx_n_s_w_2;
static PyObject *__pyx_kp_u_warpSize;
static PyObject *__pyx_n_s_warpSize_2;
static PyObject *__pyx_kp_u_width;
static PyObject *__pyx_n_s_width_2;
static PyObject *__pyx_kp_u_win32;
static PyObject *__pyx_kp_u_win32SecurityAttributes;
static PyObject *__pyx_n_s_win32SecurityAttributes_2;
static PyObject *__pyx_n_s_win32_2;
static PyObject *__pyx_n_s_wrapper;
static PyObject *__pyx_kp_u_x;
static PyObject *__pyx_n_s_x_2;
static PyObject *__pyx_n_u_x_2;
static PyObject *__pyx_kp_u_xsize;
static PyObject *__pyx_n_s_xsize_2;
static PyObject *__pyx_n_s_xsz;
static PyObject *__pyx_kp_u_y;
static PyObject *__pyx_n_s_y_2;
static PyObject *__pyx_kp_u_ysize;
static PyObject *__pyx_n_s_ysize_2;
static PyObject *__pyx_n_s_ysz;
static PyObject *__pyx_kp_u_z;
static PyObject *__pyx_n_s_z_2;
static PyObject *__pyx_n_s_zip;
static int __pyx_pf_4cuda_6cudart_11cudaArray_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_11cudaArray_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaArray_const_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaArray_const_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_11EGLImageKHR___cinit__(struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_11EGLImageKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_4__repr__(struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_6__index__(struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_8__int__(struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_10getPtr(struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_12EGLStreamKHR___cinit__(struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_12EGLStreamKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_4__repr__(struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_6__index__(struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_8__int__(struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_10getPtr(struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_10EGLSyncKHR___cinit__(struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_10EGLSyncKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_4__repr__(struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_6__index__(struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_8__int__(struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_10getPtr(struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_12cudaHostFn_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_12cudaHostFn_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_4dim3___cinit__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_4dim3_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_4dim3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4dim3_6getPtr(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4dim3_8__repr__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4dim3_1x___get__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_4dim3_1x_2__set__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, unsigned int __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4dim3_1y___get__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_4dim3_1y_2__set__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, unsigned int __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4dim3_1z___get__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_4dim3_1z_2__set__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, unsigned int __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4dim3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4dim3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1x___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1x_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1y___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1y_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1z___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1z_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1w___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1w_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_w); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1f___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1f_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, PyObject *__pyx_v_f); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width___get__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_2__set__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, unsigned int __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height___get__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_2__set__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, unsigned int __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth___get__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_2__set__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, unsigned int __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_2__init__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_tileExtent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, unsigned int __pyx_v_miptailFirstLevel); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_miptailSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4size___get__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment___get__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, size_t __pyx_v_alignment); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr___cinit__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_3ptr___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_3ptr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5pitch___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5pitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, size_t __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5xsize___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5xsize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, size_t __pyx_v_xsize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5ysize___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5ysize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, size_t __pyx_v_ysize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_10cudaExtent___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_10cudaExtent_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_10cudaExtent_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_10cudaExtent_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_10cudaExtent_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_5depth___get__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_10cudaExtent_5depth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, size_t __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_7cudaPos___cinit__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_7cudaPos_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_7cudaPos_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_1x___get__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_7cudaPos_1x_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, size_t __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_1y___get__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_7cudaPos_1y_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, size_t __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_1z___get__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_7cudaPos_1z_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, size_t __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_srcPos); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_srcPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_dstPos); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_dstPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6extent___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6extent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4kind___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4kind_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_srcPos); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_srcPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, int __pyx_v_srcDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_dstPos); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_dstPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, int __pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_16cudaMemsetParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_3dst___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_3dst_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, PyObject *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_5pitch___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5pitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, size_t __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_5value___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5value_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_11elementSize___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_11elementSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, unsigned int __pyx_v_elementSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow___cinit__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, PyObject *__pyx_v_base_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, size_t __pyx_v_num_bytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, float __pyx_v_hitRatio); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, PyObject *__pyx_v_hitProp); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, PyObject *__pyx_v_missProp); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2fn___get__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2fn_2__set__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, PyObject *__pyx_v_fn); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8userData___get__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8userData_2__set__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, PyObject *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, size_t __pyx_v_sizeInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, size_t __pyx_v_pitchInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_5array___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_linear); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_pitch2D); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaResourceDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaResourceDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_16cudaResourceDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_7resType___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaResourceDesc_7resType_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, PyObject *__pyx_v_resType); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_3res___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaResourceDesc_3res_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_res); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6format___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6format_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5depth___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5depth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, size_t __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_firstMipmapLevel); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_lastMipmapLevel); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_firstLayer); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_lastLayer); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes___cinit__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6device___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6device_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_13devicePointer___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, PyObject *__pyx_v_devicePointer); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_11hostPointer___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, PyObject *__pyx_v_hostPointer); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes___cinit__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, size_t __pyx_v_sharedSizeBytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, size_t __pyx_v_constSizeBytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, size_t __pyx_v_localSizeBytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_maxThreadsPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_7numRegs___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_7numRegs_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_numRegs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_ptxVersion); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_binaryVersion); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_cacheModeCA); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_maxDynamicSharedSizeBytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_preferredShmemCarveout); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaMemLocation___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaMemLocation_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_15cudaMemLocation_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaMemLocation_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_2id___get__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaMemLocation_2id_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, int __pyx_v_id); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8location___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8location_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, PyObject *__pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_9allocType___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_9allocType_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, PyObject *__pyx_v_allocType); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_11handleTypes___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, PyObject *__pyx_v_handleTypes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8location___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8location_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, size_t __pyx_v_accessDescCount); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_9CUuuid_st___cinit__(struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_9CUuuid_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_9CUuuid_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_6getPtr(struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_8__repr__(struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_5bytes___get__(struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp___cinit__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_2__init__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_4name___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4name_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_4uuid___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4uuid_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaUUID_t *__pyx_v_uuid); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_4luid___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4luid_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_luid); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, unsigned int __pyx_v_luidDeviceNodeMask); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_totalGlobalMem); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_sharedMemPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_regsPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8warpSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8warpSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_warpSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8memPitch___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8memPitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_memPitch); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxThreadsPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11maxGridSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxGridSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_9clockRate___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9clockRate_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_clockRate); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13totalConstMem___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_totalConstMem); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_5major___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5major_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_major); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_5minor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5minor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_minor); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16textureAlignment___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_textureAlignment); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_texturePitchAlignment); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_deviceOverlap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_multiProcessorCount); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_kernelExecTimeoutEnabled); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_10integrated___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10integrated_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_integrated); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_canMapHostMemory); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11computeMode___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11computeMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_computeMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTexture1D); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTexture1DMipmap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTexture1DLinear); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2D); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DMipmap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLinear); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DGather); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture3D); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture3DAlt); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTextureCubemap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture1DLayered); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLayered); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTextureCubemapLayered); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxSurface1D); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface2D); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface3D); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface1DLayered); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface2DLayered); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxSurfaceCubemap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurfaceCubemapLayered); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_surfaceAlignment); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_concurrentKernels); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_ECCEnabled); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8pciBusID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8pciBusID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pciBusID); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pciDeviceID); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDomainID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pciDomainID); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_9tccDriver___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9tccDriver_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_tccDriver); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_asyncEngineCount); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_unifiedAddressing); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_memoryClockRate); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_memoryBusWidth); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_l2CacheSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_persistingL2CacheMaxSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxThreadsPerMultiProcessor); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_streamPrioritiesSupported); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_globalL1CacheSupported); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_localL1CacheSupported); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_sharedMemPerMultiprocessor); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_regsPerMultiprocessor); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13managedMemory___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13managedMemory_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_managedMemory); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_isMultiGpuBoard); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_multiGpuBoardGroupID); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_hostNativeAtomicSupported); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_singleToDoublePrecisionPerfRatio); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pageableMemoryAccess); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_concurrentManagedAccess); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_computePreemptionSupported); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_canUseHostPointerForRegisteredMem); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_cooperativeLaunch); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_cooperativeMultiDeviceLaunch); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_sharedMemPerBlockOptin); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pageableMemoryAccessUsesHostPageTables); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_directManagedMemAccessFromHost); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxBlocksPerMultiProcessor); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_accessPolicyMaxWindowSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_reservedSharedMemPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, int __pyx_v_fd); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_win32); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_formatDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, unsigned int __pyx_v_numLevels); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, int __pyx_v_fd); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_win32); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, PyObject *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_nvSciSync); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_keyedMutex); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_params); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, PyObject *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, unsigned int __pyx_v_timeoutMs); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_nvSciSync); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_keyedMutex); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_params); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4func___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4func_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_7gridDim___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_gridDim); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8blockDim___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_blockDim); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_5extra___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_5extra_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, unsigned int __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, unsigned int __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, unsigned int __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, int __pyx_v_triggerAtBlockStart); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue___cinit__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_2__init__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_3pad___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, PyObject *__pyx_v_pad); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_accessPolicyWindow); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, int __pyx_v_cooperative); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_clusterDim); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, int __pyx_v_programmaticStreamSerializationAllowed); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_programmaticEvent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8priority___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2__init__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2id___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2id_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, PyObject *__pyx_v_id); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_3val___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_3val_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_15cudaTextureDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_11addressMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11addressMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_addressMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_10filterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_10filterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_filterMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_8readMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_8readMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_readMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_4sRGB___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_4sRGB_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, int __pyx_v_sRGB); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_11borderColor___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11borderColor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_borderColor); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, int __pyx_v_normalizedCoords); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, float __pyx_v_mipmapLevelBias); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, float __pyx_v_minMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, int __pyx_v_disableTrilinearOptimization); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2___cinit__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_addressMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_filterMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8readMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_readMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_sRGB); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_borderColor); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_normalizedCoords); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, float __pyx_v_mipmapLevelBias); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, float __pyx_v_minMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_disableTrilinearOptimization); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_seamlessCubemap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_2__init__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_numChannels); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_channelDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray___get__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_2__set__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, PyObject *__pyx_v_pArray); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch___get__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_2__set__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, PyObject *__pyx_v_pPitch); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_2__init__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_5frame___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_5frame_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_frame); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9planeDesc___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, PyObject *__pyx_v_planeDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10planeCount___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10planeCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, unsigned int __pyx_v_planeCount); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9frameType___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9frameType_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, PyObject *__pyx_v_frameType); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, PyObject *__pyx_v_eglColorFormat); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_6GLenum___cinit__(struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_6GLenum_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_4__repr__(struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_6__int__(struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_8getPtr(struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_6GLuint___cinit__(struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_6GLuint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_4__repr__(struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_6__int__(struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_8getPtr(struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_6EGLint___cinit__(struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_6EGLint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_4__repr__(struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_6__int__(struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_8getPtr(struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_9VdpDevice___cinit__(struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_9VdpDevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_4__repr__(struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_6__int__(struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_8getPtr(struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_17VdpGetProcAddress___cinit__(struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_4__repr__(struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_6__int__(struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_8getPtr(struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_15VdpVideoSurface___cinit__(struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_15VdpVideoSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_4__repr__(struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_6__int__(struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_8getPtr(struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_16VdpOutputSurface___cinit__(struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_16VdpOutputSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_4__repr__(struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_6__int__(struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_8getPtr(struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_6__int__(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_8getPtr(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaTextureObject_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_6__int__(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_8getPtr(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_cudaVDPAUGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_2cudaVDPAUSetVDPAUDevice(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4cudaGraphicsVDPAURegisterVideoSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6cudaGraphicsVDPAURegisterOutputSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_8cudaGLGetDevices(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_cudaDeviceCount, PyObject *__pyx_v_deviceList); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_10cudaGraphicsGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, PyObject *__pyx_v_target, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaGraphicsGLRegisterBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buffer, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceReset(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaDeviceSynchronize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaDeviceSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaDeviceGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaDeviceGetTexture1DLinearMaxWidth(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_fmtDesc, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaDeviceGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaDeviceGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaDeviceSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_30cudaDeviceGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_32cudaDeviceSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34cudaDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38cudaIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_40cudaIpcOpenEventHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_42cudaIpcGetMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_44cudaIpcOpenMemHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t *__pyx_v_handle, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_46cudaIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_48cudaDeviceFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50cudaThreadExit(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_52cudaThreadSynchronize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54cudaThreadSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_56cudaThreadGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58cudaGetLastError(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60cudaPeekAtLastError(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_62cudaGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_64cudaGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_66cudaGetDeviceCount(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_68cudaGetDeviceProperties(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_70cudaDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_72cudaDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_74cudaDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_memPool); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_76cudaDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_78cudaDeviceGetNvSciSyncAttributes(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_80cudaDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_srcDevice, int __pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_82cudaChooseDevice(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_prop); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_84cudaSetDevice(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_86cudaGetDevice(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88cudaSetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_90cudaGetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_92cudaStreamCreate(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_94cudaStreamCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_96cudaStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_98cudaStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_100cudaStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_102cudaCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_104cudaStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_106cudaStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_108cudaStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_110cudaStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_112cudaStreamWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_event, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_114cudaStreamAddCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_callback, PyObject *__pyx_v_userData, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_116cudaStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_118cudaStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_120cudaStreamAttachMemAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_devPtr, size_t __pyx_v_length, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_122cudaStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_124cudaThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_126cudaStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_128cudaStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_130cudaStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_132cudaStreamGetCaptureInfo_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_134cudaStreamUpdateCaptureDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_136cudaEventCreate(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_138cudaEventCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_140cudaEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_142cudaEventRecordWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_144cudaEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_146cudaEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_148cudaEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_150cudaEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_start, PyObject *__pyx_v_end); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_152cudaImportExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_memHandleDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_154cudaExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_bufferDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_156cudaExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_mipmapDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_158cudaDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_160cudaImportExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_semHandleDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_3genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_162cudaSignalExternalSemaphoresAsync(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_6cudart_31cudaWaitExternalSemaphoresAsync_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_3genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_164cudaWaitExternalSemaphoresAsync(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_6cudart_166cudaDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSem); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_168cudaFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_cacheConfig); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_170cudaFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_172cudaFuncGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_174cudaFuncSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_attr, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_176cudaSetDoubleForDevice(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_178cudaSetDoubleForHost(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_180cudaLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_fn, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_182cudaOccupancyMaxActiveBlocksPerMultiprocessor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_184cudaOccupancyAvailableDynamicSMemPerBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_numBlocks, int __pyx_v_blockSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_186cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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_6cudart_188cudaMallocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_190cudaMalloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_192cudaMallocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_194cudaMallocPitch(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_width, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_196cudaMallocArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc, size_t __pyx_v_width, size_t __pyx_v_height, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_198cudaFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_200cudaFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_202cudaFreeArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_204cudaFreeMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_206cudaHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_208cudaHostRegister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_210cudaHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_212cudaHostGetDevicePointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pHost, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_214cudaHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pHost); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_216cudaMalloc3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_218cudaMalloc3DArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_220cudaMallocMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent, unsigned int __pyx_v_numLevels, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_222cudaGetMipmappedArrayLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray, unsigned int __pyx_v_level); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_224cudaMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_226cudaMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_228cudaMemcpy3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_230cudaMemcpy3DPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_232cudaMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_234cudaArrayGetInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_236cudaArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray, unsigned int __pyx_v_planeIdx); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_238cudaArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_240cudaMipmappedArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_242cudaArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_244cudaMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_246cudaMemcpy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_248cudaMemcpyPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, int __pyx_v_dstDevice, PyObject *__pyx_v_src, int __pyx_v_srcDevice, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_250cudaMemcpy2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_252cudaMemcpy2DToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_254cudaMemcpy2DFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_256cudaMemcpy2DArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, PyObject *__pyx_v_src, size_t __pyx_v_wOffsetSrc, size_t __pyx_v_hOffsetSrc, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_258cudaMemcpyAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_260cudaMemcpyPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, int __pyx_v_dstDevice, PyObject *__pyx_v_src, int __pyx_v_srcDevice, size_t __pyx_v_count, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_262cudaMemcpy2DAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_264cudaMemcpy2DToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_266cudaMemcpy2DFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_268cudaMemset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, int __pyx_v_value, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_270cudaMemset2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_pitch, int __pyx_v_value, size_t __pyx_v_width, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_272cudaMemset3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr, int __pyx_v_value, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_274cudaMemsetAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, int __pyx_v_value, size_t __pyx_v_count, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_276cudaMemset2DAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_pitch, int __pyx_v_value, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_278cudaMemset3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr, int __pyx_v_value, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_280cudaMemPrefetchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, int __pyx_v_dstDevice, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_282cudaMemAdvise(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_284cudaMemRangeGetAttribute(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_6cudart_25cudaMemRangeGetAttributes_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaMemRangeGetAttributes_3genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_286cudaMemRangeGetAttributes(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_6cudart_288cudaMemcpyToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_290cudaMemcpyFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_count, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_292cudaMemcpyArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, PyObject *__pyx_v_src, size_t __pyx_v_wOffsetSrc, size_t __pyx_v_hOffsetSrc, size_t __pyx_v_count, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_294cudaMemcpyToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_296cudaMemcpyFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_count, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_298cudaMallocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_300cudaFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_302cudaMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, size_t __pyx_v_minBytesToKeep); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_304cudaMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_306cudaMemPoolGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMemPoolSetAccess_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_308cudaMemPoolSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_descList, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_310cudaMemPoolGetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_312cudaMemPoolCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_314cudaMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_316cudaMallocFromPoolAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, PyObject *__pyx_v_memPool, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_318cudaMemPoolExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_handleType, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_320cudaMemPoolImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_shareableHandle, PyObject *__pyx_v_handleType, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_322cudaMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_324cudaMemPoolImportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_exportData); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_326cudaPointerGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_328cudaDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, int __pyx_v_peerDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_330cudaDeviceEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_332cudaDeviceDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_334cudaGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_336cudaGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_338cudaGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_340cudaGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_342cudaGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_344cudaGraphicsSubResourceGetMappedArray(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_6cudart_346cudaGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_348cudaGetChannelDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_350cudaCreateChannelDesc(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_x, int __pyx_v_y, int __pyx_v_z, int __pyx_v_w, PyObject *__pyx_v_f); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_352cudaCreateTextureObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc, struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_354cudaCreateTextureObject_v2(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc, struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_356cudaDestroyTextureObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_358cudaGetTextureObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_360cudaGetTextureObjectTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_362cudaGetTextureObjectTextureDesc_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_364cudaGetTextureObjectResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_366cudaCreateSurfaceObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_368cudaDestroySurfaceObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_370cudaGetSurfaceObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_372cudaDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_374cudaRuntimeGetVersion(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_376cudaGraphCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphAddKernelNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_378cudaGraphAddKernelNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_380cudaGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_382cudaGraphKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_384cudaGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSrc, PyObject *__pyx_v_hDst); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_386cudaGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_388cudaGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphAddMemcpyNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_390cudaGraphAddMemcpyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pCopyParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_392cudaGraphAddMemcpyNode1D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_394cudaGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_396cudaGraphMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_398cudaGraphMemcpyNodeSetParams1D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphAddMemsetNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_400cudaGraphAddMemsetNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pMemsetParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_402cudaGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_404cudaGraphMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaGraphAddHostNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_406cudaGraphAddHostNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_408cudaGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_410cudaGraphHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaGraphAddChildGraphNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_412cudaGraphAddChildGraphNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_childGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_414cudaGraphChildGraphNodeGetGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_21cudaGraphAddEmptyNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_416cudaGraphAddEmptyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaGraphAddEventRecordNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_418cudaGraphAddEventRecordNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_420cudaGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_422cudaGraphEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_25cudaGraphAddEventWaitNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_424cudaGraphAddEventWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_426cudaGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_428cudaGraphEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_430cudaGraphAddExternalSemaphoresSignalNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_432cudaGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_434cudaGraphExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_436cudaGraphAddExternalSemaphoresWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_438cudaGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_440cudaGraphExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddMemAllocNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_442cudaGraphAddMemAllocNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_444cudaGraphMemAllocNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaGraphAddMemFreeNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_446cudaGraphAddMemFreeNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_448cudaGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_450cudaDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_452cudaDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_454cudaDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_456cudaGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_458cudaGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalNode, PyObject *__pyx_v_clonedGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_460cudaGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_462cudaGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numNodes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_464cudaGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_pNumRootNodes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_466cudaGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_468cudaGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, size_t __pyx_v_pNumDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_470cudaGraphNodeGetDependentNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, size_t __pyx_v_pNumDependentNodes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_3genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_472cudaGraphAddDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_3genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_474cudaGraphRemoveDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_476cudaGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_478cudaGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, char *__pyx_v_pLogBuffer, size_t __pyx_v_bufferSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_480cudaGraphInstantiateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_482cudaGraphExecKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_484cudaGraphExecMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_486cudaGraphExecMemcpyNodeSetParams1D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_488cudaGraphExecMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_490cudaGraphExecHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_492cudaGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, PyObject *__pyx_v_childGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_494cudaGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_496cudaGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_498cudaGraphExecExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_500cudaGraphExecExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_502cudaGraphNodeSetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, unsigned int __pyx_v_isEnabled); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_504cudaGraphNodeGetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_506cudaGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_508cudaGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_510cudaGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_512cudaGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_514cudaGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_516cudaGraphDebugDotPrint(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, char *__pyx_v_path, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_518cudaUserObjectCreate(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_6cudart_520cudaUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_522cudaUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_524cudaGraphRetainUserObject(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_6cudart_526cudaGraphReleaseUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_528cudaGetDriverEntryPoint(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_symbol, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_530cudaGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaUUID_t *__pyx_v_pExportTableId); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_532make_cudaPitchedPtr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_d, size_t __pyx_v_p, size_t __pyx_v_xsz, size_t __pyx_v_ysz); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_534make_cudaPos(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_x, size_t __pyx_v_y, size_t __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_536make_cudaExtent(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_w, size_t __pyx_v_h, size_t __pyx_v_d); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_538cudaProfilerInitialize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_configFile, char *__pyx_v_outputFile, PyObject *__pyx_v_outputMode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_540cudaProfilerStart(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_542cudaProfilerStop(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_544cudaGraphicsEGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_546cudaEGLStreamConsumerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_548cudaEGLStreamConsumerConnectWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglStream, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_550cudaEGLStreamConsumerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_552cudaEGLStreamConsumerAcquireFrame(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_6cudart_554cudaEGLStreamConsumerReleaseFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_556cudaEGLStreamProducerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglStream, PyObject *__pyx_v_width, PyObject *__pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_558cudaEGLStreamProducerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_560cudaEGLStreamProducerPresentFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_6cudart_cudaEglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_562cudaEGLStreamProducerReturnFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_6cudart_cudaEglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_564cudaGraphicsResourceGetMappedEglFrame(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_6cudart_566cudaEventCreateFromEGLSync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglSync, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_568sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objType); /* proto */
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArray_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArray_const_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMipmappedArray_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMipmappedArray_const_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraphicsResource_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemory_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphore_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_EGLImageKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_EGLStreamKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_EGLSyncKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaHostFn_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaStreamCallback_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_dim3(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaChannelFormatDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArraySparseProperties(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArrayMemoryRequirements(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaPitchedPtr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExtent(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaPos(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemcpy3DParms(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemcpy3DPeerParms(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemsetParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaAccessPolicyWindow(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaHostNodeParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_array_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_linear_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_u(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaResourceDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaResourceViewDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaPointerAttributes(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaFuncAttributes(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemLocation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemAccessDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemPoolProps(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemPoolPtrExportData(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemAllocNodeParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_CUuuid_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaDeviceProp(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcEventHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcMemHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemoryHandleDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemoryBufferDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreHandleDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreSignalParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreWaitParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaKernelNodeParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaLaunchAttributeValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaLaunchAttribute_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaTextureDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaTextureDesc_v2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglPlaneDesc_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglFrame_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_CUuuid(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaUUID_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcEventHandle_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcMemHandle_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaLaunchAttribute(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaStreamAttrValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaKernelNodeAttrValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglPlaneDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglFrame(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaStream_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEvent_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraph_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraphNode_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaUserObject_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaFunction_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemPool_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraphExec_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglStreamConnection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_GLenum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_GLuint(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_EGLint(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_VdpDevice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_VdpGetProcAddress(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_VdpVideoSurface(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_VdpOutputSurface(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaSurfaceObject_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart_cudaTextureObject_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_4_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_6_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_7_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_9_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_10_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_12_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_14_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_16_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_18_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_20_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_22_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_24_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_26_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_28_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_30_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_32_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_34_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_36_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_38_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_40_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_41_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_43_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_44_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_127;
static PyObject *__pyx_int_256;
static PyObject *__pyx_int_neg_129;
static PyObject *__pyx_tuple__4;
static PyObject *__pyx_tuple__6;
static PyObject *__pyx_tuple__9;
static PyObject *__pyx_tuple__11;
static PyObject *__pyx_tuple__14;
static PyObject *__pyx_tuple__16;
static PyObject *__pyx_tuple__19;
static PyObject *__pyx_tuple__21;
static PyObject *__pyx_tuple__24;
static PyObject *__pyx_tuple__26;
static PyObject *__pyx_tuple__29;
static PyObject *__pyx_tuple__31;
static PyObject *__pyx_tuple__34;
static PyObject *__pyx_tuple__36;
static PyObject *__pyx_tuple__39;
static PyObject *__pyx_tuple__41;
static PyObject *__pyx_tuple__44;
static PyObject *__pyx_tuple__46;
static PyObject *__pyx_tuple__49;
static PyObject *__pyx_tuple__51;
static PyObject *__pyx_tuple__54;
static PyObject *__pyx_tuple__56;
static PyObject *__pyx_tuple__59;
static PyObject *__pyx_tuple__61;
static PyObject *__pyx_tuple__66;
static PyObject *__pyx_tuple__68;
static PyObject *__pyx_tuple__71;
static PyObject *__pyx_tuple__73;
static PyObject *__pyx_tuple__76;
static PyObject *__pyx_tuple__78;
static PyObject *__pyx_tuple__83;
static PyObject *__pyx_tuple__85;
static PyObject *__pyx_tuple__88;
static PyObject *__pyx_tuple__90;
static PyObject *__pyx_tuple__93;
static PyObject *__pyx_tuple__95;
static PyObject *__pyx_tuple__98;
static PyObject *__pyx_codeobj__2;
static PyObject *__pyx_codeobj__3;
static PyObject *__pyx_codeobj__5;
static PyObject *__pyx_codeobj__7;
static PyObject *__pyx_codeobj__8;
static PyObject *__pyx_tuple__100;
static PyObject *__pyx_tuple__103;
static PyObject *__pyx_tuple__105;
static PyObject *__pyx_tuple__108;
static PyObject *__pyx_tuple__110;
static PyObject *__pyx_tuple__113;
static PyObject *__pyx_tuple__115;
static PyObject *__pyx_tuple__118;
static PyObject *__pyx_tuple__120;
static PyObject *__pyx_tuple__123;
static PyObject *__pyx_tuple__125;
static PyObject *__pyx_tuple__128;
static PyObject *__pyx_tuple__130;
static PyObject *__pyx_tuple__133;
static PyObject *__pyx_tuple__135;
static PyObject *__pyx_tuple__138;
static PyObject *__pyx_tuple__140;
static PyObject *__pyx_tuple__143;
static PyObject *__pyx_tuple__145;
static PyObject *__pyx_tuple__148;
static PyObject *__pyx_tuple__150;
static PyObject *__pyx_tuple__153;
static PyObject *__pyx_tuple__155;
static PyObject *__pyx_tuple__158;
static PyObject *__pyx_tuple__160;
static PyObject *__pyx_tuple__163;
static PyObject *__pyx_tuple__165;
static PyObject *__pyx_tuple__168;
static PyObject *__pyx_tuple__170;
static PyObject *__pyx_tuple__173;
static PyObject *__pyx_tuple__175;
static PyObject *__pyx_tuple__178;
static PyObject *__pyx_tuple__180;
static PyObject *__pyx_tuple__183;
static PyObject *__pyx_tuple__185;
static PyObject *__pyx_tuple__188;
static PyObject *__pyx_tuple__190;
static PyObject *__pyx_tuple__193;
static PyObject *__pyx_tuple__195;
static PyObject *__pyx_tuple__198;
static PyObject *__pyx_tuple__200;
static PyObject *__pyx_tuple__203;
static PyObject *__pyx_tuple__205;
static PyObject *__pyx_tuple__208;
static PyObject *__pyx_tuple__210;
static PyObject *__pyx_tuple__213;
static PyObject *__pyx_tuple__215;
static PyObject *__pyx_tuple__218;
static PyObject *__pyx_tuple__220;
static PyObject *__pyx_tuple__223;
static PyObject *__pyx_tuple__225;
static PyObject *__pyx_tuple__228;
static PyObject *__pyx_tuple__230;
static PyObject *__pyx_tuple__233;
static PyObject *__pyx_tuple__235;
static PyObject *__pyx_tuple__238;
static PyObject *__pyx_tuple__240;
static PyObject *__pyx_tuple__243;
static PyObject *__pyx_tuple__245;
static PyObject *__pyx_tuple__248;
static PyObject *__pyx_tuple__250;
static PyObject *__pyx_tuple__253;
static PyObject *__pyx_tuple__255;
static PyObject *__pyx_tuple__258;
static PyObject *__pyx_tuple__260;
static PyObject *__pyx_tuple__263;
static PyObject *__pyx_tuple__265;
static PyObject *__pyx_tuple__268;
static PyObject *__pyx_tuple__270;
static PyObject *__pyx_tuple__273;
static PyObject *__pyx_tuple__275;
static PyObject *__pyx_tuple__278;
static PyObject *__pyx_tuple__280;
static PyObject *__pyx_tuple__283;
static PyObject *__pyx_tuple__285;
static PyObject *__pyx_tuple__288;
static PyObject *__pyx_tuple__290;
static PyObject *__pyx_tuple__293;
static PyObject *__pyx_tuple__295;
static PyObject *__pyx_tuple__298;
static PyObject *__pyx_tuple__300;
static PyObject *__pyx_tuple__303;
static PyObject *__pyx_tuple__305;
static PyObject *__pyx_tuple__308;
static PyObject *__pyx_tuple__310;
static PyObject *__pyx_tuple__313;
static PyObject *__pyx_tuple__315;
static PyObject *__pyx_tuple__318;
static PyObject *__pyx_tuple__320;
static PyObject *__pyx_tuple__323;
static PyObject *__pyx_tuple__325;
static PyObject *__pyx_tuple__328;
static PyObject *__pyx_tuple__330;
static PyObject *__pyx_tuple__333;
static PyObject *__pyx_tuple__335;
static PyObject *__pyx_tuple__338;
static PyObject *__pyx_tuple__340;
static PyObject *__pyx_tuple__343;
static PyObject *__pyx_tuple__345;
static PyObject *__pyx_tuple__348;
static PyObject *__pyx_tuple__350;
static PyObject *__pyx_tuple__353;
static PyObject *__pyx_tuple__355;
static PyObject *__pyx_tuple__358;
static PyObject *__pyx_tuple__360;
static PyObject *__pyx_tuple__363;
static PyObject *__pyx_tuple__365;
static PyObject *__pyx_tuple__368;
static PyObject *__pyx_tuple__370;
static PyObject *__pyx_tuple__373;
static PyObject *__pyx_tuple__375;
static PyObject *__pyx_tuple__378;
static PyObject *__pyx_tuple__380;
static PyObject *__pyx_tuple__383;
static PyObject *__pyx_tuple__385;
static PyObject *__pyx_tuple__388;
static PyObject *__pyx_tuple__390;
static PyObject *__pyx_tuple__393;
static PyObject *__pyx_tuple__395;
static PyObject *__pyx_tuple__398;
static PyObject *__pyx_tuple__400;
static PyObject *__pyx_tuple__403;
static PyObject *__pyx_tuple__405;
static PyObject *__pyx_tuple__408;
static PyObject *__pyx_tuple__410;
static PyObject *__pyx_tuple__413;
static PyObject *__pyx_tuple__415;
static PyObject *__pyx_tuple__485;
static PyObject *__pyx_tuple__501;
static PyObject *__pyx_tuple__502;
static PyObject *__pyx_tuple__504;
static PyObject *__pyx_tuple__566;
static PyObject *__pyx_tuple__567;
static PyObject *__pyx_tuple__579;
static PyObject *__pyx_tuple__615;
static PyObject *__pyx_tuple__663;
static PyObject *__pyx_tuple__664;
static PyObject *__pyx_tuple__714;
static PyObject *__pyx_tuple__715;
static PyObject *__pyx_tuple__716;
static PyObject *__pyx_tuple__717;
static PyObject *__pyx_tuple__718;
static PyObject *__pyx_tuple__719;
static PyObject *__pyx_tuple__720;
static PyObject *__pyx_tuple__721;
static PyObject *__pyx_tuple__722;
static PyObject *__pyx_tuple__723;
static PyObject *__pyx_tuple__724;
static PyObject *__pyx_tuple__725;
static PyObject *__pyx_tuple__726;
static PyObject *__pyx_tuple__727;
static PyObject *__pyx_tuple__728;
static PyObject *__pyx_tuple__729;
static PyObject *__pyx_tuple__730;
static PyObject *__pyx_tuple__731;
static PyObject *__pyx_tuple__732;
static PyObject *__pyx_tuple__733;
static PyObject *__pyx_tuple__734;
static PyObject *__pyx_tuple__735;
static PyObject *__pyx_tuple__736;
static PyObject *__pyx_tuple__737;
static PyObject *__pyx_tuple__738;
static PyObject *__pyx_tuple__739;
static PyObject *__pyx_tuple__740;
static PyObject *__pyx_tuple__741;
static PyObject *__pyx_tuple__742;
static PyObject *__pyx_tuple__743;
static PyObject *__pyx_tuple__744;
static PyObject *__pyx_tuple__745;
static PyObject *__pyx_tuple__746;
static PyObject *__pyx_tuple__747;
static PyObject *__pyx_tuple__748;
static PyObject *__pyx_tuple__749;
static PyObject *__pyx_tuple__750;
static PyObject *__pyx_tuple__751;
static PyObject *__pyx_tuple__752;
static PyObject *__pyx_tuple__753;
static PyObject *__pyx_tuple__754;
static PyObject *__pyx_tuple__755;
static PyObject *__pyx_tuple__756;
static PyObject *__pyx_tuple__757;
static PyObject *__pyx_tuple__758;
static PyObject *__pyx_tuple__759;
static PyObject *__pyx_tuple__760;
static PyObject *__pyx_tuple__761;
static PyObject *__pyx_tuple__762;
static PyObject *__pyx_tuple__763;
static PyObject *__pyx_tuple__764;
static PyObject *__pyx_tuple__765;
static PyObject *__pyx_tuple__766;
static PyObject *__pyx_tuple__767;
static PyObject *__pyx_tuple__768;
static PyObject *__pyx_tuple__769;
static PyObject *__pyx_tuple__770;
static PyObject *__pyx_tuple__771;
static PyObject *__pyx_tuple__772;
static PyObject *__pyx_tuple__773;
static PyObject *__pyx_tuple__774;
static PyObject *__pyx_tuple__775;
static PyObject *__pyx_tuple__776;
static PyObject *__pyx_tuple__777;
static PyObject *__pyx_tuple__778;
static PyObject *__pyx_tuple__779;
static PyObject *__pyx_tuple__780;
static PyObject *__pyx_tuple__781;
static PyObject *__pyx_tuple__782;
static PyObject *__pyx_tuple__783;
static PyObject *__pyx_tuple__784;
static PyObject *__pyx_tuple__785;
static PyObject *__pyx_tuple__786;
static PyObject *__pyx_tuple__787;
static PyObject *__pyx_tuple__788;
static PyObject *__pyx_tuple__789;
static PyObject *__pyx_tuple__790;
static PyObject *__pyx_tuple__791;
static PyObject *__pyx_tuple__792;
static PyObject *__pyx_tuple__793;
static PyObject *__pyx_tuple__794;
static PyObject *__pyx_tuple__795;
static PyObject *__pyx_tuple__796;
static PyObject *__pyx_tuple__797;
static PyObject *__pyx_tuple__798;
static PyObject *__pyx_tuple__799;
static PyObject *__pyx_tuple__800;
static PyObject *__pyx_tuple__801;
static PyObject *__pyx_tuple__802;
static PyObject *__pyx_tuple__803;
static PyObject *__pyx_tuple__804;
static PyObject *__pyx_tuple__805;
static PyObject *__pyx_tuple__806;
static PyObject *__pyx_tuple__807;
static PyObject *__pyx_tuple__808;
static PyObject *__pyx_tuple__809;
static PyObject *__pyx_tuple__810;
static PyObject *__pyx_tuple__811;
static PyObject *__pyx_tuple__812;
static PyObject *__pyx_tuple__813;
static PyObject *__pyx_tuple__814;
static PyObject *__pyx_tuple__815;
static PyObject *__pyx_tuple__816;
static PyObject *__pyx_tuple__817;
static PyObject *__pyx_tuple__818;
static PyObject *__pyx_tuple__819;
static PyObject *__pyx_tuple__820;
static PyObject *__pyx_tuple__821;
static PyObject *__pyx_tuple__822;
static PyObject *__pyx_tuple__823;
static PyObject *__pyx_tuple__824;
static PyObject *__pyx_tuple__825;
static PyObject *__pyx_tuple__826;
static PyObject *__pyx_tuple__827;
static PyObject *__pyx_tuple__828;
static PyObject *__pyx_tuple__829;
static PyObject *__pyx_tuple__830;
static PyObject *__pyx_tuple__831;
static PyObject *__pyx_tuple__832;
static PyObject *__pyx_tuple__833;
static PyObject *__pyx_tuple__834;
static PyObject *__pyx_tuple__835;
static PyObject *__pyx_tuple__836;
static PyObject *__pyx_tuple__837;
static PyObject *__pyx_tuple__838;
static PyObject *__pyx_tuple__839;
static PyObject *__pyx_tuple__840;
static PyObject *__pyx_tuple__841;
static PyObject *__pyx_tuple__842;
static PyObject *__pyx_tuple__843;
static PyObject *__pyx_tuple__844;
static PyObject *__pyx_tuple__845;
static PyObject *__pyx_tuple__846;
static PyObject *__pyx_tuple__847;
static PyObject *__pyx_tuple__848;
static PyObject *__pyx_tuple__849;
static PyObject *__pyx_tuple__850;
static PyObject *__pyx_tuple__851;
static PyObject *__pyx_tuple__852;
static PyObject *__pyx_tuple__853;
static PyObject *__pyx_tuple__854;
static PyObject *__pyx_tuple__855;
static PyObject *__pyx_tuple__856;
static PyObject *__pyx_tuple__857;
static PyObject *__pyx_tuple__858;
static PyObject *__pyx_tuple__859;
static PyObject *__pyx_tuple__860;
static PyObject *__pyx_tuple__861;
static PyObject *__pyx_tuple__862;
static PyObject *__pyx_tuple__863;
static PyObject *__pyx_tuple__864;
static PyObject *__pyx_tuple__865;
static PyObject *__pyx_tuple__866;
static PyObject *__pyx_tuple__867;
static PyObject *__pyx_tuple__868;
static PyObject *__pyx_tuple__869;
static PyObject *__pyx_tuple__870;
static PyObject *__pyx_tuple__871;
static PyObject *__pyx_tuple__872;
static PyObject *__pyx_tuple__873;
static PyObject *__pyx_tuple__874;
static PyObject *__pyx_tuple__875;
static PyObject *__pyx_tuple__876;
static PyObject *__pyx_tuple__877;
static PyObject *__pyx_tuple__878;
static PyObject *__pyx_tuple__879;
static PyObject *__pyx_tuple__880;
static PyObject *__pyx_tuple__881;
static PyObject *__pyx_tuple__882;
static PyObject *__pyx_tuple__883;
static PyObject *__pyx_tuple__884;
static PyObject *__pyx_tuple__885;
static PyObject *__pyx_tuple__886;
static PyObject *__pyx_tuple__887;
static PyObject *__pyx_tuple__888;
static PyObject *__pyx_tuple__889;
static PyObject *__pyx_tuple__890;
static PyObject *__pyx_tuple__891;
static PyObject *__pyx_tuple__892;
static PyObject *__pyx_tuple__893;
static PyObject *__pyx_tuple__894;
static PyObject *__pyx_tuple__895;
static PyObject *__pyx_tuple__896;
static PyObject *__pyx_tuple__897;
static PyObject *__pyx_tuple__898;
static PyObject *__pyx_tuple__899;
static PyObject *__pyx_tuple__900;
static PyObject *__pyx_tuple__901;
static PyObject *__pyx_tuple__902;
static PyObject *__pyx_tuple__903;
static PyObject *__pyx_tuple__904;
static PyObject *__pyx_tuple__905;
static PyObject *__pyx_tuple__906;
static PyObject *__pyx_tuple__907;
static PyObject *__pyx_tuple__908;
static PyObject *__pyx_tuple__909;
static PyObject *__pyx_tuple__910;
static PyObject *__pyx_tuple__911;
static PyObject *__pyx_tuple__912;
static PyObject *__pyx_tuple__913;
static PyObject *__pyx_tuple__914;
static PyObject *__pyx_tuple__915;
static PyObject *__pyx_tuple__916;
static PyObject *__pyx_tuple__917;
static PyObject *__pyx_tuple__918;
static PyObject *__pyx_tuple__919;
static PyObject *__pyx_tuple__920;
static PyObject *__pyx_tuple__921;
static PyObject *__pyx_tuple__922;
static PyObject *__pyx_tuple__923;
static PyObject *__pyx_tuple__924;
static PyObject *__pyx_tuple__925;
static PyObject *__pyx_tuple__926;
static PyObject *__pyx_tuple__927;
static PyObject *__pyx_tuple__928;
static PyObject *__pyx_tuple__929;
static PyObject *__pyx_tuple__930;
static PyObject *__pyx_tuple__931;
static PyObject *__pyx_tuple__932;
static PyObject *__pyx_tuple__933;
static PyObject *__pyx_tuple__934;
static PyObject *__pyx_tuple__935;
static PyObject *__pyx_tuple__936;
static PyObject *__pyx_tuple__937;
static PyObject *__pyx_tuple__938;
static PyObject *__pyx_tuple__939;
static PyObject *__pyx_tuple__940;
static PyObject *__pyx_tuple__941;
static PyObject *__pyx_tuple__942;
static PyObject *__pyx_tuple__943;
static PyObject *__pyx_tuple__944;
static PyObject *__pyx_tuple__945;
static PyObject *__pyx_tuple__946;
static PyObject *__pyx_tuple__947;
static PyObject *__pyx_tuple__948;
static PyObject *__pyx_tuple__949;
static PyObject *__pyx_tuple__950;
static PyObject *__pyx_tuple__951;
static PyObject *__pyx_tuple__952;
static PyObject *__pyx_tuple__953;
static PyObject *__pyx_tuple__954;
static PyObject *__pyx_tuple__955;
static PyObject *__pyx_tuple__956;
static PyObject *__pyx_tuple__957;
static PyObject *__pyx_tuple__958;
static PyObject *__pyx_tuple__959;
static PyObject *__pyx_tuple__960;
static PyObject *__pyx_tuple__961;
static PyObject *__pyx_tuple__962;
static PyObject *__pyx_tuple__963;
static PyObject *__pyx_tuple__964;
static PyObject *__pyx_tuple__965;
static PyObject *__pyx_tuple__966;
static PyObject *__pyx_tuple__967;
static PyObject *__pyx_tuple__968;
static PyObject *__pyx_tuple__969;
static PyObject *__pyx_tuple__970;
static PyObject *__pyx_tuple__971;
static PyObject *__pyx_tuple__972;
static PyObject *__pyx_tuple__973;
static PyObject *__pyx_tuple__974;
static PyObject *__pyx_tuple__975;
static PyObject *__pyx_tuple__976;
static PyObject *__pyx_tuple__977;
static PyObject *__pyx_tuple__978;
static PyObject *__pyx_tuple__979;
static PyObject *__pyx_tuple__980;
static PyObject *__pyx_tuple__981;
static PyObject *__pyx_tuple__982;
static PyObject *__pyx_tuple__983;
static PyObject *__pyx_tuple__984;
static PyObject *__pyx_tuple__985;
static PyObject *__pyx_tuple__986;
static PyObject *__pyx_tuple__987;
static PyObject *__pyx_tuple__988;
static PyObject *__pyx_tuple__989;
static PyObject *__pyx_tuple__990;
static PyObject *__pyx_tuple__991;
static PyObject *__pyx_tuple__992;
static PyObject *__pyx_tuple__993;
static PyObject *__pyx_tuple__994;
static PyObject *__pyx_tuple__995;
static PyObject *__pyx_tuple__996;
static PyObject *__pyx_tuple__997;
static PyObject *__pyx_tuple__998;
static PyObject *__pyx_tuple__999;
static PyObject *__pyx_codeobj__10;
static PyObject *__pyx_codeobj__12;
static PyObject *__pyx_codeobj__13;
static PyObject *__pyx_codeobj__15;
static PyObject *__pyx_codeobj__17;
static PyObject *__pyx_codeobj__18;
static PyObject *__pyx_codeobj__20;
static PyObject *__pyx_codeobj__22;
static PyObject *__pyx_codeobj__23;
static PyObject *__pyx_codeobj__25;
static PyObject *__pyx_codeobj__27;
static PyObject *__pyx_codeobj__28;
static PyObject *__pyx_codeobj__30;
static PyObject *__pyx_codeobj__32;
static PyObject *__pyx_codeobj__33;
static PyObject *__pyx_codeobj__35;
static PyObject *__pyx_codeobj__37;
static PyObject *__pyx_codeobj__38;
static PyObject *__pyx_codeobj__40;
static PyObject *__pyx_codeobj__42;
static PyObject *__pyx_codeobj__43;
static PyObject *__pyx_codeobj__45;
static PyObject *__pyx_codeobj__47;
static PyObject *__pyx_codeobj__48;
static PyObject *__pyx_codeobj__50;
static PyObject *__pyx_codeobj__52;
static PyObject *__pyx_codeobj__53;
static PyObject *__pyx_codeobj__55;
static PyObject *__pyx_codeobj__57;
static PyObject *__pyx_codeobj__58;
static PyObject *__pyx_codeobj__60;
static PyObject *__pyx_codeobj__62;
static PyObject *__pyx_codeobj__65;
static PyObject *__pyx_codeobj__67;
static PyObject *__pyx_codeobj__69;
static PyObject *__pyx_codeobj__70;
static PyObject *__pyx_codeobj__72;
static PyObject *__pyx_codeobj__74;
static PyObject *__pyx_codeobj__75;
static PyObject *__pyx_codeobj__77;
static PyObject *__pyx_codeobj__79;
static PyObject *__pyx_codeobj__82;
static PyObject *__pyx_codeobj__84;
static PyObject *__pyx_codeobj__86;
static PyObject *__pyx_codeobj__87;
static PyObject *__pyx_codeobj__89;
static PyObject *__pyx_codeobj__91;
static PyObject *__pyx_codeobj__92;
static PyObject *__pyx_codeobj__94;
static PyObject *__pyx_codeobj__96;
static PyObject *__pyx_codeobj__97;
static PyObject *__pyx_codeobj__99;
static PyObject *__pyx_tuple__1000;
static PyObject *__pyx_tuple__1001;
static PyObject *__pyx_tuple__1002;
static PyObject *__pyx_tuple__1003;
static PyObject *__pyx_tuple__1004;
static PyObject *__pyx_tuple__1005;
static PyObject *__pyx_tuple__1006;
static PyObject *__pyx_tuple__1007;
static PyObject *__pyx_tuple__1008;
static PyObject *__pyx_tuple__1009;
static PyObject *__pyx_tuple__1010;
static PyObject *__pyx_tuple__1011;
static PyObject *__pyx_tuple__1012;
static PyObject *__pyx_tuple__1013;
static PyObject *__pyx_tuple__1014;
static PyObject *__pyx_tuple__1015;
static PyObject *__pyx_tuple__1016;
static PyObject *__pyx_tuple__1017;
static PyObject *__pyx_tuple__1018;
static PyObject *__pyx_tuple__1019;
static PyObject *__pyx_tuple__1020;
static PyObject *__pyx_tuple__1021;
static PyObject *__pyx_tuple__1022;
static PyObject *__pyx_tuple__1023;
static PyObject *__pyx_tuple__1024;
static PyObject *__pyx_tuple__1025;
static PyObject *__pyx_tuple__1026;
static PyObject *__pyx_tuple__1027;
static PyObject *__pyx_tuple__1028;
static PyObject *__pyx_tuple__1029;
static PyObject *__pyx_tuple__1030;
static PyObject *__pyx_tuple__1031;
static PyObject *__pyx_tuple__1032;
static PyObject *__pyx_tuple__1033;
static PyObject *__pyx_tuple__1034;
static PyObject *__pyx_tuple__1035;
static PyObject *__pyx_tuple__1036;
static PyObject *__pyx_tuple__1037;
static PyObject *__pyx_tuple__1038;
static PyObject *__pyx_tuple__1039;
static PyObject *__pyx_tuple__1040;
static PyObject *__pyx_tuple__1041;
static PyObject *__pyx_tuple__1042;
static PyObject *__pyx_tuple__1043;
static PyObject *__pyx_tuple__1044;
static PyObject *__pyx_tuple__1045;
static PyObject *__pyx_tuple__1046;
static PyObject *__pyx_tuple__1047;
static PyObject *__pyx_tuple__1048;
static PyObject *__pyx_tuple__1049;
static PyObject *__pyx_tuple__1050;
static PyObject *__pyx_tuple__1051;
static PyObject *__pyx_tuple__1052;
static PyObject *__pyx_tuple__1053;
static PyObject *__pyx_tuple__1054;
static PyObject *__pyx_tuple__1055;
static PyObject *__pyx_tuple__1056;
static PyObject *__pyx_tuple__1057;
static PyObject *__pyx_tuple__1058;
static PyObject *__pyx_tuple__1059;
static PyObject *__pyx_tuple__1060;
static PyObject *__pyx_tuple__1061;
static PyObject *__pyx_tuple__1062;
static PyObject *__pyx_tuple__1063;
static PyObject *__pyx_tuple__1064;
static PyObject *__pyx_tuple__1065;
static PyObject *__pyx_tuple__1066;
static PyObject *__pyx_tuple__1067;
static PyObject *__pyx_tuple__1068;
static PyObject *__pyx_tuple__1069;
static PyObject *__pyx_tuple__1070;
static PyObject *__pyx_tuple__1071;
static PyObject *__pyx_tuple__1072;
static PyObject *__pyx_tuple__1073;
static PyObject *__pyx_tuple__1074;
static PyObject *__pyx_tuple__1075;
static PyObject *__pyx_tuple__1076;
static PyObject *__pyx_tuple__1077;
static PyObject *__pyx_tuple__1078;
static PyObject *__pyx_tuple__1079;
static PyObject *__pyx_tuple__1080;
static PyObject *__pyx_tuple__1081;
static PyObject *__pyx_tuple__1082;
static PyObject *__pyx_tuple__1083;
static PyObject *__pyx_tuple__1084;
static PyObject *__pyx_tuple__1085;
static PyObject *__pyx_tuple__1086;
static PyObject *__pyx_tuple__1087;
static PyObject *__pyx_tuple__1088;
static PyObject *__pyx_tuple__1089;
static PyObject *__pyx_tuple__1090;
static PyObject *__pyx_tuple__1091;
static PyObject *__pyx_tuple__1092;
static PyObject *__pyx_tuple__1093;
static PyObject *__pyx_tuple__1094;
static PyObject *__pyx_tuple__1095;
static PyObject *__pyx_tuple__1096;
static PyObject *__pyx_tuple__1097;
static PyObject *__pyx_tuple__1098;
static PyObject *__pyx_tuple__1099;
static PyObject *__pyx_tuple__1100;
static PyObject *__pyx_tuple__1101;
static PyObject *__pyx_tuple__1102;
static PyObject *__pyx_tuple__1103;
static PyObject *__pyx_tuple__1104;
static PyObject *__pyx_tuple__1105;
static PyObject *__pyx_tuple__1106;
static PyObject *__pyx_tuple__1107;
static PyObject *__pyx_tuple__1108;
static PyObject *__pyx_tuple__1109;
static PyObject *__pyx_tuple__1110;
static PyObject *__pyx_tuple__1111;
static PyObject *__pyx_tuple__1112;
static PyObject *__pyx_tuple__1113;
static PyObject *__pyx_tuple__1114;
static PyObject *__pyx_tuple__1115;
static PyObject *__pyx_tuple__1116;
static PyObject *__pyx_tuple__1117;
static PyObject *__pyx_tuple__1118;
static PyObject *__pyx_tuple__1119;
static PyObject *__pyx_tuple__1120;
static PyObject *__pyx_tuple__1121;
static PyObject *__pyx_tuple__1122;
static PyObject *__pyx_tuple__1123;
static PyObject *__pyx_tuple__1124;
static PyObject *__pyx_tuple__1125;
static PyObject *__pyx_tuple__1126;
static PyObject *__pyx_tuple__1127;
static PyObject *__pyx_tuple__1128;
static PyObject *__pyx_tuple__1129;
static PyObject *__pyx_tuple__1130;
static PyObject *__pyx_tuple__1131;
static PyObject *__pyx_tuple__1132;
static PyObject *__pyx_tuple__1133;
static PyObject *__pyx_tuple__1134;
static PyObject *__pyx_tuple__1135;
static PyObject *__pyx_tuple__1136;
static PyObject *__pyx_tuple__1137;
static PyObject *__pyx_tuple__1138;
static PyObject *__pyx_tuple__1139;
static PyObject *__pyx_tuple__1140;
static PyObject *__pyx_tuple__1141;
static PyObject *__pyx_tuple__1142;
static PyObject *__pyx_tuple__1143;
static PyObject *__pyx_tuple__1144;
static PyObject *__pyx_tuple__1145;
static PyObject *__pyx_tuple__1146;
static PyObject *__pyx_tuple__1147;
static PyObject *__pyx_tuple__1148;
static PyObject *__pyx_tuple__1149;
static PyObject *__pyx_tuple__1150;
static PyObject *__pyx_tuple__1151;
static PyObject *__pyx_tuple__1152;
static PyObject *__pyx_tuple__1153;
static PyObject *__pyx_tuple__1154;
static PyObject *__pyx_tuple__1155;
static PyObject *__pyx_tuple__1156;
static PyObject *__pyx_tuple__1157;
static PyObject *__pyx_tuple__1158;
static PyObject *__pyx_tuple__1159;
static PyObject *__pyx_tuple__1160;
static PyObject *__pyx_tuple__1161;
static PyObject *__pyx_tuple__1162;
static PyObject *__pyx_tuple__1163;
static PyObject *__pyx_tuple__1164;
static PyObject *__pyx_tuple__1165;
static PyObject *__pyx_tuple__1166;
static PyObject *__pyx_tuple__1167;
static PyObject *__pyx_tuple__1168;
static PyObject *__pyx_tuple__1169;
static PyObject *__pyx_tuple__1170;
static PyObject *__pyx_tuple__1171;
static PyObject *__pyx_tuple__1172;
static PyObject *__pyx_tuple__1173;
static PyObject *__pyx_tuple__1174;
static PyObject *__pyx_tuple__1175;
static PyObject *__pyx_tuple__1176;
static PyObject *__pyx_tuple__1177;
static PyObject *__pyx_tuple__1178;
static PyObject *__pyx_tuple__1179;
static PyObject *__pyx_tuple__1180;
static PyObject *__pyx_tuple__1181;
static PyObject *__pyx_tuple__1182;
static PyObject *__pyx_tuple__1183;
static PyObject *__pyx_tuple__1184;
static PyObject *__pyx_tuple__1185;
static PyObject *__pyx_tuple__1186;
static PyObject *__pyx_tuple__1187;
static PyObject *__pyx_tuple__1188;
static PyObject *__pyx_tuple__1189;
static PyObject *__pyx_tuple__1190;
static PyObject *__pyx_tuple__1191;
static PyObject *__pyx_tuple__1192;
static PyObject *__pyx_tuple__1193;
static PyObject *__pyx_tuple__1194;
static PyObject *__pyx_tuple__1195;
static PyObject *__pyx_tuple__1196;
static PyObject *__pyx_tuple__1197;
static PyObject *__pyx_tuple__1198;
static PyObject *__pyx_tuple__1199;
static PyObject *__pyx_tuple__1200;
static PyObject *__pyx_tuple__1201;
static PyObject *__pyx_tuple__1202;
static PyObject *__pyx_tuple__1203;
static PyObject *__pyx_tuple__1204;
static PyObject *__pyx_tuple__1205;
static PyObject *__pyx_tuple__1206;
static PyObject *__pyx_tuple__1207;
static PyObject *__pyx_tuple__1208;
static PyObject *__pyx_tuple__1209;
static PyObject *__pyx_tuple__1210;
static PyObject *__pyx_tuple__1211;
static PyObject *__pyx_tuple__1212;
static PyObject *__pyx_tuple__1213;
static PyObject *__pyx_tuple__1214;
static PyObject *__pyx_tuple__1215;
static PyObject *__pyx_tuple__1216;
static PyObject *__pyx_tuple__1217;
static PyObject *__pyx_tuple__1218;
static PyObject *__pyx_tuple__1219;
static PyObject *__pyx_tuple__1220;
static PyObject *__pyx_tuple__1221;
static PyObject *__pyx_tuple__1222;
static PyObject *__pyx_tuple__1223;
static PyObject *__pyx_tuple__1224;
static PyObject *__pyx_tuple__1225;
static PyObject *__pyx_tuple__1226;
static PyObject *__pyx_tuple__1227;
static PyObject *__pyx_tuple__1228;
static PyObject *__pyx_tuple__1229;
static PyObject *__pyx_tuple__1230;
static PyObject *__pyx_tuple__1231;
static PyObject *__pyx_tuple__1232;
static PyObject *__pyx_tuple__1233;
static PyObject *__pyx_tuple__1234;
static PyObject *__pyx_tuple__1235;
static PyObject *__pyx_tuple__1236;
static PyObject *__pyx_tuple__1237;
static PyObject *__pyx_tuple__1238;
static PyObject *__pyx_tuple__1239;
static PyObject *__pyx_tuple__1240;
static PyObject *__pyx_tuple__1241;
static PyObject *__pyx_tuple__1242;
static PyObject *__pyx_tuple__1243;
static PyObject *__pyx_tuple__1244;
static PyObject *__pyx_codeobj__101;
static PyObject *__pyx_codeobj__102;
static PyObject *__pyx_codeobj__104;
static PyObject *__pyx_codeobj__106;
static PyObject *__pyx_codeobj__107;
static PyObject *__pyx_codeobj__109;
static PyObject *__pyx_codeobj__111;
static PyObject *__pyx_codeobj__112;
static PyObject *__pyx_codeobj__114;
static PyObject *__pyx_codeobj__116;
static PyObject *__pyx_codeobj__117;
static PyObject *__pyx_codeobj__119;
static PyObject *__pyx_codeobj__121;
static PyObject *__pyx_codeobj__122;
static PyObject *__pyx_codeobj__124;
static PyObject *__pyx_codeobj__126;
static PyObject *__pyx_codeobj__127;
static PyObject *__pyx_codeobj__129;
static PyObject *__pyx_codeobj__131;
static PyObject *__pyx_codeobj__132;
static PyObject *__pyx_codeobj__134;
static PyObject *__pyx_codeobj__136;
static PyObject *__pyx_codeobj__137;
static PyObject *__pyx_codeobj__139;
static PyObject *__pyx_codeobj__141;
static PyObject *__pyx_codeobj__142;
static PyObject *__pyx_codeobj__144;
static PyObject *__pyx_codeobj__146;
static PyObject *__pyx_codeobj__147;
static PyObject *__pyx_codeobj__149;
static PyObject *__pyx_codeobj__151;
static PyObject *__pyx_codeobj__152;
static PyObject *__pyx_codeobj__154;
static PyObject *__pyx_codeobj__156;
static PyObject *__pyx_codeobj__157;
static PyObject *__pyx_codeobj__159;
static PyObject *__pyx_codeobj__161;
static PyObject *__pyx_codeobj__162;
static PyObject *__pyx_codeobj__164;
static PyObject *__pyx_codeobj__166;
static PyObject *__pyx_codeobj__167;
static PyObject *__pyx_codeobj__169;
static PyObject *__pyx_codeobj__171;
static PyObject *__pyx_codeobj__172;
static PyObject *__pyx_codeobj__174;
static PyObject *__pyx_codeobj__176;
static PyObject *__pyx_codeobj__177;
static PyObject *__pyx_codeobj__179;
static PyObject *__pyx_codeobj__181;
static PyObject *__pyx_codeobj__182;
static PyObject *__pyx_codeobj__184;
static PyObject *__pyx_codeobj__186;
static PyObject *__pyx_codeobj__187;
static PyObject *__pyx_codeobj__189;
static PyObject *__pyx_codeobj__191;
static PyObject *__pyx_codeobj__192;
static PyObject *__pyx_codeobj__194;
static PyObject *__pyx_codeobj__196;
static PyObject *__pyx_codeobj__197;
static PyObject *__pyx_codeobj__199;
static PyObject *__pyx_codeobj__201;
static PyObject *__pyx_codeobj__202;
static PyObject *__pyx_codeobj__204;
static PyObject *__pyx_codeobj__206;
static PyObject *__pyx_codeobj__207;
static PyObject *__pyx_codeobj__209;
static PyObject *__pyx_codeobj__211;
static PyObject *__pyx_codeobj__212;
static PyObject *__pyx_codeobj__214;
static PyObject *__pyx_codeobj__216;
static PyObject *__pyx_codeobj__217;
static PyObject *__pyx_codeobj__219;
static PyObject *__pyx_codeobj__221;
static PyObject *__pyx_codeobj__222;
static PyObject *__pyx_codeobj__224;
static PyObject *__pyx_codeobj__226;
static PyObject *__pyx_codeobj__227;
static PyObject *__pyx_codeobj__229;
static PyObject *__pyx_codeobj__231;
static PyObject *__pyx_codeobj__232;
static PyObject *__pyx_codeobj__234;
static PyObject *__pyx_codeobj__236;
static PyObject *__pyx_codeobj__237;
static PyObject *__pyx_codeobj__239;
static PyObject *__pyx_codeobj__241;
static PyObject *__pyx_codeobj__242;
static PyObject *__pyx_codeobj__244;
static PyObject *__pyx_codeobj__246;
static PyObject *__pyx_codeobj__247;
static PyObject *__pyx_codeobj__249;
static PyObject *__pyx_codeobj__251;
static PyObject *__pyx_codeobj__252;
static PyObject *__pyx_codeobj__254;
static PyObject *__pyx_codeobj__256;
static PyObject *__pyx_codeobj__257;
static PyObject *__pyx_codeobj__259;
static PyObject *__pyx_codeobj__261;
static PyObject *__pyx_codeobj__262;
static PyObject *__pyx_codeobj__264;
static PyObject *__pyx_codeobj__266;
static PyObject *__pyx_codeobj__267;
static PyObject *__pyx_codeobj__269;
static PyObject *__pyx_codeobj__271;
static PyObject *__pyx_codeobj__272;
static PyObject *__pyx_codeobj__274;
static PyObject *__pyx_codeobj__276;
static PyObject *__pyx_codeobj__277;
static PyObject *__pyx_codeobj__279;
static PyObject *__pyx_codeobj__281;
static PyObject *__pyx_codeobj__282;
static PyObject *__pyx_codeobj__284;
static PyObject *__pyx_codeobj__286;
static PyObject *__pyx_codeobj__287;
static PyObject *__pyx_codeobj__289;
static PyObject *__pyx_codeobj__291;
static PyObject *__pyx_codeobj__292;
static PyObject *__pyx_codeobj__294;
static PyObject *__pyx_codeobj__296;
static PyObject *__pyx_codeobj__297;
static PyObject *__pyx_codeobj__299;
static PyObject *__pyx_codeobj__301;
static PyObject *__pyx_codeobj__302;
static PyObject *__pyx_codeobj__304;
static PyObject *__pyx_codeobj__306;
static PyObject *__pyx_codeobj__307;
static PyObject *__pyx_codeobj__309;
static PyObject *__pyx_codeobj__311;
static PyObject *__pyx_codeobj__312;
static PyObject *__pyx_codeobj__314;
static PyObject *__pyx_codeobj__316;
static PyObject *__pyx_codeobj__317;
static PyObject *__pyx_codeobj__319;
static PyObject *__pyx_codeobj__321;
static PyObject *__pyx_codeobj__322;
static PyObject *__pyx_codeobj__324;
static PyObject *__pyx_codeobj__326;
static PyObject *__pyx_codeobj__327;
static PyObject *__pyx_codeobj__329;
static PyObject *__pyx_codeobj__331;
static PyObject *__pyx_codeobj__332;
static PyObject *__pyx_codeobj__334;
static PyObject *__pyx_codeobj__336;
static PyObject *__pyx_codeobj__337;
static PyObject *__pyx_codeobj__339;
static PyObject *__pyx_codeobj__341;
static PyObject *__pyx_codeobj__342;
static PyObject *__pyx_codeobj__344;
static PyObject *__pyx_codeobj__346;
static PyObject *__pyx_codeobj__347;
static PyObject *__pyx_codeobj__349;
static PyObject *__pyx_codeobj__351;
static PyObject *__pyx_codeobj__352;
static PyObject *__pyx_codeobj__354;
static PyObject *__pyx_codeobj__356;
static PyObject *__pyx_codeobj__357;
static PyObject *__pyx_codeobj__359;
static PyObject *__pyx_codeobj__361;
static PyObject *__pyx_codeobj__362;
static PyObject *__pyx_codeobj__364;
static PyObject *__pyx_codeobj__366;
static PyObject *__pyx_codeobj__367;
static PyObject *__pyx_codeobj__369;
static PyObject *__pyx_codeobj__371;
static PyObject *__pyx_codeobj__372;
static PyObject *__pyx_codeobj__374;
static PyObject *__pyx_codeobj__376;
static PyObject *__pyx_codeobj__377;
static PyObject *__pyx_codeobj__379;
static PyObject *__pyx_codeobj__381;
static PyObject *__pyx_codeobj__382;
static PyObject *__pyx_codeobj__384;
static PyObject *__pyx_codeobj__386;
static PyObject *__pyx_codeobj__387;
static PyObject *__pyx_codeobj__389;
static PyObject *__pyx_codeobj__391;
static PyObject *__pyx_codeobj__392;
static PyObject *__pyx_codeobj__394;
static PyObject *__pyx_codeobj__396;
static PyObject *__pyx_codeobj__397;
static PyObject *__pyx_codeobj__399;
static PyObject *__pyx_codeobj__401;
static PyObject *__pyx_codeobj__402;
static PyObject *__pyx_codeobj__404;
static PyObject *__pyx_codeobj__406;
static PyObject *__pyx_codeobj__407;
static PyObject *__pyx_codeobj__409;
static PyObject *__pyx_codeobj__411;
static PyObject *__pyx_codeobj__412;
static PyObject *__pyx_codeobj__414;
static PyObject *__pyx_codeobj__416;
static PyObject *__pyx_codeobj__417;
static PyObject *__pyx_codeobj__418;
static PyObject *__pyx_codeobj__419;
static PyObject *__pyx_codeobj__420;
static PyObject *__pyx_codeobj__421;
static PyObject *__pyx_codeobj__422;
static PyObject *__pyx_codeobj__423;
static PyObject *__pyx_codeobj__424;
static PyObject *__pyx_codeobj__425;
static PyObject *__pyx_codeobj__426;
static PyObject *__pyx_codeobj__427;
static PyObject *__pyx_codeobj__428;
static PyObject *__pyx_codeobj__429;
static PyObject *__pyx_codeobj__430;
static PyObject *__pyx_codeobj__431;
static PyObject *__pyx_codeobj__432;
static PyObject *__pyx_codeobj__433;
static PyObject *__pyx_codeobj__434;
static PyObject *__pyx_codeobj__436;
static PyObject *__pyx_codeobj__437;
static PyObject *__pyx_codeobj__438;
static PyObject *__pyx_codeobj__439;
static PyObject *__pyx_codeobj__440;
static PyObject *__pyx_codeobj__441;
static PyObject *__pyx_codeobj__442;
static PyObject *__pyx_codeobj__443;
static PyObject *__pyx_codeobj__444;
static PyObject *__pyx_codeobj__445;
static PyObject *__pyx_codeobj__446;
static PyObject *__pyx_codeobj__447;
static PyObject *__pyx_codeobj__448;
static PyObject *__pyx_codeobj__449;
static PyObject *__pyx_codeobj__450;
static PyObject *__pyx_codeobj__451;
static PyObject *__pyx_codeobj__452;
static PyObject *__pyx_codeobj__453;
static PyObject *__pyx_codeobj__454;
static PyObject *__pyx_codeobj__455;
static PyObject *__pyx_codeobj__456;
static PyObject *__pyx_codeobj__457;
static PyObject *__pyx_codeobj__458;
static PyObject *__pyx_codeobj__459;
static PyObject *__pyx_codeobj__460;
static PyObject *__pyx_codeobj__461;
static PyObject *__pyx_codeobj__462;
static PyObject *__pyx_codeobj__463;
static PyObject *__pyx_codeobj__464;
static PyObject *__pyx_codeobj__465;
static PyObject *__pyx_codeobj__466;
static PyObject *__pyx_codeobj__467;
static PyObject *__pyx_codeobj__468;
static PyObject *__pyx_codeobj__469;
static PyObject *__pyx_codeobj__470;
static PyObject *__pyx_codeobj__471;
static PyObject *__pyx_codeobj__472;
static PyObject *__pyx_codeobj__473;
static PyObject *__pyx_codeobj__474;
static PyObject *__pyx_codeobj__475;
static PyObject *__pyx_codeobj__476;
static PyObject *__pyx_codeobj__477;
static PyObject *__pyx_codeobj__478;
static PyObject *__pyx_codeobj__479;
static PyObject *__pyx_codeobj__480;
static PyObject *__pyx_codeobj__481;
static PyObject *__pyx_codeobj__482;
static PyObject *__pyx_codeobj__483;
static PyObject *__pyx_codeobj__484;
static PyObject *__pyx_codeobj__487;
static PyObject *__pyx_codeobj__488;
static PyObject *__pyx_codeobj__489;
static PyObject *__pyx_codeobj__490;
static PyObject *__pyx_codeobj__491;
static PyObject *__pyx_codeobj__492;
static PyObject *__pyx_codeobj__493;
static PyObject *__pyx_codeobj__494;
static PyObject *__pyx_codeobj__495;
static PyObject *__pyx_codeobj__496;
static PyObject *__pyx_codeobj__497;
static PyObject *__pyx_codeobj__498;
static PyObject *__pyx_codeobj__499;
static PyObject *__pyx_codeobj__500;
static PyObject *__pyx_codeobj__503;
static PyObject *__pyx_codeobj__505;
static PyObject *__pyx_codeobj__506;
static PyObject *__pyx_codeobj__507;
static PyObject *__pyx_codeobj__508;
static PyObject *__pyx_codeobj__509;
static PyObject *__pyx_codeobj__510;
static PyObject *__pyx_codeobj__511;
static PyObject *__pyx_codeobj__512;
static PyObject *__pyx_codeobj__513;
static PyObject *__pyx_codeobj__514;
static PyObject *__pyx_codeobj__515;
static PyObject *__pyx_codeobj__516;
static PyObject *__pyx_codeobj__517;
static PyObject *__pyx_codeobj__518;
static PyObject *__pyx_codeobj__519;
static PyObject *__pyx_codeobj__520;
static PyObject *__pyx_codeobj__521;
static PyObject *__pyx_codeobj__522;
static PyObject *__pyx_codeobj__523;
static PyObject *__pyx_codeobj__524;
static PyObject *__pyx_codeobj__525;
static PyObject *__pyx_codeobj__526;
static PyObject *__pyx_codeobj__527;
static PyObject *__pyx_codeobj__528;
static PyObject *__pyx_codeobj__529;
static PyObject *__pyx_codeobj__530;
static PyObject *__pyx_codeobj__531;
static PyObject *__pyx_codeobj__532;
static PyObject *__pyx_codeobj__533;
static PyObject *__pyx_codeobj__534;
static PyObject *__pyx_codeobj__535;
static PyObject *__pyx_codeobj__536;
static PyObject *__pyx_codeobj__537;
static PyObject *__pyx_codeobj__538;
static PyObject *__pyx_codeobj__539;
static PyObject *__pyx_codeobj__540;
static PyObject *__pyx_codeobj__541;
static PyObject *__pyx_codeobj__542;
static PyObject *__pyx_codeobj__543;
static PyObject *__pyx_codeobj__544;
static PyObject *__pyx_codeobj__545;
static PyObject *__pyx_codeobj__546;
static PyObject *__pyx_codeobj__547;
static PyObject *__pyx_codeobj__548;
static PyObject *__pyx_codeobj__549;
static PyObject *__pyx_codeobj__550;
static PyObject *__pyx_codeobj__551;
static PyObject *__pyx_codeobj__552;
static PyObject *__pyx_codeobj__553;
static PyObject *__pyx_codeobj__554;
static PyObject *__pyx_codeobj__555;
static PyObject *__pyx_codeobj__556;
static PyObject *__pyx_codeobj__557;
static PyObject *__pyx_codeobj__558;
static PyObject *__pyx_codeobj__559;
static PyObject *__pyx_codeobj__560;
static PyObject *__pyx_codeobj__561;
static PyObject *__pyx_codeobj__562;
static PyObject *__pyx_codeobj__563;
static PyObject *__pyx_codeobj__564;
static PyObject *__pyx_codeobj__565;
static PyObject *__pyx_codeobj__568;
static PyObject *__pyx_codeobj__569;
static PyObject *__pyx_codeobj__570;
static PyObject *__pyx_codeobj__571;
static PyObject *__pyx_codeobj__572;
static PyObject *__pyx_codeobj__573;
static PyObject *__pyx_codeobj__574;
static PyObject *__pyx_codeobj__575;
static PyObject *__pyx_codeobj__576;
static PyObject *__pyx_codeobj__577;
static PyObject *__pyx_codeobj__578;
static PyObject *__pyx_codeobj__580;
static PyObject *__pyx_codeobj__581;
static PyObject *__pyx_codeobj__582;
static PyObject *__pyx_codeobj__583;
static PyObject *__pyx_codeobj__584;
static PyObject *__pyx_codeobj__585;
static PyObject *__pyx_codeobj__586;
static PyObject *__pyx_codeobj__587;
static PyObject *__pyx_codeobj__588;
static PyObject *__pyx_codeobj__589;
static PyObject *__pyx_codeobj__590;
static PyObject *__pyx_codeobj__591;
static PyObject *__pyx_codeobj__592;
static PyObject *__pyx_codeobj__593;
static PyObject *__pyx_codeobj__594;
static PyObject *__pyx_codeobj__595;
static PyObject *__pyx_codeobj__596;
static PyObject *__pyx_codeobj__597;
static PyObject *__pyx_codeobj__598;
static PyObject *__pyx_codeobj__599;
static PyObject *__pyx_codeobj__600;
static PyObject *__pyx_codeobj__601;
static PyObject *__pyx_codeobj__602;
static PyObject *__pyx_codeobj__603;
static PyObject *__pyx_codeobj__604;
static PyObject *__pyx_codeobj__605;
static PyObject *__pyx_codeobj__606;
static PyObject *__pyx_codeobj__607;
static PyObject *__pyx_codeobj__608;
static PyObject *__pyx_codeobj__609;
static PyObject *__pyx_codeobj__610;
static PyObject *__pyx_codeobj__611;
static PyObject *__pyx_codeobj__612;
static PyObject *__pyx_codeobj__613;
static PyObject *__pyx_codeobj__614;
static PyObject *__pyx_codeobj__616;
static PyObject *__pyx_codeobj__617;
static PyObject *__pyx_codeobj__618;
static PyObject *__pyx_codeobj__619;
static PyObject *__pyx_codeobj__620;
static PyObject *__pyx_codeobj__621;
static PyObject *__pyx_codeobj__622;
static PyObject *__pyx_codeobj__623;
static PyObject *__pyx_codeobj__624;
static PyObject *__pyx_codeobj__625;
static PyObject *__pyx_codeobj__626;
static PyObject *__pyx_codeobj__627;
static PyObject *__pyx_codeobj__628;
static PyObject *__pyx_codeobj__629;
static PyObject *__pyx_codeobj__630;
static PyObject *__pyx_codeobj__631;
static PyObject *__pyx_codeobj__632;
static PyObject *__pyx_codeobj__633;
static PyObject *__pyx_codeobj__634;
static PyObject *__pyx_codeobj__635;
static PyObject *__pyx_codeobj__636;
static PyObject *__pyx_codeobj__637;
static PyObject *__pyx_codeobj__638;
static PyObject *__pyx_codeobj__639;
static PyObject *__pyx_codeobj__640;
static PyObject *__pyx_codeobj__641;
static PyObject *__pyx_codeobj__642;
static PyObject *__pyx_codeobj__643;
static PyObject *__pyx_codeobj__644;
static PyObject *__pyx_codeobj__645;
static PyObject *__pyx_codeobj__646;
static PyObject *__pyx_codeobj__647;
static PyObject *__pyx_codeobj__648;
static PyObject *__pyx_codeobj__649;
static PyObject *__pyx_codeobj__650;
static PyObject *__pyx_codeobj__651;
static PyObject *__pyx_codeobj__652;
static PyObject *__pyx_codeobj__653;
static PyObject *__pyx_codeobj__654;
static PyObject *__pyx_codeobj__655;
static PyObject *__pyx_codeobj__656;
static PyObject *__pyx_codeobj__657;
static PyObject *__pyx_codeobj__658;
static PyObject *__pyx_codeobj__659;
static PyObject *__pyx_codeobj__660;
static PyObject *__pyx_codeobj__661;
static PyObject *__pyx_codeobj__662;
static PyObject *__pyx_codeobj__665;
static PyObject *__pyx_codeobj__666;
static PyObject *__pyx_codeobj__667;
static PyObject *__pyx_codeobj__668;
static PyObject *__pyx_codeobj__669;
static PyObject *__pyx_codeobj__670;
static PyObject *__pyx_codeobj__671;
static PyObject *__pyx_codeobj__672;
static PyObject *__pyx_codeobj__673;
static PyObject *__pyx_codeobj__674;
static PyObject *__pyx_codeobj__675;
static PyObject *__pyx_codeobj__676;
static PyObject *__pyx_codeobj__677;
static PyObject *__pyx_codeobj__678;
static PyObject *__pyx_codeobj__679;
static PyObject *__pyx_codeobj__680;
static PyObject *__pyx_codeobj__681;
static PyObject *__pyx_codeobj__682;
static PyObject *__pyx_codeobj__683;
static PyObject *__pyx_codeobj__684;
static PyObject *__pyx_codeobj__685;
static PyObject *__pyx_codeobj__686;
static PyObject *__pyx_codeobj__687;
static PyObject *__pyx_codeobj__688;
static PyObject *__pyx_codeobj__689;
static PyObject *__pyx_codeobj__690;
static PyObject *__pyx_codeobj__691;
static PyObject *__pyx_codeobj__692;
static PyObject *__pyx_codeobj__693;
static PyObject *__pyx_codeobj__694;
static PyObject *__pyx_codeobj__695;
static PyObject *__pyx_codeobj__696;
static PyObject *__pyx_codeobj__697;
static PyObject *__pyx_codeobj__698;
static PyObject *__pyx_codeobj__699;
static PyObject *__pyx_codeobj__700;
static PyObject *__pyx_codeobj__701;
static PyObject *__pyx_codeobj__702;
static PyObject *__pyx_codeobj__703;
static PyObject *__pyx_codeobj__704;
static PyObject *__pyx_codeobj__705;
static PyObject *__pyx_codeobj__706;
static PyObject *__pyx_codeobj__707;
static PyObject *__pyx_codeobj__708;
static PyObject *__pyx_codeobj__709;
static PyObject *__pyx_codeobj__710;
static PyObject *__pyx_codeobj__711;
static PyObject *__pyx_codeobj__712;
/* Late includes */

/* "cuda/cudart.pyx":2990
 * 
 *     """
 *     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_6cudart_11cudaArray_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_11cudaArray_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2990, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 2990, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 2990, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2990, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArray_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_11cudaArray_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2990, 0, __PYX_ERR(0, 2990, __pyx_L1_error));

  /* "cuda/cudart.pyx":2991
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2992
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":2993
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaArray_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaArray_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":2991
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2995
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaArray_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaArray_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2990
 * 
 *     """
 *     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.cudart.cudaArray_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":2996
 *         else:
 *             self._ptr = <ccudart.cudaArray_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_11cudaArray_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_11cudaArray_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_11cudaArray_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_11cudaArray_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 2996, 0, __PYX_ERR(0, 2996, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArray_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":2998
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaArray_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaArray_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 2998, 0, __PYX_ERR(0, 2998, __pyx_L1_error));

  /* "cuda/cudart.pyx":2999
 *         pass
 *     def __repr__(self):
 *         return '<cudaArray_t ' + 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(0, 2999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2999, __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(0, 2999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaArray_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2999, __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/cudart.pyx":2998
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaArray_t ' + 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.cudart.cudaArray_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/cudart.pyx":3000
 *     def __repr__(self):
 *         return '<cudaArray_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaArray_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3000, 0, __PYX_ERR(0, 3000, __pyx_L1_error));

  /* "cuda/cudart.pyx":3001
 *         return '<cudaArray_t ' + 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(0, 3001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3001, __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/cudart.pyx":3000
 *     def __repr__(self):
 *         return '<cudaArray_t ' + 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.cudart.cudaArray_t.__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/cudart.pyx":3002
 *     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_6cudart_11cudaArray_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaArray_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3002, 0, __PYX_ERR(0, 3002, __pyx_L1_error));

  /* "cuda/cudart.pyx":3003
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3002
 *     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.cudart.cudaArray_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/cudart.pyx":3004
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_11cudaArray_t_10getPtr[] = "cudaArray_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaArray_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaArray_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__2)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3004, 0, __PYX_ERR(0, 3004, __pyx_L1_error));

  /* "cuda/cudart.pyx":3005
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaArray_const_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3004
 *     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.cudart.cudaArray_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_6cudart_11cudaArray_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_11cudaArray_t_12__reduce_cython__[] = "cudaArray_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaArray_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_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__3)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArray_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_6cudart_11cudaArray_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_11cudaArray_t_14__setstate_cython__[] = "cudaArray_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaArray_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_11cudaArray_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArray_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/cudart.pyx":3018
 * 
 *     """
 *     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_6cudart_17cudaArray_const_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaArray_const_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3018, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3018, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3018, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3018, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArray_const_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaArray_const_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaArray_const_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3018, 0, __PYX_ERR(0, 3018, __pyx_L1_error));

  /* "cuda/cudart.pyx":3019
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3020
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3021
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaArray_const_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaArray_const_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3019
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3023
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaArray_const_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaArray_const_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3018
 * 
 *     """
 *     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.cudart.cudaArray_const_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3024
 *         else:
 *             self._ptr = <ccudart.cudaArray_const_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaArray_const_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaArray_const_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_17cudaArray_const_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaArray_const_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3024, 0, __PYX_ERR(0, 3024, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArray_const_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3026
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaArray_const_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaArray_const_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3026, 0, __PYX_ERR(0, 3026, __pyx_L1_error));

  /* "cuda/cudart.pyx":3027
 *         pass
 *     def __repr__(self):
 *         return '<cudaArray_const_t ' + 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(0, 3027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3027, __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(0, 3027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaArray_const_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3027, __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/cudart.pyx":3026
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaArray_const_t ' + 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.cudart.cudaArray_const_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/cudart.pyx":3028
 *     def __repr__(self):
 *         return '<cudaArray_const_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaArray_const_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3028, 0, __PYX_ERR(0, 3028, __pyx_L1_error));

  /* "cuda/cudart.pyx":3029
 *         return '<cudaArray_const_t ' + 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(0, 3029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3029, __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/cudart.pyx":3028
 *     def __repr__(self):
 *         return '<cudaArray_const_t ' + 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.cudart.cudaArray_const_t.__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/cudart.pyx":3030
 *     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_6cudart_17cudaArray_const_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaArray_const_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3030, 0, __PYX_ERR(0, 3030, __pyx_L1_error));

  /* "cuda/cudart.pyx":3031
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3030
 *     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.cudart.cudaArray_const_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/cudart.pyx":3032
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaArray_const_t_10getPtr[] = "cudaArray_const_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaArray_const_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaArray_const_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaArray_const_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__7)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3032, 0, __PYX_ERR(0, 3032, __pyx_L1_error));

  /* "cuda/cudart.pyx":3033
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMipmappedArray_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3032
 *     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.cudart.cudaArray_const_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_6cudart_17cudaArray_const_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaArray_const_t_12__reduce_cython__[] = "cudaArray_const_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaArray_const_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaArray_const_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_const_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__8)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArray_const_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_6cudart_17cudaArray_const_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaArray_const_t_14__setstate_cython__[] = "cudaArray_const_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaArray_const_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaArray_const_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__10)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArray_const_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/cudart.pyx":3046
 * 
 *     """
 *     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_6cudart_20cudaMipmappedArray_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3046, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3046, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3046, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3046, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3046, 0, __PYX_ERR(0, 3046, __pyx_L1_error));

  /* "cuda/cudart.pyx":3047
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3048
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3049
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaMipmappedArray_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3047
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3051
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaMipmappedArray_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3046
 * 
 *     """
 *     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.cudart.cudaMipmappedArray_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3052
 *         else:
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_20cudaMipmappedArray_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3052, 0, __PYX_ERR(0, 3052, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3054
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaMipmappedArray_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3054, 0, __PYX_ERR(0, 3054, __pyx_L1_error));

  /* "cuda/cudart.pyx":3055
 *         pass
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_t ' + 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(0, 3055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3055, __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(0, 3055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaMipmappedArray_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3055, __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/cudart.pyx":3054
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaMipmappedArray_t ' + 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.cudart.cudaMipmappedArray_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/cudart.pyx":3056
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3056, 0, __PYX_ERR(0, 3056, __pyx_L1_error));

  /* "cuda/cudart.pyx":3057
 *         return '<cudaMipmappedArray_t ' + 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(0, 3057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3057, __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/cudart.pyx":3056
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_t ' + 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.cudart.cudaMipmappedArray_t.__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/cudart.pyx":3058
 *     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_6cudart_20cudaMipmappedArray_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3058, 0, __PYX_ERR(0, 3058, __pyx_L1_error));

  /* "cuda/cudart.pyx":3059
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3058
 *     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.cudart.cudaMipmappedArray_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/cudart.pyx":3060
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_10getPtr[] = "cudaMipmappedArray_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_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__12)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3060, 0, __PYX_ERR(0, 3060, __pyx_L1_error));

  /* "cuda/cudart.pyx":3061
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMipmappedArray_const_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3060
 *     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.cudart.cudaMipmappedArray_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_6cudart_20cudaMipmappedArray_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_12__reduce_cython__[] = "cudaMipmappedArray_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_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__13)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_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_6cudart_20cudaMipmappedArray_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_14__setstate_cython__[] = "cudaMipmappedArray_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__15)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_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/cudart.pyx":3074
 * 
 *     """
 *     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_6cudart_26cudaMipmappedArray_const_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3074, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3074, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3074, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3074, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_const_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3074, 0, __PYX_ERR(0, 3074, __pyx_L1_error));

  /* "cuda/cudart.pyx":3075
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3076
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3077
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaMipmappedArray_const_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3075
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3079
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaMipmappedArray_const_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3074
 * 
 *     """
 *     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.cudart.cudaMipmappedArray_const_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3080
 *         else:
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_26cudaMipmappedArray_const_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3080, 0, __PYX_ERR(0, 3080, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_const_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3082
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaMipmappedArray_const_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3082, 0, __PYX_ERR(0, 3082, __pyx_L1_error));

  /* "cuda/cudart.pyx":3083
 *         pass
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_const_t ' + 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(0, 3083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3083, __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(0, 3083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaMipmappedArray_const_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3083, __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/cudart.pyx":3082
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaMipmappedArray_const_t ' + 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.cudart.cudaMipmappedArray_const_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/cudart.pyx":3084
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_const_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3084, 0, __PYX_ERR(0, 3084, __pyx_L1_error));

  /* "cuda/cudart.pyx":3085
 *         return '<cudaMipmappedArray_const_t ' + 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(0, 3085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3085, __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/cudart.pyx":3084
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_const_t ' + 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.cudart.cudaMipmappedArray_const_t.__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/cudart.pyx":3086
 *     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_6cudart_26cudaMipmappedArray_const_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3086, 0, __PYX_ERR(0, 3086, __pyx_L1_error));

  /* "cuda/cudart.pyx":3087
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3086
 *     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.cudart.cudaMipmappedArray_const_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/cudart.pyx":3088
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_10getPtr[] = "cudaMipmappedArray_const_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_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__17)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3088, 0, __PYX_ERR(0, 3088, __pyx_L1_error));

  /* "cuda/cudart.pyx":3089
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaGraphicsResource_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3088
 *     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.cudart.cudaMipmappedArray_const_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_6cudart_26cudaMipmappedArray_const_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_12__reduce_cython__[] = "cudaMipmappedArray_const_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_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__18)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_const_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_6cudart_26cudaMipmappedArray_const_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_14__setstate_cython__[] = "cudaMipmappedArray_const_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArray_const_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/cudart.pyx":3102
 * 
 *     """
 *     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_6cudart_22cudaGraphicsResource_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3102, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3102, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3102, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3102, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResource_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3102, 0, __PYX_ERR(0, 3102, __pyx_L1_error));

  /* "cuda/cudart.pyx":3103
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3104
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3105
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaGraphicsResource_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3103
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3107
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaGraphicsResource_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3102
 * 
 *     """
 *     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.cudart.cudaGraphicsResource_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3108
 *         else:
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_22cudaGraphicsResource_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3108, 0, __PYX_ERR(0, 3108, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResource_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3110
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaGraphicsResource_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3110, 0, __PYX_ERR(0, 3110, __pyx_L1_error));

  /* "cuda/cudart.pyx":3111
 *         pass
 *     def __repr__(self):
 *         return '<cudaGraphicsResource_t ' + 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(0, 3111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3111, __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(0, 3111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaGraphicsResource_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3111, __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/cudart.pyx":3110
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaGraphicsResource_t ' + 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.cudart.cudaGraphicsResource_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/cudart.pyx":3112
 *     def __repr__(self):
 *         return '<cudaGraphicsResource_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3112, 0, __PYX_ERR(0, 3112, __pyx_L1_error));

  /* "cuda/cudart.pyx":3113
 *         return '<cudaGraphicsResource_t ' + 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(0, 3113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3113, __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/cudart.pyx":3112
 *     def __repr__(self):
 *         return '<cudaGraphicsResource_t ' + 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.cudart.cudaGraphicsResource_t.__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/cudart.pyx":3114
 *     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_6cudart_22cudaGraphicsResource_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3114, 0, __PYX_ERR(0, 3114, __pyx_L1_error));

  /* "cuda/cudart.pyx":3115
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3114
 *     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.cudart.cudaGraphicsResource_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/cudart.pyx":3116
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_10getPtr[] = "cudaGraphicsResource_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_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__22)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3116, 0, __PYX_ERR(0, 3116, __pyx_L1_error));

  /* "cuda/cudart.pyx":3117
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalMemory_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3116
 *     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.cudart.cudaGraphicsResource_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_6cudart_22cudaGraphicsResource_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_12__reduce_cython__[] = "cudaGraphicsResource_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_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__23)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResource_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_6cudart_22cudaGraphicsResource_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_14__setstate_cython__[] = "cudaGraphicsResource_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__25)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResource_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/cudart.pyx":3130
 * 
 *     """
 *     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_6cudart_20cudaExternalMemory_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3130, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3130, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3130, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3130, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemory_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3130, 0, __PYX_ERR(0, 3130, __pyx_L1_error));

  /* "cuda/cudart.pyx":3131
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3132
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3133
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemory_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaExternalMemory_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3131
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3135
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemory_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaExternalMemory_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3130
 * 
 *     """
 *     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.cudart.cudaExternalMemory_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3136
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemory_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_20cudaExternalMemory_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3136, 0, __PYX_ERR(0, 3136, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemory_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3138
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaExternalMemory_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3138, 0, __PYX_ERR(0, 3138, __pyx_L1_error));

  /* "cuda/cudart.pyx":3139
 *         pass
 *     def __repr__(self):
 *         return '<cudaExternalMemory_t ' + 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(0, 3139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3139, __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(0, 3139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaExternalMemory_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3139, __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/cudart.pyx":3138
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaExternalMemory_t ' + 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.cudart.cudaExternalMemory_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/cudart.pyx":3140
 *     def __repr__(self):
 *         return '<cudaExternalMemory_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3140, 0, __PYX_ERR(0, 3140, __pyx_L1_error));

  /* "cuda/cudart.pyx":3141
 *         return '<cudaExternalMemory_t ' + 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(0, 3141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3141, __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/cudart.pyx":3140
 *     def __repr__(self):
 *         return '<cudaExternalMemory_t ' + 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.cudart.cudaExternalMemory_t.__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/cudart.pyx":3142
 *     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_6cudart_20cudaExternalMemory_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3142, 0, __PYX_ERR(0, 3142, __pyx_L1_error));

  /* "cuda/cudart.pyx":3143
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3142
 *     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.cudart.cudaExternalMemory_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/cudart.pyx":3144
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_10getPtr[] = "cudaExternalMemory_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_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__27)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3144, 0, __PYX_ERR(0, 3144, __pyx_L1_error));

  /* "cuda/cudart.pyx":3145
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalSemaphore_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3144
 *     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.cudart.cudaExternalMemory_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_6cudart_20cudaExternalMemory_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_12__reduce_cython__[] = "cudaExternalMemory_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_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__28)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemory_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_6cudart_20cudaExternalMemory_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_14__setstate_cython__[] = "cudaExternalMemory_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__30)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemory_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/cudart.pyx":3158
 * 
 *     """
 *     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_6cudart_23cudaExternalSemaphore_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3158, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3158, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3158, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3158, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphore_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3158, 0, __PYX_ERR(0, 3158, __pyx_L1_error));

  /* "cuda/cudart.pyx":3159
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3160
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3161
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaExternalSemaphore_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3159
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3163
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaExternalSemaphore_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3158
 * 
 *     """
 *     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.cudart.cudaExternalSemaphore_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3164
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_23cudaExternalSemaphore_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3164, 0, __PYX_ERR(0, 3164, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphore_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3166
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaExternalSemaphore_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3166, 0, __PYX_ERR(0, 3166, __pyx_L1_error));

  /* "cuda/cudart.pyx":3167
 *         pass
 *     def __repr__(self):
 *         return '<cudaExternalSemaphore_t ' + 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(0, 3167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3167, __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(0, 3167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaExternalSemaphore_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3167, __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/cudart.pyx":3166
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaExternalSemaphore_t ' + 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.cudart.cudaExternalSemaphore_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/cudart.pyx":3168
 *     def __repr__(self):
 *         return '<cudaExternalSemaphore_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3168, 0, __PYX_ERR(0, 3168, __pyx_L1_error));

  /* "cuda/cudart.pyx":3169
 *         return '<cudaExternalSemaphore_t ' + 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(0, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3169, __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/cudart.pyx":3168
 *     def __repr__(self):
 *         return '<cudaExternalSemaphore_t ' + 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.cudart.cudaExternalSemaphore_t.__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/cudart.pyx":3170
 *     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_6cudart_23cudaExternalSemaphore_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3170, 0, __PYX_ERR(0, 3170, __pyx_L1_error));

  /* "cuda/cudart.pyx":3171
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3170
 *     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.cudart.cudaExternalSemaphore_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/cudart.pyx":3172
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_10getPtr[] = "cudaExternalSemaphore_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_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__32)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3172, 0, __PYX_ERR(0, 3172, __pyx_L1_error));

  /* "cuda/cudart.pyx":3173
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3172
 *     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.cudart.cudaExternalSemaphore_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_6cudart_23cudaExternalSemaphore_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_12__reduce_cython__[] = "cudaExternalSemaphore_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_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__33)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphore_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_6cudart_23cudaExternalSemaphore_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_14__setstate_cython__[] = "cudaExternalSemaphore_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphore_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/cudart.pyx":3184
 * 
 *     """
 *     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_6cudart_11EGLImageKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_11EGLImageKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3184, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3184, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3184, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3184, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.EGLImageKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_11EGLImageKHR___cinit__(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_11EGLImageKHR___cinit__(struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3184, 0, __PYX_ERR(0, 3184, __pyx_L1_error));

  /* "cuda/cudart.pyx":3185
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLImageKHR>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3186
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.EGLImageKHR>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3187
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLImageKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.EGLImageKHR *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_EGLImageKHR)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3185
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLImageKHR>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3189
 *             self._ptr[0] = <ccudart.EGLImageKHR>init_value
 *         else:
 *             self._ptr = <ccudart.EGLImageKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_EGLImageKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3184
 * 
 *     """
 *     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.cudart.EGLImageKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3190
 *         else:
 *             self._ptr = <ccudart.EGLImageKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_11EGLImageKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_11EGLImageKHR_2__init__(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_11EGLImageKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3190, 0, __PYX_ERR(0, 3190, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.EGLImageKHR.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3192
 *     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_6cudart_11EGLImageKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11EGLImageKHR_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11EGLImageKHR_4__repr__(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3192, 0, __PYX_ERR(0, 3192, __pyx_L1_error));

  /* "cuda/cudart.pyx":3193
 *         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(0, 3193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3193, __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(0, 3193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_EGLImageKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3193, __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/cudart.pyx":3192
 *     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.cudart.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/cudart.pyx":3194
 *     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_6cudart_11EGLImageKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11EGLImageKHR_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11EGLImageKHR_6__index__(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_6__index__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3194, 0, __PYX_ERR(0, 3194, __pyx_L1_error));

  /* "cuda/cudart.pyx":3195
 *         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(0, 3195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3195, __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/cudart.pyx":3194
 *     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.cudart.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/cudart.pyx":3196
 *     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_6cudart_11EGLImageKHR_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11EGLImageKHR_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11EGLImageKHR_8__int__(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_8__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3196, 0, __PYX_ERR(0, 3196, __pyx_L1_error));

  /* "cuda/cudart.pyx":3197
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3196
 *     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.cudart.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/cudart.pyx":3198
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_11EGLImageKHR_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_11EGLImageKHR_10getPtr[] = "EGLImageKHR.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11EGLImageKHR_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_11EGLImageKHR_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_11EGLImageKHR_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_11EGLImageKHR_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11EGLImageKHR_10getPtr(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_10getPtr(struct __pyx_obj_4cuda_6cudart_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__37)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3198, 0, __PYX_ERR(0, 3198, __pyx_L1_error));

  /* "cuda/cudart.pyx":3199
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3198
 *     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.cudart.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_6cudart_11EGLImageKHR_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_11EGLImageKHR_12__reduce_cython__[] = "EGLImageKHR.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11EGLImageKHR_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11EGLImageKHR_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_11EGLImageKHR_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_11EGLImageKHR_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11EGLImageKHR_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__38)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_11EGLImageKHR_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_11EGLImageKHR_14__setstate_cython__[] = "EGLImageKHR.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11EGLImageKHR_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11EGLImageKHR_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_11EGLImageKHR_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_11EGLImageKHR_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11EGLImageKHR_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_EGLImageKHR *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_11EGLImageKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__40)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":3210
 * 
 *     """
 *     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_6cudart_12EGLStreamKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_12EGLStreamKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3210, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3210, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3210, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3210, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.EGLStreamKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_12EGLStreamKHR___cinit__(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_12EGLStreamKHR___cinit__(struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3210, 0, __PYX_ERR(0, 3210, __pyx_L1_error));

  /* "cuda/cudart.pyx":3211
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLStreamKHR>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3212
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.EGLStreamKHR>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3213
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLStreamKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.EGLStreamKHR *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3211
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLStreamKHR>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3215
 *             self._ptr[0] = <ccudart.EGLStreamKHR>init_value
 *         else:
 *             self._ptr = <ccudart.EGLStreamKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3210
 * 
 *     """
 *     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.cudart.EGLStreamKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3216
 *         else:
 *             self._ptr = <ccudart.EGLStreamKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_12EGLStreamKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_12EGLStreamKHR_2__init__(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_12EGLStreamKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3216, 0, __PYX_ERR(0, 3216, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.EGLStreamKHR.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3218
 *     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_6cudart_12EGLStreamKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12EGLStreamKHR_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12EGLStreamKHR_4__repr__(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3218, 0, __PYX_ERR(0, 3218, __pyx_L1_error));

  /* "cuda/cudart.pyx":3219
 *         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(0, 3219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3219, __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(0, 3219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_EGLStreamKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3219, __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/cudart.pyx":3218
 *     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.cudart.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/cudart.pyx":3220
 *     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_6cudart_12EGLStreamKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12EGLStreamKHR_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12EGLStreamKHR_6__index__(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_6__index__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3220, 0, __PYX_ERR(0, 3220, __pyx_L1_error));

  /* "cuda/cudart.pyx":3221
 *         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(0, 3221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3221, __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/cudart.pyx":3220
 *     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.cudart.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/cudart.pyx":3222
 *     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_6cudart_12EGLStreamKHR_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12EGLStreamKHR_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12EGLStreamKHR_8__int__(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_8__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3222, 0, __PYX_ERR(0, 3222, __pyx_L1_error));

  /* "cuda/cudart.pyx":3223
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3222
 *     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.cudart.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/cudart.pyx":3224
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_12EGLStreamKHR_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_12EGLStreamKHR_10getPtr[] = "EGLStreamKHR.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12EGLStreamKHR_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_12EGLStreamKHR_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_12EGLStreamKHR_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_12EGLStreamKHR_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12EGLStreamKHR_10getPtr(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_10getPtr(struct __pyx_obj_4cuda_6cudart_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__42)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3224, 0, __PYX_ERR(0, 3224, __pyx_L1_error));

  /* "cuda/cudart.pyx":3225
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3224
 *     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.cudart.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_6cudart_12EGLStreamKHR_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_12EGLStreamKHR_12__reduce_cython__[] = "EGLStreamKHR.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12EGLStreamKHR_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12EGLStreamKHR_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_12EGLStreamKHR_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_12EGLStreamKHR_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12EGLStreamKHR_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__43)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_12EGLStreamKHR_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_12EGLStreamKHR_14__setstate_cython__[] = "EGLStreamKHR.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12EGLStreamKHR_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12EGLStreamKHR_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_12EGLStreamKHR_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_12EGLStreamKHR_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12EGLStreamKHR_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12EGLStreamKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__45)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":3236
 * 
 *     """
 *     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_6cudart_10EGLSyncKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_10EGLSyncKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3236, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3236, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3236, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3236, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.EGLSyncKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_10EGLSyncKHR___cinit__(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_10EGLSyncKHR___cinit__(struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3236, 0, __PYX_ERR(0, 3236, __pyx_L1_error));

  /* "cuda/cudart.pyx":3237
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLSyncKHR>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3238
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.EGLSyncKHR>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3239
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLSyncKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.EGLSyncKHR *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_EGLSyncKHR)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3237
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.EGLSyncKHR>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3241
 *             self._ptr[0] = <ccudart.EGLSyncKHR>init_value
 *         else:
 *             self._ptr = <ccudart.EGLSyncKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_EGLSyncKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3236
 * 
 *     """
 *     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.cudart.EGLSyncKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3242
 *         else:
 *             self._ptr = <ccudart.EGLSyncKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_10EGLSyncKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_10EGLSyncKHR_2__init__(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_10EGLSyncKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3242, 0, __PYX_ERR(0, 3242, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.EGLSyncKHR.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3244
 *     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_6cudart_10EGLSyncKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_10EGLSyncKHR_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10EGLSyncKHR_4__repr__(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3244, 0, __PYX_ERR(0, 3244, __pyx_L1_error));

  /* "cuda/cudart.pyx":3245
 *         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(0, 3245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3245, __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(0, 3245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_EGLSyncKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3245, __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/cudart.pyx":3244
 *     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.cudart.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/cudart.pyx":3246
 *     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_6cudart_10EGLSyncKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_10EGLSyncKHR_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10EGLSyncKHR_6__index__(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_6__index__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3246, 0, __PYX_ERR(0, 3246, __pyx_L1_error));

  /* "cuda/cudart.pyx":3247
 *         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(0, 3247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3247, __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/cudart.pyx":3246
 *     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.cudart.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/cudart.pyx":3248
 *     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_6cudart_10EGLSyncKHR_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_10EGLSyncKHR_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10EGLSyncKHR_8__int__(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_8__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3248, 0, __PYX_ERR(0, 3248, __pyx_L1_error));

  /* "cuda/cudart.pyx":3249
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3248
 *     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.cudart.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/cudart.pyx":3250
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_10EGLSyncKHR_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_10EGLSyncKHR_10getPtr[] = "EGLSyncKHR.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_10EGLSyncKHR_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_10EGLSyncKHR_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_10EGLSyncKHR_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_10EGLSyncKHR_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10EGLSyncKHR_10getPtr(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_10getPtr(struct __pyx_obj_4cuda_6cudart_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__47)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3250, 0, __PYX_ERR(0, 3250, __pyx_L1_error));

  /* "cuda/cudart.pyx":3251
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaHostFn_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3250
 *     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.cudart.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_6cudart_10EGLSyncKHR_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_10EGLSyncKHR_12__reduce_cython__[] = "EGLSyncKHR.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_10EGLSyncKHR_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10EGLSyncKHR_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_10EGLSyncKHR_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_10EGLSyncKHR_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10EGLSyncKHR_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__48)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_10EGLSyncKHR_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_10EGLSyncKHR_14__setstate_cython__[] = "EGLSyncKHR.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_10EGLSyncKHR_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10EGLSyncKHR_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_10EGLSyncKHR_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_10EGLSyncKHR_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10EGLSyncKHR_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10EGLSyncKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":3262
 * 
 *     """
 *     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_6cudart_12cudaHostFn_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_12cudaHostFn_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3262, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3262, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3262, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3262, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostFn_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_12cudaHostFn_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3262, 0, __PYX_ERR(0, 3262, __pyx_L1_error));

  /* "cuda/cudart.pyx":3263
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3264
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3265
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaHostFn_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaHostFn_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3263
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3267
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaHostFn_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaHostFn_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3262
 * 
 *     """
 *     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.cudart.cudaHostFn_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3268
 *         else:
 *             self._ptr = <ccudart.cudaHostFn_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_12cudaHostFn_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_12cudaHostFn_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_12cudaHostFn_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_12cudaHostFn_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3268, 0, __PYX_ERR(0, 3268, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostFn_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3270
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaHostFn_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3270, 0, __PYX_ERR(0, 3270, __pyx_L1_error));

  /* "cuda/cudart.pyx":3271
 *         pass
 *     def __repr__(self):
 *         return '<cudaHostFn_t ' + 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(0, 3271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3271, __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(0, 3271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaHostFn_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3271, __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/cudart.pyx":3270
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaHostFn_t ' + 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.cudart.cudaHostFn_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/cudart.pyx":3272
 *     def __repr__(self):
 *         return '<cudaHostFn_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3272, 0, __PYX_ERR(0, 3272, __pyx_L1_error));

  /* "cuda/cudart.pyx":3273
 *         return '<cudaHostFn_t ' + 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(0, 3273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3273, __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/cudart.pyx":3272
 *     def __repr__(self):
 *         return '<cudaHostFn_t ' + 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.cudart.cudaHostFn_t.__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/cudart.pyx":3274
 *     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_6cudart_12cudaHostFn_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3274, 0, __PYX_ERR(0, 3274, __pyx_L1_error));

  /* "cuda/cudart.pyx":3275
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3274
 *     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.cudart.cudaHostFn_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/cudart.pyx":3276
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaHostFn_t_10getPtr[] = "cudaHostFn_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12cudaHostFn_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaHostFn_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__52)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3276, 0, __PYX_ERR(0, 3276, __pyx_L1_error));

  /* "cuda/cudart.pyx":3277
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaStreamCallback_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3276
 *     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.cudart.cudaHostFn_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_6cudart_12cudaHostFn_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaHostFn_t_12__reduce_cython__[] = "cudaHostFn_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12cudaHostFn_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostFn_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__53)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaHostFn_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_6cudart_12cudaHostFn_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaHostFn_t_14__setstate_cython__[] = "cudaHostFn_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12cudaHostFn_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__55)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaHostFn_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/cudart.pyx":3288
 * 
 *     """
 *     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_6cudart_20cudaStreamCallback_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3288, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3288, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_6cudart_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(0, 3288, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3288, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCallback_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3288, 0, __PYX_ERR(0, 3288, __pyx_L1_error));

  /* "cuda/cudart.pyx":3289
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3290
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3291
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaStreamCallback_t *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((cudaStreamCallback_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":3289
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3293
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 *         else:
 *             self._ptr = <ccudart.cudaStreamCallback_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaStreamCallback_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3288
 * 
 *     """
 *     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.cudart.cudaStreamCallback_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3294
 *         else:
 *             self._ptr = <ccudart.cudaStreamCallback_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_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;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  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_6cudart_20cudaStreamCallback_t_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3294, 0, __PYX_ERR(0, 3294, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCallback_t.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3296
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaStreamCallback_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3296, 0, __PYX_ERR(0, 3296, __pyx_L1_error));

  /* "cuda/cudart.pyx":3297
 *         pass
 *     def __repr__(self):
 *         return '<cudaStreamCallback_t ' + 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(0, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3297, __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(0, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaStreamCallback_t, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3297, __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/cudart.pyx":3296
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaStreamCallback_t ' + 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.cudart.cudaStreamCallback_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/cudart.pyx":3298
 *     def __repr__(self):
 *         return '<cudaStreamCallback_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_7__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_6__index__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_6__index__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 0);
  __Pyx_TraceCall("__index__", __pyx_f[0], 3298, 0, __PYX_ERR(0, 3298, __pyx_L1_error));

  /* "cuda/cudart.pyx":3299
 *         return '<cudaStreamCallback_t ' + 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(0, 3299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3299, __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/cudart.pyx":3298
 *     def __repr__(self):
 *         return '<cudaStreamCallback_t ' + 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.cudart.cudaStreamCallback_t.__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/cudart.pyx":3300
 *     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_6cudart_20cudaStreamCallback_t_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_9__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_8__int__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_8__int__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 3300, 0, __PYX_ERR(0, 3300, __pyx_L1_error));

  /* "cuda/cudart.pyx":3301
 *         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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3300
 *     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.cudart.cudaStreamCallback_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/cudart.pyx":3302
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_10getPtr[] = "cudaStreamCallback_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_11getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_10getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_11getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_10getPtr(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_10getPtr(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_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__57)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3302, 0, __PYX_ERR(0, 3302, __pyx_L1_error));

  /* "cuda/cudart.pyx":3303
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class dim3:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3302
 *     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.cudart.cudaStreamCallback_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_6cudart_20cudaStreamCallback_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_12__reduce_cython__[] = "cudaStreamCallback_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_12__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_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__58)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCallback_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_6cudart_20cudaStreamCallback_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_14__setstate_cython__[] = "cudaStreamCallback_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_14__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__60)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCallback_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/cudart.pyx":3323
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_4dim3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_4dim3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3323, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3323, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3323, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3___cinit__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_4dim3___cinit__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3323, 0, __PYX_ERR(0, 3323, __pyx_L1_error));

  /* "cuda/cudart.pyx":3324
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3325
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.dim3 *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3324
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3327
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.dim3 *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct dim3 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3323
 * 
 *     """
 *     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.cudart.dim3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3328
 *         else:
 *             self._ptr = <ccudart.dim3 *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_4dim3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_4dim3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3328, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3328, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3328, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_2__init__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_4dim3_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3328, 0, __PYX_ERR(0, 3328, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3330
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_4dim3_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_4dim3_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_4dim3_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_4dim3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3330, 0, __PYX_ERR(0, 3330, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.dim3.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3332
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_4dim3_6getPtr[] = "dim3.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_4dim3_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_4dim3_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_4dim3_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_6getPtr(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4dim3_6getPtr(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3332, 0, __PYX_ERR(0, 3332, __pyx_L1_error));

  /* "cuda/cudart.pyx":3333
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3332
 *     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.cudart.dim3.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/cudart.pyx":3334
 *     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_6cudart_4dim3_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_8__repr__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4dim3_8__repr__(struct __pyx_obj_4cuda_6cudart_dim3 *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3334, 0, __PYX_ERR(0, 3334, __pyx_L1_error));

  /* "cuda/cudart.pyx":3335
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3336
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3337
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]             # <<<<<<<<<<<<<<
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_x_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_x, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3338
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]             # <<<<<<<<<<<<<<
 *             str_list += ['z : ' + str(self.z)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_y_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_y, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3339
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_z, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3340
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3335
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  }

  /* "cuda/cudart.pyx":3342
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3334
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.dim3.__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/cudart.pyx":3345
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].x
 *     @x.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_1x_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_1x___get__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4dim3_1x___get__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3345, 0, __PYX_ERR(0, 3345, __pyx_L1_error));

  /* "cuda/cudart.pyx":3346
 *     @property
 *     def x(self):
 *         return self._ptr[0].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]).x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3345
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].x
 *     @x.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.dim3.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/cudart.pyx":3348
 *         return self._ptr[0].x
 *     @x.setter
 *     def x(self, unsigned int x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].x = x
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_4dim3_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_6cudart_4dim3_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x) {
  unsigned int __pyx_v_x;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3348, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_1x_2__set__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self), ((unsigned int)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_4dim3_1x_2__set__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, unsigned int __pyx_v_x) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3348, 0, __PYX_ERR(0, 3348, __pyx_L1_error));

  /* "cuda/cudart.pyx":3350
 *     def x(self, unsigned int x):
 *         pass
 *         self._ptr[0].x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
 */
  (__pyx_v_self->_ptr[0]).x = __pyx_v_x;

  /* "cuda/cudart.pyx":3348
 *         return self._ptr[0].x
 *     @x.setter
 *     def x(self, unsigned int x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].x = x
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3352
 *         self._ptr[0].x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].y
 *     @y.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_1y_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_1y___get__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4dim3_1y___get__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3352, 0, __PYX_ERR(0, 3352, __pyx_L1_error));

  /* "cuda/cudart.pyx":3353
 *     @property
 *     def y(self):
 *         return self._ptr[0].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]).y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3352
 *         self._ptr[0].x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].y
 *     @y.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.dim3.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/cudart.pyx":3355
 *         return self._ptr[0].y
 *     @y.setter
 *     def y(self, unsigned int y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].y = y
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_4dim3_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_6cudart_4dim3_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y) {
  unsigned int __pyx_v_y;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3355, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_1y_2__set__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self), ((unsigned int)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_4dim3_1y_2__set__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, unsigned int __pyx_v_y) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3355, 0, __PYX_ERR(0, 3355, __pyx_L1_error));

  /* "cuda/cudart.pyx":3357
 *     def y(self, unsigned int y):
 *         pass
 *         self._ptr[0].y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
 */
  (__pyx_v_self->_ptr[0]).y = __pyx_v_y;

  /* "cuda/cudart.pyx":3355
 *         return self._ptr[0].y
 *     @y.setter
 *     def y(self, unsigned int y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].y = y
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3359
 *         self._ptr[0].y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].z
 *     @z.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_1z_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_1z___get__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4dim3_1z___get__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3359, 0, __PYX_ERR(0, 3359, __pyx_L1_error));

  /* "cuda/cudart.pyx":3360
 *     @property
 *     def z(self):
 *         return self._ptr[0].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]).z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3359
 *         self._ptr[0].y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].z
 *     @z.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.dim3.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/cudart.pyx":3362
 *         return self._ptr[0].z
 *     @z.setter
 *     def z(self, unsigned int z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].z = z
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_4dim3_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_6cudart_4dim3_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z) {
  unsigned int __pyx_v_z;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3362, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_1z_2__set__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self), ((unsigned int)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_4dim3_1z_2__set__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, unsigned int __pyx_v_z) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3362, 0, __PYX_ERR(0, 3362, __pyx_L1_error));

  /* "cuda/cudart.pyx":3364
 *     def z(self, unsigned int z):
 *         pass
 *         self._ptr[0].z = z             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaChannelFormatDesc:
 */
  (__pyx_v_self->_ptr[0]).z = __pyx_v_z;

  /* "cuda/cudart.pyx":3362
 *         return self._ptr[0].z
 *     @z.setter
 *     def z(self, unsigned int z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].z = z
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.dim3.z.__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_6cudart_4dim3_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_4dim3_10__reduce_cython__[] = "dim3.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_4dim3_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_4dim3_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_4dim3_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4dim3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.dim3.__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_6cudart_4dim3_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_4dim3_12__setstate_cython__[] = "dim3.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_4dim3_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_4dim3_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_4dim3_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_4dim3_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_4dim3_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4dim3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__67)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.dim3.__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/cudart.pyx":3389
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3389, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3389, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3389, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3389, 0, __PYX_ERR(0, 3389, __pyx_L1_error));

  /* "cuda/cudart.pyx":3390
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3391
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3390
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3393
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaChannelFormatDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3389
 * 
 *     """
 *     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.cudart.cudaChannelFormatDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3394
 *         else:
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3394, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3394, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3394, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3394, 0, __PYX_ERR(0, 3394, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3396
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3396, 0, __PYX_ERR(0, 3396, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaChannelFormatDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3398
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_6getPtr[] = "cudaChannelFormatDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaChannelFormatDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__69)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3398, 0, __PYX_ERR(0, 3398, __pyx_L1_error));

  /* "cuda/cudart.pyx":3399
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3398
 *     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.cudart.cudaChannelFormatDesc.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/cudart.pyx":3400
 *     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_6cudart_21cudaChannelFormatDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3400, 0, __PYX_ERR(0, 3400, __pyx_L1_error));

  /* "cuda/cudart.pyx":3401
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3402
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3403
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]             # <<<<<<<<<<<<<<
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_x_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_x, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3404
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]             # <<<<<<<<<<<<<<
 *             str_list += ['z : ' + str(self.z)]
 *             str_list += ['w : ' + str(self.w)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_y_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_y, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3405
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]             # <<<<<<<<<<<<<<
 *             str_list += ['w : ' + str(self.w)]
 *             str_list += ['f : ' + str(self.f)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_z, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3406
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 *             str_list += ['w : ' + str(self.w)]             # <<<<<<<<<<<<<<
 *             str_list += ['f : ' + str(self.f)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_w_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_w, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3407
 *             str_list += ['z : ' + str(self.z)]
 *             str_list += ['w : ' + str(self.w)]
 *             str_list += ['f : ' + str(self.f)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_f_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_f, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3408
 *             str_list += ['w : ' + str(self.w)]
 *             str_list += ['f : ' + str(self.f)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3401
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  }

  /* "cuda/cudart.pyx":3410
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3400
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.__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/cudart.pyx":3413
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].x
 *     @x.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1x_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1x___get__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1x___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3413, 0, __PYX_ERR(0, 3413, __pyx_L1_error));

  /* "cuda/cudart.pyx":3414
 *     @property
 *     def x(self):
 *         return self._ptr[0].x             # <<<<<<<<<<<<<<
 *     @x.setter
 *     def x(self, int x):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3413
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].x
 *     @x.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.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/cudart.pyx":3416
 *         return self._ptr[0].x
 *     @x.setter
 *     def x(self, int x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].x = x
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x) {
  int __pyx_v_x;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_x); {
    __pyx_v_x = __Pyx_PyInt_As_int(__pyx_arg_x); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3416, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1x_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), ((int)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1x_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_x) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3416, 0, __PYX_ERR(0, 3416, __pyx_L1_error));

  /* "cuda/cudart.pyx":3418
 *     def x(self, int x):
 *         pass
 *         self._ptr[0].x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
 */
  (__pyx_v_self->_ptr[0]).x = __pyx_v_x;

  /* "cuda/cudart.pyx":3416
 *         return self._ptr[0].x
 *     @x.setter
 *     def x(self, int x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].x = x
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3420
 *         self._ptr[0].x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].y
 *     @y.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1y_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1y___get__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1y___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3420, 0, __PYX_ERR(0, 3420, __pyx_L1_error));

  /* "cuda/cudart.pyx":3421
 *     @property
 *     def y(self):
 *         return self._ptr[0].y             # <<<<<<<<<<<<<<
 *     @y.setter
 *     def y(self, int y):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3420
 *         self._ptr[0].x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].y
 *     @y.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.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/cudart.pyx":3423
 *         return self._ptr[0].y
 *     @y.setter
 *     def y(self, int y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].y = y
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y) {
  int __pyx_v_y;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_y); {
    __pyx_v_y = __Pyx_PyInt_As_int(__pyx_arg_y); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3423, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1y_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), ((int)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1y_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_y) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3423, 0, __PYX_ERR(0, 3423, __pyx_L1_error));

  /* "cuda/cudart.pyx":3425
 *     def y(self, int y):
 *         pass
 *         self._ptr[0].y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
 */
  (__pyx_v_self->_ptr[0]).y = __pyx_v_y;

  /* "cuda/cudart.pyx":3423
 *         return self._ptr[0].y
 *     @y.setter
 *     def y(self, int y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].y = y
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3427
 *         self._ptr[0].y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].z
 *     @z.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1z_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1z___get__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1z___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3427, 0, __PYX_ERR(0, 3427, __pyx_L1_error));

  /* "cuda/cudart.pyx":3428
 *     @property
 *     def z(self):
 *         return self._ptr[0].z             # <<<<<<<<<<<<<<
 *     @z.setter
 *     def z(self, int z):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3427
 *         self._ptr[0].y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].z
 *     @z.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.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/cudart.pyx":3430
 *         return self._ptr[0].z
 *     @z.setter
 *     def z(self, int z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].z = z
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z) {
  int __pyx_v_z;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_z); {
    __pyx_v_z = __Pyx_PyInt_As_int(__pyx_arg_z); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3430, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1z_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), ((int)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1z_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_z) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3430, 0, __PYX_ERR(0, 3430, __pyx_L1_error));

  /* "cuda/cudart.pyx":3432
 *     def z(self, int z):
 *         pass
 *         self._ptr[0].z = z             # <<<<<<<<<<<<<<
 *     @property
 *     def w(self):
 */
  (__pyx_v_self->_ptr[0]).z = __pyx_v_z;

  /* "cuda/cudart.pyx":3430
 *         return self._ptr[0].z
 *     @z.setter
 *     def z(self, int z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].z = z
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3434
 *         self._ptr[0].z = z
 *     @property
 *     def w(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].w
 *     @w.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1w_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1w_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1w___get__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1w___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3434, 0, __PYX_ERR(0, 3434, __pyx_L1_error));

  /* "cuda/cudart.pyx":3435
 *     @property
 *     def w(self):
 *         return self._ptr[0].w             # <<<<<<<<<<<<<<
 *     @w.setter
 *     def w(self, int w):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3434
 *         self._ptr[0].z = z
 *     @property
 *     def w(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].w
 *     @w.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.w.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3437
 *         return self._ptr[0].w
 *     @w.setter
 *     def w(self, int w):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].w = w
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1w_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_w); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1w_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_w) {
  int __pyx_v_w;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_w); {
    __pyx_v_w = __Pyx_PyInt_As_int(__pyx_arg_w); if (unlikely((__pyx_v_w == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 3437, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.w.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1w_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), ((int)__pyx_v_w));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1w_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, int __pyx_v_w) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3437, 0, __PYX_ERR(0, 3437, __pyx_L1_error));

  /* "cuda/cudart.pyx":3439
 *     def w(self, int w):
 *         pass
 *         self._ptr[0].w = w             # <<<<<<<<<<<<<<
 *     @property
 *     def f(self):
 */
  (__pyx_v_self->_ptr[0]).w = __pyx_v_w;

  /* "cuda/cudart.pyx":3437
 *         return self._ptr[0].w
 *     @w.setter
 *     def w(self, int w):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].w = w
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.w.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3441
 *         self._ptr[0].w = w
 *     @property
 *     def f(self):             # <<<<<<<<<<<<<<
 *         return cudaChannelFormatKind(self._ptr[0].f)
 *     @f.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1f_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1f_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1f___get__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1f___get__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3441, 0, __PYX_ERR(0, 3441, __pyx_L1_error));

  /* "cuda/cudart.pyx":3442
 *     @property
 *     def f(self):
 *         return cudaChannelFormatKind(self._ptr[0].f)             # <<<<<<<<<<<<<<
 *     @f.setter
 *     def f(self, f not None : cudaChannelFormatKind):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaChannelFormatKind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaChannelFormatKind((__pyx_v_self->_ptr[0]).f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 3442, __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/cudart.pyx":3441
 *         self._ptr[0].w = w
 *     @property
 *     def f(self):             # <<<<<<<<<<<<<<
 *         return cudaChannelFormatKind(self._ptr[0].f)
 *     @f.setter
 */

  /* 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.cudart.cudaChannelFormatDesc.f.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3444
 *         return cudaChannelFormatKind(self._ptr[0].f)
 *     @f.setter
 *     def f(self, f not None : cudaChannelFormatKind):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].f = f.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1f_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_f); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1f_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_f) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_f) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "f"); __PYX_ERR(0, 3444, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1f_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), ((PyObject *)__pyx_v_f));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_1f_2__set__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, PyObject *__pyx_v_f) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaChannelFormatKind __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3444, 0, __PYX_ERR(0, 3444, __pyx_L1_error));

  /* "cuda/cudart.pyx":3446
 *     def f(self, f not None : cudaChannelFormatKind):
 *         pass
 *         self._ptr[0].f = f.value             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaArraySparseProperties_tileExtent_s:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaChannelFormatKind)__Pyx_PyInt_As_enum__cudaChannelFormatKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).f = __pyx_t_2;

  /* "cuda/cudart.pyx":3444
 *         return cudaChannelFormatKind(self._ptr[0].f)
 *     @f.setter
 *     def f(self, f not None : cudaChannelFormatKind):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].f = f.value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.f.__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_6cudart_21cudaChannelFormatDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_10__reduce_cython__[] = "cudaChannelFormatDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaChannelFormatDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__70)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.__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_6cudart_21cudaChannelFormatDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_12__setstate_cython__[] = "cudaChannelFormatDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaChannelFormatDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaChannelFormatDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__72)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaChannelFormatDesc.__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/cudart.pyx":3466
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3466, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 3466, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3466, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3466, 0, __PYX_ERR(0, 3466, __pyx_L1_error));

  /* "cuda/cudart.pyx":3467
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaArraySparseProperties *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaArraySparseProperties *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":3466
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3468
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3468, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 3468, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3468, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3468, 0, __PYX_ERR(0, 3468, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3470
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_4getPtr[] = "_cudaArraySparseProperties_tileExtent_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3470, 0, __PYX_ERR(0, 3470, __pyx_L1_error));

  /* "cuda/cudart.pyx":3471
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3470
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaArraySparseProperties_tileExtent_s.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/cudart.pyx":3472
 *     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_6cudart_39_cudaArraySparseProperties_tileExtent_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3472, 0, __PYX_ERR(0, 3472, __pyx_L1_error));

  /* "cuda/cudart.pyx":3473
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3474
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3475
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_width, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3476
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             str_list += ['depth : ' + str(self.depth)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_height, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3477
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_depth, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3478
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3473
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 */
  }

  /* "cuda/cudart.pyx":3480
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3472
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.__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/cudart.pyx":3483
 * 
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tileExtent.width
 *     @width.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width___get__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width___get__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3483, 0, __PYX_ERR(0, 3483, __pyx_L1_error));

  /* "cuda/cudart.pyx":3484
 *     @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(0, 3484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3483
 * 
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tileExtent.width
 *     @width.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.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/cudart.pyx":3486
 *         return self._ptr[0].tileExtent.width
 *     @width.setter
 *     def width(self, unsigned int width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tileExtent.width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  unsigned int __pyx_v_width;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3486, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self), ((unsigned int)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_2__set__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, unsigned int __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3486, 0, __PYX_ERR(0, 3486, __pyx_L1_error));

  /* "cuda/cudart.pyx":3488
 *     def width(self, unsigned int width):
 *         pass
 *         self._ptr[0].tileExtent.width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).tileExtent.width = __pyx_v_width;

  /* "cuda/cudart.pyx":3486
 *         return self._ptr[0].tileExtent.width
 *     @width.setter
 *     def width(self, unsigned int width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tileExtent.width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3490
 *         self._ptr[0].tileExtent.width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tileExtent.height
 *     @height.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height___get__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height___get__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3490, 0, __PYX_ERR(0, 3490, __pyx_L1_error));

  /* "cuda/cudart.pyx":3491
 *     @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(0, 3491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3490
 *         self._ptr[0].tileExtent.width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tileExtent.height
 *     @height.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.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/cudart.pyx":3493
 *         return self._ptr[0].tileExtent.height
 *     @height.setter
 *     def height(self, unsigned int height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tileExtent.height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  unsigned int __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3493, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self), ((unsigned int)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_2__set__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, unsigned int __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3493, 0, __PYX_ERR(0, 3493, __pyx_L1_error));

  /* "cuda/cudart.pyx":3495
 *     def height(self, unsigned int height):
 *         pass
 *         self._ptr[0].tileExtent.height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
 */
  (__pyx_v_self->_ptr[0]).tileExtent.height = __pyx_v_height;

  /* "cuda/cudart.pyx":3493
 *         return self._ptr[0].tileExtent.height
 *     @height.setter
 *     def height(self, unsigned int height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tileExtent.height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3497
 *         self._ptr[0].tileExtent.height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tileExtent.depth
 *     @depth.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth___get__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth___get__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3497, 0, __PYX_ERR(0, 3497, __pyx_L1_error));

  /* "cuda/cudart.pyx":3498
 *     @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(0, 3498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3497
 *         self._ptr[0].tileExtent.height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tileExtent.depth
 *     @depth.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.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/cudart.pyx":3500
 *         return self._ptr[0].tileExtent.depth
 *     @depth.setter
 *     def depth(self, unsigned int depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tileExtent.depth = depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  unsigned int __pyx_v_depth;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3500, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self), ((unsigned int)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_2__set__(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, unsigned int __pyx_v_depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3500, 0, __PYX_ERR(0, 3500, __pyx_L1_error));

  /* "cuda/cudart.pyx":3502
 *     def depth(self, unsigned int depth):
 *         pass
 *         self._ptr[0].tileExtent.depth = depth             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaArraySparseProperties:
 */
  (__pyx_v_self->_ptr[0]).tileExtent.depth = __pyx_v_depth;

  /* "cuda/cudart.pyx":3500
 *         return self._ptr[0].tileExtent.depth
 *     @depth.setter
 *     def depth(self, unsigned int depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tileExtent.depth = depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.depth.__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_6cudart_39_cudaArraySparseProperties_tileExtent_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_8__reduce_cython__[] = "_cudaArraySparseProperties_tileExtent_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__75)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__76, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.__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_6cudart_39_cudaArraySparseProperties_tileExtent_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_10__setstate_cython__[] = "_cudaArraySparseProperties_tileExtent_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__78, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaArraySparseProperties_tileExtent_s.__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/cudart.pyx":3527
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3527, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3527, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3527, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3527, 0, __PYX_ERR(0, 3527, __pyx_L1_error));

  /* "cuda/cudart.pyx":3528
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3529
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3528
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3531
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaArraySparseProperties *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaArraySparseProperties *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3527
 * 
 *     """
 *     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.cudart.cudaArraySparseProperties.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3532
 *         else:
 *             self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3532, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3532, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3532, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_2__init__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3532, 0, __PYX_ERR(0, 3532, __pyx_L1_error));

  /* "cuda/cudart.pyx":3533
 *             self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 3533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_tileExtent);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_tileExtent));
  __pyx_v_self->_tileExtent = ((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3532
 *         else:
 *             self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_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.cudart.cudaArraySparseProperties.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3534
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3534, 0, __PYX_ERR(0, 3534, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaArraySparseProperties.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3536
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_6getPtr[] = "cudaArraySparseProperties.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_25cudaArraySparseProperties_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  PyObject *__pyx_r = 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__79)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3536, 0, __PYX_ERR(0, 3536, __pyx_L1_error));

  /* "cuda/cudart.pyx":3537
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3536
 *     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.cudart.cudaArraySparseProperties.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/cudart.pyx":3538
 *     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_6cudart_25cudaArraySparseProperties_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_7genexpr__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3538, 0, __PYX_ERR(0, 3538, __pyx_L1_error));

  /* "cuda/cudart.pyx":3539
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3540
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3541
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             str_list += ['miptailSize : ' + str(self.miptailSize)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3541, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_tileExtent_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3541, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3541, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3541, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3541, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3541, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_7genexpr__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3541, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 3541, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_7genexpr__pyx_v_line); __pyx_7genexpr__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_7genexpr__pyx_v_line); __pyx_7genexpr__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_tileExtent, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3542
 *             str_list = []
 *             str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]             # <<<<<<<<<<<<<<
 *             str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_miptailFirstLevel_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_miptailFirstLevel, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3543
 *             str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             str_list += ['miptailSize : ' + str(self.miptailSize)]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_miptailSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_miptailSize, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3544
 *             str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3545
 *             str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3546
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3539
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":3548
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3538
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.__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_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3551
 * 
 *     @property
 *     def tileExtent(self):             # <<<<<<<<<<<<<<
 *         return self._tileExtent
 *     @tileExtent.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent___get__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3551, 0, __PYX_ERR(0, 3551, __pyx_L1_error));

  /* "cuda/cudart.pyx":3552
 *     @property
 *     def tileExtent(self):
 *         return self._tileExtent             # <<<<<<<<<<<<<<
 *     @tileExtent.setter
 *     def tileExtent(self, tileExtent not None : _cudaArraySparseProperties_tileExtent_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_tileExtent));
  __pyx_r = ((PyObject *)__pyx_v_self->_tileExtent);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3551
 * 
 *     @property
 *     def tileExtent(self):             # <<<<<<<<<<<<<<
 *         return self._tileExtent
 *     @tileExtent.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.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/cudart.pyx":3554
 *         return self._tileExtent
 *     @tileExtent.setter
 *     def tileExtent(self, tileExtent not None : _cudaArraySparseProperties_tileExtent_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(tileExtent):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_tileExtent); /*proto*/
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_tileExtent) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tileExtent), __pyx_ptype_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s, 0, "tileExtent", 0))) __PYX_ERR(0, 3554, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)__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_6cudart_25cudaArraySparseProperties_10tileExtent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *__pyx_v_tileExtent) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3554, 0, __PYX_ERR(0, 3554, __pyx_L1_error));

  /* "cuda/cudart.pyx":3556
 *     def tileExtent(self, tileExtent not None : _cudaArraySparseProperties_tileExtent_s):
 *         pass
 *         for _attr in dir(tileExtent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_tileExtent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3556, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3556, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3556, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3556, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3556, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 3556, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":3557
 *         pass
 *         for _attr in dir(tileExtent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3557, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3558
 *         for _attr in dir(tileExtent):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._tileExtent, _attr, getattr(tileExtent, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":3557
 *         pass
 *         for _attr in dir(tileExtent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3559
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._tileExtent, _attr, getattr(tileExtent, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":3560
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._tileExtent, _attr, getattr(tileExtent, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def miptailFirstLevel(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_tileExtent);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_tileExtent), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3560, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 3560, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3559
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._tileExtent, _attr, getattr(tileExtent, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3556
 *     def tileExtent(self, tileExtent not None : _cudaArraySparseProperties_tileExtent_s):
 *         pass
 *         for _attr in dir(tileExtent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3554
 *         return self._tileExtent
 *     @tileExtent.setter
 *     def tileExtent(self, tileExtent not None : _cudaArraySparseProperties_tileExtent_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.tileExtent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3562
 *                 setattr(self._tileExtent, _attr, getattr(tileExtent, _attr))
 *     @property
 *     def miptailFirstLevel(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel___get__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3562, 0, __PYX_ERR(0, 3562, __pyx_L1_error));

  /* "cuda/cudart.pyx":3563
 *     @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(0, 3563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3562
 *                 setattr(self._tileExtent, _attr, getattr(tileExtent, _attr))
 *     @property
 *     def miptailFirstLevel(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.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/cudart.pyx":3565
 *         return self._ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailFirstLevel); /*proto*/
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailFirstLevel) {
  unsigned int __pyx_v_miptailFirstLevel;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3565, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.miptailFirstLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), ((unsigned int)__pyx_v_miptailFirstLevel));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, unsigned int __pyx_v_miptailFirstLevel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3565, 0, __PYX_ERR(0, 3565, __pyx_L1_error));

  /* "cuda/cudart.pyx":3567
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         pass
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def miptailSize(self):
 */
  (__pyx_v_self->_ptr[0]).miptailFirstLevel = __pyx_v_miptailFirstLevel;

  /* "cuda/cudart.pyx":3565
 *         return self._ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.miptailFirstLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3569
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 *     @property
 *     def miptailSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].miptailSize
 *     @miptailSize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize___get__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3569, 0, __PYX_ERR(0, 3569, __pyx_L1_error));

  /* "cuda/cudart.pyx":3570
 *     @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(0, 3570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3569
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 *     @property
 *     def miptailSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].miptailSize
 *     @miptailSize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.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/cudart.pyx":3572
 *         return self._ptr[0].miptailSize
 *     @miptailSize.setter
 *     def miptailSize(self, unsigned long long miptailSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].miptailSize = miptailSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailSize); /*proto*/
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailSize) {
  unsigned PY_LONG_LONG __pyx_v_miptailSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3572, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.miptailSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_miptailSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_miptailSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3572, 0, __PYX_ERR(0, 3572, __pyx_L1_error));

  /* "cuda/cudart.pyx":3574
 *     def miptailSize(self, unsigned long long miptailSize):
 *         pass
 *         self._ptr[0].miptailSize = miptailSize             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).miptailSize = __pyx_v_miptailSize;

  /* "cuda/cudart.pyx":3572
 *         return self._ptr[0].miptailSize
 *     @miptailSize.setter
 *     def miptailSize(self, unsigned long long miptailSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].miptailSize = miptailSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.miptailSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3576
 *         self._ptr[0].miptailSize = miptailSize
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3576, 0, __PYX_ERR(0, 3576, __pyx_L1_error));

  /* "cuda/cudart.pyx":3577
 *     @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(0, 3577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3576
 *         self._ptr[0].miptailSize = miptailSize
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.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/cudart.pyx":3579
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3579, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3579, 0, __PYX_ERR(0, 3579, __pyx_L1_error));

  /* "cuda/cudart.pyx":3581
 *     def flags(self, unsigned int flags):
 *         pass
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":3579
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3583
 *         self._ptr[0].flags = flags
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3583, 0, __PYX_ERR(0, 3583, __pyx_L1_error));

  /* "cuda/cudart.pyx":3584
 *     @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(0, 3584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3583
 *         self._ptr[0].flags = flags
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.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/cudart.pyx":3586
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3586, 0, __PYX_ERR(0, 3586, __pyx_L1_error));

  /* "cuda/cudart.pyx":3588
 *     def reserved(self, reserved):
 *         pass
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaArrayMemoryRequirements:
 */
  if (unlikely(__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 4) < 0)) __PYX_ERR(0, 3588, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (4));

  /* "cuda/cudart.pyx":3586
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.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_6cudart_25cudaArraySparseProperties_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_10__reduce_cython__[] = "cudaArraySparseProperties.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_25cudaArraySparseProperties_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  PyObject *__pyx_r = 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__82)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__83, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.__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_6cudart_25cudaArraySparseProperties_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_12__setstate_cython__[] = "cudaArraySparseProperties.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_25cudaArraySparseProperties_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_25cudaArraySparseProperties_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__84)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__85, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArraySparseProperties.__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/cudart.pyx":3609
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3609, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3609, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3609, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements___cinit__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3609, 0, __PYX_ERR(0, 3609, __pyx_L1_error));

  /* "cuda/cudart.pyx":3610
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3611
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaArrayMemoryRequirements *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3610
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3613
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaArrayMemoryRequirements *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaArrayMemoryRequirements *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3609
 * 
 *     """
 *     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.cudart.cudaArrayMemoryRequirements.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3614
 *         else:
 *             self._ptr = <ccudart.cudaArrayMemoryRequirements *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3614, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3614, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3614, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3614, 0, __PYX_ERR(0, 3614, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3616
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3616, 0, __PYX_ERR(0, 3616, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaArrayMemoryRequirements.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3618
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_6getPtr[] = "cudaArrayMemoryRequirements.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_27cudaArrayMemoryRequirements_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3618, 0, __PYX_ERR(0, 3618, __pyx_L1_error));

  /* "cuda/cudart.pyx":3619
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3618
 *     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.cudart.cudaArrayMemoryRequirements.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/cudart.pyx":3620
 *     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_6cudart_27cudaArrayMemoryRequirements_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3620, 0, __PYX_ERR(0, 3620, __pyx_L1_error));

  /* "cuda/cudart.pyx":3621
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['size : ' + str(self.size)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3622
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['alignment : ' + str(self.alignment)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3623
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             str_list += ['alignment : ' + str(self.alignment)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3624
 *             str_list = []
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['alignment : ' + str(self.alignment)]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_alignment_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_alignment, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3625
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['alignment : ' + str(self.alignment)]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3626
 *             str_list += ['alignment : ' + str(self.alignment)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3621
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['size : ' + str(self.size)]
 */
  }

  /* "cuda/cudart.pyx":3628
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3620
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.__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/cudart.pyx":3631
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].size
 *     @size.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4size___get__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4size___get__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3631, 0, __PYX_ERR(0, 3631, __pyx_L1_error));

  /* "cuda/cudart.pyx":3632
 *     @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(0, 3632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3631
 * 
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].size
 *     @size.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.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/cudart.pyx":3634
 *         return self._ptr[0].size
 *     @size.setter
 *     def size(self, size_t size):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  size_t __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3634, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self), ((size_t)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, size_t __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3634, 0, __PYX_ERR(0, 3634, __pyx_L1_error));

  /* "cuda/cudart.pyx":3636
 *     def size(self, size_t size):
 *         pass
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def alignment(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cudart.pyx":3634
 *         return self._ptr[0].size
 *     @size.setter
 *     def size(self, size_t size):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3638
 *         self._ptr[0].size = size
 *     @property
 *     def alignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].alignment
 *     @alignment.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment___get__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment___get__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3638, 0, __PYX_ERR(0, 3638, __pyx_L1_error));

  /* "cuda/cudart.pyx":3639
 *     @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(0, 3639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3638
 *         self._ptr[0].size = size
 *     @property
 *     def alignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].alignment
 *     @alignment.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.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/cudart.pyx":3641
 *         return self._ptr[0].alignment
 *     @alignment.setter
 *     def alignment(self, size_t alignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].alignment = alignment
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_alignment); /*proto*/
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_alignment) {
  size_t __pyx_v_alignment;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3641, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.alignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self), ((size_t)__pyx_v_alignment));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, size_t __pyx_v_alignment) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3641, 0, __PYX_ERR(0, 3641, __pyx_L1_error));

  /* "cuda/cudart.pyx":3643
 *     def alignment(self, size_t alignment):
 *         pass
 *         self._ptr[0].alignment = alignment             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).alignment = __pyx_v_alignment;

  /* "cuda/cudart.pyx":3641
 *         return self._ptr[0].alignment
 *     @alignment.setter
 *     def alignment(self, size_t alignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].alignment = alignment
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.alignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3645
 *         self._ptr[0].alignment = alignment
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3645, 0, __PYX_ERR(0, 3645, __pyx_L1_error));

  /* "cuda/cudart.pyx":3646
 *     @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(0, 3646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3645
 *         self._ptr[0].alignment = alignment
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.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/cudart.pyx":3648
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3648, 0, __PYX_ERR(0, 3648, __pyx_L1_error));

  /* "cuda/cudart.pyx":3650
 *     def reserved(self, reserved):
 *         pass
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaPitchedPtr:
 */
  if (unlikely(__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 4) < 0)) __PYX_ERR(0, 3650, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (4));

  /* "cuda/cudart.pyx":3648
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.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_6cudart_27cudaArrayMemoryRequirements_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_10__reduce_cython__[] = "cudaArrayMemoryRequirements.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_27cudaArrayMemoryRequirements_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self) {
  PyObject *__pyx_r = 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__87)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.__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_6cudart_27cudaArrayMemoryRequirements_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_12__setstate_cython__[] = "cudaArrayMemoryRequirements.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_27cudaArrayMemoryRequirements_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_27cudaArrayMemoryRequirements_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayMemoryRequirements.__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/cudart.pyx":3673
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3673, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3673, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3673, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr___cinit__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3673, 0, __PYX_ERR(0, 3673, __pyx_L1_error));

  /* "cuda/cudart.pyx":3674
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3675
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaPitchedPtr *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3674
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3677
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaPitchedPtr *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaPitchedPtr *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3673
 * 
 *     """
 *     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.cudart.cudaPitchedPtr.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3678
 *         else:
 *             self._ptr = <ccudart.cudaPitchedPtr *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3678, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3678, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3678, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3678, 0, __PYX_ERR(0, 3678, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3680
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3680, 0, __PYX_ERR(0, 3680, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaPitchedPtr.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3682
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_6getPtr[] = "cudaPitchedPtr.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_14cudaPitchedPtr_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  PyObject *__pyx_r = 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__91)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3682, 0, __PYX_ERR(0, 3682, __pyx_L1_error));

  /* "cuda/cudart.pyx":3683
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3682
 *     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.cudart.cudaPitchedPtr.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/cudart.pyx":3684
 *     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_6cudart_14cudaPitchedPtr_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3684, 0, __PYX_ERR(0, 3684, __pyx_L1_error));

  /* "cuda/cudart.pyx":3685
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['ptr : ' + hex(self.ptr)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3686
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['ptr : ' + hex(self.ptr)]
 *             str_list += ['pitch : ' + str(self.pitch)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3687
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['ptr : ' + hex(self.ptr)]             # <<<<<<<<<<<<<<
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['xsize : ' + str(self.xsize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_ptr_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_ptr_2, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3688
 *             str_list = []
 *             str_list += ['ptr : ' + hex(self.ptr)]
 *             str_list += ['pitch : ' + str(self.pitch)]             # <<<<<<<<<<<<<<
 *             str_list += ['xsize : ' + str(self.xsize)]
 *             str_list += ['ysize : ' + str(self.ysize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pitch, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3689
 *             str_list += ['ptr : ' + hex(self.ptr)]
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['xsize : ' + str(self.xsize)]             # <<<<<<<<<<<<<<
 *             str_list += ['ysize : ' + str(self.ysize)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xsize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_xsize, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3690
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['xsize : ' + str(self.xsize)]
 *             str_list += ['ysize : ' + str(self.ysize)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_ysize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_ysize, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3691
 *             str_list += ['xsize : ' + str(self.xsize)]
 *             str_list += ['ysize : ' + str(self.ysize)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3685
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['ptr : ' + hex(self.ptr)]
 */
  }

  /* "cuda/cudart.pyx":3693
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3684
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.__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/cudart.pyx":3696
 * 
 *     @property
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].ptr
 *     @ptr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3ptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3ptr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_3ptr___get__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_3ptr___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3696, 0, __PYX_ERR(0, 3696, __pyx_L1_error));

  /* "cuda/cudart.pyx":3697
 *     @property
 *     def ptr(self):
 *         return <void_ptr>self._ptr[0].ptr             # <<<<<<<<<<<<<<
 *     @ptr.setter
 *     def ptr(self, ptr):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3696
 * 
 *     @property
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].ptr
 *     @ptr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.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/cudart.pyx":3699
 *         return <void_ptr>self._ptr[0].ptr
 *     @ptr.setter
 *     def ptr(self, ptr):             # <<<<<<<<<<<<<<
 *         _cptr = utils.HelperInputVoidPtr(ptr)
 *         self._ptr[0].ptr = <void*><void_ptr>_cptr.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ptr); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_3ptr_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self), ((PyObject *)__pyx_v_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_3ptr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_v__cptr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3699, 0, __PYX_ERR(0, 3699, __pyx_L1_error));

  /* "cuda/cudart.pyx":3700
 *     @ptr.setter
 *     def ptr(self, ptr):
 *         _cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *         self._ptr[0].ptr = <void*><void_ptr>_cptr.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3701
 *     def ptr(self, ptr):
 *         _cptr = utils.HelperInputVoidPtr(ptr)
 *         self._ptr[0].ptr = <void*><void_ptr>_cptr.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3701, __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(0, 3701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":3699
 *         return <void_ptr>self._ptr[0].ptr
 *     @ptr.setter
 *     def ptr(self, ptr):             # <<<<<<<<<<<<<<
 *         _cptr = utils.HelperInputVoidPtr(ptr)
 *         self._ptr[0].ptr = <void*><void_ptr>_cptr.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.ptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cptr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3703
 *         self._ptr[0].ptr = <void*><void_ptr>_cptr.cptr
 *     @property
 *     def pitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pitch
 *     @pitch.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5pitch_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5pitch___get__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5pitch___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3703, 0, __PYX_ERR(0, 3703, __pyx_L1_error));

  /* "cuda/cudart.pyx":3704
 *     @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(0, 3704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3703
 *         self._ptr[0].ptr = <void*><void_ptr>_cptr.cptr
 *     @property
 *     def pitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pitch
 *     @pitch.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.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/cudart.pyx":3706
 *         return self._ptr[0].pitch
 *     @pitch.setter
 *     def pitch(self, size_t pitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pitch = pitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch) {
  size_t __pyx_v_pitch;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3706, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5pitch_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self), ((size_t)__pyx_v_pitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5pitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, size_t __pyx_v_pitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3706, 0, __PYX_ERR(0, 3706, __pyx_L1_error));

  /* "cuda/cudart.pyx":3708
 *     def pitch(self, size_t pitch):
 *         pass
 *         self._ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def xsize(self):
 */
  (__pyx_v_self->_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/cudart.pyx":3706
 *         return self._ptr[0].pitch
 *     @pitch.setter
 *     def pitch(self, size_t pitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pitch = pitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3710
 *         self._ptr[0].pitch = pitch
 *     @property
 *     def xsize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].xsize
 *     @xsize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5xsize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5xsize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5xsize___get__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5xsize___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3710, 0, __PYX_ERR(0, 3710, __pyx_L1_error));

  /* "cuda/cudart.pyx":3711
 *     @property
 *     def xsize(self):
 *         return self._ptr[0].xsize             # <<<<<<<<<<<<<<
 *     @xsize.setter
 *     def xsize(self, size_t xsize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).xsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3710
 *         self._ptr[0].pitch = pitch
 *     @property
 *     def xsize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].xsize
 *     @xsize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.xsize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3713
 *         return self._ptr[0].xsize
 *     @xsize.setter
 *     def xsize(self, size_t xsize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].xsize = xsize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5xsize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_xsize); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5xsize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_xsize) {
  size_t __pyx_v_xsize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_xsize); {
    __pyx_v_xsize = __Pyx_PyInt_As_size_t(__pyx_arg_xsize); if (unlikely((__pyx_v_xsize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3713, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.xsize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5xsize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self), ((size_t)__pyx_v_xsize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5xsize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, size_t __pyx_v_xsize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3713, 0, __PYX_ERR(0, 3713, __pyx_L1_error));

  /* "cuda/cudart.pyx":3715
 *     def xsize(self, size_t xsize):
 *         pass
 *         self._ptr[0].xsize = xsize             # <<<<<<<<<<<<<<
 *     @property
 *     def ysize(self):
 */
  (__pyx_v_self->_ptr[0]).xsize = __pyx_v_xsize;

  /* "cuda/cudart.pyx":3713
 *         return self._ptr[0].xsize
 *     @xsize.setter
 *     def xsize(self, size_t xsize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].xsize = xsize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.xsize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3717
 *         self._ptr[0].xsize = xsize
 *     @property
 *     def ysize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].ysize
 *     @ysize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5ysize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5ysize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5ysize___get__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5ysize___get__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3717, 0, __PYX_ERR(0, 3717, __pyx_L1_error));

  /* "cuda/cudart.pyx":3718
 *     @property
 *     def ysize(self):
 *         return self._ptr[0].ysize             # <<<<<<<<<<<<<<
 *     @ysize.setter
 *     def ysize(self, size_t ysize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).ysize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3717
 *         self._ptr[0].xsize = xsize
 *     @property
 *     def ysize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].ysize
 *     @ysize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.ysize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3720
 *         return self._ptr[0].ysize
 *     @ysize.setter
 *     def ysize(self, size_t ysize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].ysize = ysize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5ysize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_ysize); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5ysize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_ysize) {
  size_t __pyx_v_ysize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_ysize); {
    __pyx_v_ysize = __Pyx_PyInt_As_size_t(__pyx_arg_ysize); if (unlikely((__pyx_v_ysize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3720, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.ysize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5ysize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self), ((size_t)__pyx_v_ysize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_5ysize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, size_t __pyx_v_ysize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3720, 0, __PYX_ERR(0, 3720, __pyx_L1_error));

  /* "cuda/cudart.pyx":3722
 *     def ysize(self, size_t ysize):
 *         pass
 *         self._ptr[0].ysize = ysize             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExtent:
 */
  (__pyx_v_self->_ptr[0]).ysize = __pyx_v_ysize;

  /* "cuda/cudart.pyx":3720
 *         return self._ptr[0].ysize
 *     @ysize.setter
 *     def ysize(self, size_t ysize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].ysize = ysize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.ysize.__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_6cudart_14cudaPitchedPtr_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_10__reduce_cython__[] = "cudaPitchedPtr.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_14cudaPitchedPtr_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.__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_6cudart_14cudaPitchedPtr_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_12__setstate_cython__[] = "cudaPitchedPtr.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_14cudaPitchedPtr_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaPitchedPtr_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaPitchedPtr_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__94)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__95, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPitchedPtr.__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/cudart.pyx":3744
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_10cudaExtent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_10cudaExtent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3744, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3744, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3744, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_10cudaExtent___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3744, 0, __PYX_ERR(0, 3744, __pyx_L1_error));

  /* "cuda/cudart.pyx":3745
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3746
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExtent *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3745
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3748
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExtent *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExtent *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3744
 * 
 *     """
 *     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.cudart.cudaExtent.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3749
 *         else:
 *             self._ptr = <ccudart.cudaExtent *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_10cudaExtent_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_10cudaExtent_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3749, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3749, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3749, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_10cudaExtent_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3749, 0, __PYX_ERR(0, 3749, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3751
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_10cudaExtent_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_10cudaExtent_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_10cudaExtent_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_10cudaExtent_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3751, 0, __PYX_ERR(0, 3751, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExtent.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3753
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_10cudaExtent_6getPtr[] = "cudaExtent.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_10cudaExtent_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_10cudaExtent_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_10cudaExtent_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self) {
  PyObject *__pyx_r = 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__96)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3753, 0, __PYX_ERR(0, 3753, __pyx_L1_error));

  /* "cuda/cudart.pyx":3754
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3753
 *     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.cudart.cudaExtent.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/cudart.pyx":3755
 *     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_6cudart_10cudaExtent_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3755, 0, __PYX_ERR(0, 3755, __pyx_L1_error));

  /* "cuda/cudart.pyx":3756
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3757
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3758
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_width, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3759
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             str_list += ['depth : ' + str(self.depth)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_height, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3760
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_depth, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3761
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3756
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 */
  }

  /* "cuda/cudart.pyx":3763
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3755
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.__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/cudart.pyx":3766
 * 
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_5width_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_5width___get__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3766, 0, __PYX_ERR(0, 3766, __pyx_L1_error));

  /* "cuda/cudart.pyx":3767
 *     @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(0, 3767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3766
 * 
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.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/cudart.pyx":3769
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_10cudaExtent_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_6cudart_10cudaExtent_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3769, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_5width_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_10cudaExtent_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3769, 0, __PYX_ERR(0, 3769, __pyx_L1_error));

  /* "cuda/cudart.pyx":3771
 *     def width(self, size_t width):
 *         pass
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cudart.pyx":3769
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3773
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_6height_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_6height___get__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3773, 0, __PYX_ERR(0, 3773, __pyx_L1_error));

  /* "cuda/cudart.pyx":3774
 *     @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(0, 3774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3773
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.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/cudart.pyx":3776
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_10cudaExtent_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_6cudart_10cudaExtent_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3776, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_6height_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_10cudaExtent_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3776, 0, __PYX_ERR(0, 3776, __pyx_L1_error));

  /* "cuda/cudart.pyx":3778
 *     def height(self, size_t height):
 *         pass
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cudart.pyx":3776
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3780
 *         self._ptr[0].height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].depth
 *     @depth.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_5depth_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_5depth___get__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_5depth___get__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3780, 0, __PYX_ERR(0, 3780, __pyx_L1_error));

  /* "cuda/cudart.pyx":3781
 *     @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(0, 3781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3780
 *         self._ptr[0].height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].depth
 *     @depth.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.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/cudart.pyx":3783
 *         return self._ptr[0].depth
 *     @depth.setter
 *     def depth(self, size_t depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].depth = depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_10cudaExtent_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_6cudart_10cudaExtent_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  size_t __pyx_v_depth;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 3783, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_5depth_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self), ((size_t)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_10cudaExtent_5depth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, size_t __pyx_v_depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3783, 0, __PYX_ERR(0, 3783, __pyx_L1_error));

  /* "cuda/cudart.pyx":3785
 *     def depth(self, size_t depth):
 *         pass
 *         self._ptr[0].depth = depth             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaPos:
 */
  (__pyx_v_self->_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/cudart.pyx":3783
 *         return self._ptr[0].depth
 *     @depth.setter
 *     def depth(self, size_t depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].depth = depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.depth.__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_6cudart_10cudaExtent_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_10cudaExtent_10__reduce_cython__[] = "cudaExtent.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_10cudaExtent_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10cudaExtent_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_10cudaExtent_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self) {
  PyObject *__pyx_r = 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__97)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__98, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.__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_6cudart_10cudaExtent_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_10cudaExtent_12__setstate_cython__[] = "cudaExtent.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_10cudaExtent_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10cudaExtent_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_10cudaExtent_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_10cudaExtent_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaExtent_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaExtent_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__99)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExtent.__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/cudart.pyx":3806
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_7cudaPos_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_7cudaPos_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3806, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3806, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3806, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_7cudaPos___cinit__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3806, 0, __PYX_ERR(0, 3806, __pyx_L1_error));

  /* "cuda/cudart.pyx":3807
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3808
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaPos *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3807
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3810
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaPos *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaPos *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3806
 * 
 *     """
 *     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.cudart.cudaPos.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3811
 *         else:
 *             self._ptr = <ccudart.cudaPos *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_7cudaPos_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_7cudaPos_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3811, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3811, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3811, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_7cudaPos_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3811, 0, __PYX_ERR(0, 3811, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3813
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_7cudaPos_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_7cudaPos_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_7cudaPos_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_7cudaPos_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3813, 0, __PYX_ERR(0, 3813, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaPos.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3815
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_7cudaPos_6getPtr[] = "cudaPos.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_7cudaPos_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_7cudaPos_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_7cudaPos_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3815, 0, __PYX_ERR(0, 3815, __pyx_L1_error));

  /* "cuda/cudart.pyx":3816
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3815
 *     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.cudart.cudaPos.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/cudart.pyx":3817
 *     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_6cudart_7cudaPos_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaPos *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3817, 0, __PYX_ERR(0, 3817, __pyx_L1_error));

  /* "cuda/cudart.pyx":3818
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3819
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3820
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]             # <<<<<<<<<<<<<<
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_x_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_x, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3821
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]             # <<<<<<<<<<<<<<
 *             str_list += ['z : ' + str(self.z)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_y_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_y, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3822
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_z, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3823
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3818
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  }

  /* "cuda/cudart.pyx":3825
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3817
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaPos.__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/cudart.pyx":3828
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].x
 *     @x.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_1x_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_1x___get__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_1x___get__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3828, 0, __PYX_ERR(0, 3828, __pyx_L1_error));

  /* "cuda/cudart.pyx":3829
 *     @property
 *     def x(self):
 *         return self._ptr[0].x             # <<<<<<<<<<<<<<
 *     @x.setter
 *     def x(self, size_t x):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3828
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].x
 *     @x.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPos.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/cudart.pyx":3831
 *         return self._ptr[0].x
 *     @x.setter
 *     def x(self, size_t x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].x = x
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_7cudaPos_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_6cudart_7cudaPos_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x) {
  size_t __pyx_v_x;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_x); {
    __pyx_v_x = __Pyx_PyInt_As_size_t(__pyx_arg_x); if (unlikely((__pyx_v_x == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3831, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_1x_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self), ((size_t)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_7cudaPos_1x_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, size_t __pyx_v_x) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3831, 0, __PYX_ERR(0, 3831, __pyx_L1_error));

  /* "cuda/cudart.pyx":3833
 *     def x(self, size_t x):
 *         pass
 *         self._ptr[0].x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
 */
  (__pyx_v_self->_ptr[0]).x = __pyx_v_x;

  /* "cuda/cudart.pyx":3831
 *         return self._ptr[0].x
 *     @x.setter
 *     def x(self, size_t x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].x = x
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3835
 *         self._ptr[0].x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].y
 *     @y.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_1y_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_1y___get__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_1y___get__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3835, 0, __PYX_ERR(0, 3835, __pyx_L1_error));

  /* "cuda/cudart.pyx":3836
 *     @property
 *     def y(self):
 *         return self._ptr[0].y             # <<<<<<<<<<<<<<
 *     @y.setter
 *     def y(self, size_t y):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3835
 *         self._ptr[0].x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].y
 *     @y.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPos.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/cudart.pyx":3838
 *         return self._ptr[0].y
 *     @y.setter
 *     def y(self, size_t y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].y = y
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_7cudaPos_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_6cudart_7cudaPos_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y) {
  size_t __pyx_v_y;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_y); {
    __pyx_v_y = __Pyx_PyInt_As_size_t(__pyx_arg_y); if (unlikely((__pyx_v_y == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3838, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_1y_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self), ((size_t)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_7cudaPos_1y_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, size_t __pyx_v_y) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3838, 0, __PYX_ERR(0, 3838, __pyx_L1_error));

  /* "cuda/cudart.pyx":3840
 *     def y(self, size_t y):
 *         pass
 *         self._ptr[0].y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
 */
  (__pyx_v_self->_ptr[0]).y = __pyx_v_y;

  /* "cuda/cudart.pyx":3838
 *         return self._ptr[0].y
 *     @y.setter
 *     def y(self, size_t y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].y = y
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3842
 *         self._ptr[0].y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].z
 *     @z.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_1z_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_1z___get__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_1z___get__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3842, 0, __PYX_ERR(0, 3842, __pyx_L1_error));

  /* "cuda/cudart.pyx":3843
 *     @property
 *     def z(self):
 *         return self._ptr[0].z             # <<<<<<<<<<<<<<
 *     @z.setter
 *     def z(self, size_t z):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3842
 *         self._ptr[0].y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].z
 *     @z.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPos.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/cudart.pyx":3845
 *         return self._ptr[0].z
 *     @z.setter
 *     def z(self, size_t z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].z = z
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_7cudaPos_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_6cudart_7cudaPos_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z) {
  size_t __pyx_v_z;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_z); {
    __pyx_v_z = __Pyx_PyInt_As_size_t(__pyx_arg_z); if (unlikely((__pyx_v_z == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 3845, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_1z_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self), ((size_t)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_7cudaPos_1z_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, size_t __pyx_v_z) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3845, 0, __PYX_ERR(0, 3845, __pyx_L1_error));

  /* "cuda/cudart.pyx":3847
 *     def z(self, size_t z):
 *         pass
 *         self._ptr[0].z = z             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMemcpy3DParms:
 */
  (__pyx_v_self->_ptr[0]).z = __pyx_v_z;

  /* "cuda/cudart.pyx":3845
 *         return self._ptr[0].z
 *     @z.setter
 *     def z(self, size_t z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].z = z
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPos.z.__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_6cudart_7cudaPos_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_7cudaPos_10__reduce_cython__[] = "cudaPos.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_7cudaPos_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_7cudaPos_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_7cudaPos_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self) {
  PyObject *__pyx_r = 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__102)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__103, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPos.__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_6cudart_7cudaPos_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_7cudaPos_12__setstate_cython__[] = "cudaPos.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_7cudaPos_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_7cudaPos_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_7cudaPos_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_7cudaPos_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_7cudaPos_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_7cudaPos_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__105, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPos.__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/cudart.pyx":3878
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3878, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3878, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3878, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3878, 0, __PYX_ERR(0, 3878, __pyx_L1_error));

  /* "cuda/cudart.pyx":3879
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3880
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":3879
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3882
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemcpy3DParms *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3878
 * 
 *     """
 *     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.cudart.cudaMemcpy3DParms.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3883
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 3883, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 3883, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3883, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 3883, 0, __PYX_ERR(0, 3883, __pyx_L1_error));

  /* "cuda/cudart.pyx":3884
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).srcArray))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 3884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_srcArray);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_srcArray));
  __pyx_v_self->_srcArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3885
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)             # <<<<<<<<<<<<<<
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).srcPos))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 3885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_srcPos);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_srcPos));
  __pyx_v_self->_srcPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3886
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)             # <<<<<<<<<<<<<<
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).srcPtr))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 3886, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_srcPtr);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_srcPtr));
  __pyx_v_self->_srcPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3887
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).dstArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 3887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_dstArray);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_dstArray));
  __pyx_v_self->_dstArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3888
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)             # <<<<<<<<<<<<<<
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).dstPos))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 3888, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_dstPos);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_dstPos));
  __pyx_v_self->_dstPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3889
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)             # <<<<<<<<<<<<<<
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).dstPtr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 3889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_dstPtr);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_dstPtr));
  __pyx_v_self->_dstPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3890
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).extent))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 3890, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_extent);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_extent));
  __pyx_v_self->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3883
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 */

  /* 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.cudart.cudaMemcpy3DParms.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3891
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3891, 0, __PYX_ERR(0, 3891, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemcpy3DParms.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":3893
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_6getPtr[] = "cudaMemcpy3DParms.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaMemcpy3DParms_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self) {
  PyObject *__pyx_r = 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__106)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3893, 0, __PYX_ERR(0, 3893, __pyx_L1_error));

  /* "cuda/cudart.pyx":3894
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3893
 *     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.cudart.cudaMemcpy3DParms.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/cudart.pyx":3895
 *     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_6cudart_17cudaMemcpy3DParms_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_8genexpr1__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr2__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr3__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr4__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr5__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 3895, 0, __PYX_ERR(0, 3895, __pyx_L1_error));

  /* "cuda/cudart.pyx":3896
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3897
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3898
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_srcArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_srcArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3899
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3899, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_srcPos_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3899, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3899, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3899, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3899, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3899, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr1__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3899, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 3899, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line); __pyx_8genexpr1__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line); __pyx_8genexpr1__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_srcPos, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3900
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3900, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_srcPtr_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3900, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3900, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3900, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3900, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3900, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr2__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3900, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 3900, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_line); __pyx_8genexpr2__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_line); __pyx_8genexpr2__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_srcPtr, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3901
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 *             str_list += ['dstArray : ' + str(self.dstArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dstArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_dstArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3902
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3902, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dstPos_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3902, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3902, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3902, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3902, __pyx_L18_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3902, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr3__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr3__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3902, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 3902, __pyx_L18_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_line); __pyx_8genexpr3__pyx_v_line = 0;
      goto __pyx_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_line); __pyx_8genexpr3__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_dstPos, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3903
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             str_list += ['kind : ' + str(self.kind)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3903, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dstPtr_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3903, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3903, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3903, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3903, __pyx_L24_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3903, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr4__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3903, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 3903, __pyx_L24_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_line); __pyx_8genexpr4__pyx_v_line = 0;
      goto __pyx_L27_exit_scope;
      __pyx_L24_error:;
      __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_line); __pyx_8genexpr4__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L27_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_dstPtr, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3904
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['kind : ' + str(self.kind)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3904, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extent_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3904, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3904, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3904, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3904, __pyx_L30_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3904, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr5__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3904, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 3904, __pyx_L30_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_line); __pyx_8genexpr5__pyx_v_line = 0;
      goto __pyx_L33_exit_scope;
      __pyx_L30_error:;
      __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_line); __pyx_8genexpr5__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L33_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extent, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3905
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             str_list += ['kind : ' + str(self.kind)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kind_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_kind, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3906
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             str_list += ['kind : ' + str(self.kind)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3896
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 */
  }

  /* "cuda/cudart.pyx":3908
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3895
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3911
 * 
 *     @property
 *     def srcArray(self):             # <<<<<<<<<<<<<<
 *         return self._srcArray
 *     @srcArray.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3911, 0, __PYX_ERR(0, 3911, __pyx_L1_error));

  /* "cuda/cudart.pyx":3912
 *     @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/cudart.pyx":3911
 * 
 *     @property
 *     def srcArray(self):             # <<<<<<<<<<<<<<
 *         return self._srcArray
 *     @srcArray.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.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/cudart.pyx":3914
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  cudaArray_t __pyx_v_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3914, 0, __PYX_ERR(0, 3914, __pyx_L1_error));

  /* "cuda/cudart.pyx":3916
 *     def srcArray(self, srcArray):
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":3917
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (cudaArray_t)):
 *             psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":3916
 *     def srcArray(self, srcArray):
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3918
 *         if srcArray is None:
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3919
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcArray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":3920
 *         elif isinstance(srcArray, (cudaArray_t)):
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(cudaArray_t(srcArray))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 3920, __pyx_L1_error)
    __pyx_v_csrcArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":3918
 *         if srcArray is None:
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3922
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(cudaArray_t(srcArray))             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_srcArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrcArray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":3923
 *         else:
 *             psrcArray = int(cudaArray_t(srcArray))
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 3923, __pyx_L1_error)
    __pyx_v_csrcArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3924
 *             psrcArray = int(cudaArray_t(srcArray))
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPos(self):
 */
  (__pyx_v_self->_srcArray->_ptr[0]) = __pyx_v_csrcArray;

  /* "cuda/cudart.pyx":3914
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.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/cudart.pyx":3926
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 *     def srcPos(self):             # <<<<<<<<<<<<<<
 *         return self._srcPos
 *     @srcPos.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3926, 0, __PYX_ERR(0, 3926, __pyx_L1_error));

  /* "cuda/cudart.pyx":3927
 *     @property
 *     def srcPos(self):
 *         return self._srcPos             # <<<<<<<<<<<<<<
 *     @srcPos.setter
 *     def srcPos(self, srcPos not None : cudaPos):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_srcPos));
  __pyx_r = ((PyObject *)__pyx_v_self->_srcPos);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3926
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 *     def srcPos(self):             # <<<<<<<<<<<<<<
 *         return self._srcPos
 *     @srcPos.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.srcPos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3929
 *         return self._srcPos
 *     @srcPos.setter
 *     def srcPos(self, srcPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPos):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPos); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPos) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_srcPos), __pyx_ptype_4cuda_6cudart_cudaPos, 0, "srcPos", 0))) __PYX_ERR(0, 3929, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_srcPos));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_srcPos) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3929, 0, __PYX_ERR(0, 3929, __pyx_L1_error));

  /* "cuda/cudart.pyx":3931
 *     def srcPos(self, srcPos not None : cudaPos):
 *         pass
 *         for _attr in dir(srcPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_srcPos)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3931, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3931, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3931, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3931, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3931, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 3931, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":3932
 *         pass
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3932, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3933
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":3932
 *         pass
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3934
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3934, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":3935
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPtr(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_srcPos);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_srcPos), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3935, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 3935, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3934
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3931
 *     def srcPos(self, srcPos not None : cudaPos):
 *         pass
 *         for _attr in dir(srcPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3929
 *         return self._srcPos
 *     @srcPos.setter
 *     def srcPos(self, srcPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPos):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.srcPos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3937
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 *     def srcPtr(self):             # <<<<<<<<<<<<<<
 *         return self._srcPtr
 *     @srcPtr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3937, 0, __PYX_ERR(0, 3937, __pyx_L1_error));

  /* "cuda/cudart.pyx":3938
 *     @property
 *     def srcPtr(self):
 *         return self._srcPtr             # <<<<<<<<<<<<<<
 *     @srcPtr.setter
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_srcPtr));
  __pyx_r = ((PyObject *)__pyx_v_self->_srcPtr);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3937
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 *     def srcPtr(self):             # <<<<<<<<<<<<<<
 *         return self._srcPtr
 *     @srcPtr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.srcPtr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3940
 *         return self._srcPtr
 *     @srcPtr.setter
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPtr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPtr); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPtr) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_srcPtr), __pyx_ptype_4cuda_6cudart_cudaPitchedPtr, 0, "srcPtr", 0))) __PYX_ERR(0, 3940, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_srcPtr));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_srcPtr) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3940, 0, __PYX_ERR(0, 3940, __pyx_L1_error));

  /* "cuda/cudart.pyx":3942
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(srcPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_srcPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3942, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3942, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3942, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3942, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3942, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 3942, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":3943
 *         pass
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3943, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3944
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":3943
 *         pass
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3945
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":3946
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def dstArray(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_srcPtr);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_srcPtr), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3946, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 3946, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3945
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3942
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(srcPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3940
 *         return self._srcPtr
 *     @srcPtr.setter
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPtr):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.srcPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3948
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 *     def dstArray(self):             # <<<<<<<<<<<<<<
 *         return self._dstArray
 *     @dstArray.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3948, 0, __PYX_ERR(0, 3948, __pyx_L1_error));

  /* "cuda/cudart.pyx":3949
 *     @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/cudart.pyx":3948
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 *     def dstArray(self):             # <<<<<<<<<<<<<<
 *         return self._dstArray
 *     @dstArray.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.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/cudart.pyx":3951
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  cudaArray_t __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3951, 0, __PYX_ERR(0, 3951, __pyx_L1_error));

  /* "cuda/cudart.pyx":3953
 *     def dstArray(self, dstArray):
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":3954
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (cudaArray_t)):
 *             pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":3953
 *     def dstArray(self, dstArray):
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3955
 *         if dstArray is None:
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3956
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstArray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":3957
 *         elif isinstance(dstArray, (cudaArray_t)):
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(cudaArray_t(dstArray))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 3957, __pyx_L1_error)
    __pyx_v_cdstArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":3955
 *         if dstArray is None:
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3959
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(cudaArray_t(dstArray))             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dstArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3959, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3959, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdstArray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":3960
 *         else:
 *             pdstArray = int(cudaArray_t(dstArray))
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 3960, __pyx_L1_error)
    __pyx_v_cdstArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3961
 *             pdstArray = int(cudaArray_t(dstArray))
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPos(self):
 */
  (__pyx_v_self->_dstArray->_ptr[0]) = __pyx_v_cdstArray;

  /* "cuda/cudart.pyx":3951
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.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/cudart.pyx":3963
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 *     def dstPos(self):             # <<<<<<<<<<<<<<
 *         return self._dstPos
 *     @dstPos.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3963, 0, __PYX_ERR(0, 3963, __pyx_L1_error));

  /* "cuda/cudart.pyx":3964
 *     @property
 *     def dstPos(self):
 *         return self._dstPos             # <<<<<<<<<<<<<<
 *     @dstPos.setter
 *     def dstPos(self, dstPos not None : cudaPos):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_dstPos));
  __pyx_r = ((PyObject *)__pyx_v_self->_dstPos);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3963
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 *     def dstPos(self):             # <<<<<<<<<<<<<<
 *         return self._dstPos
 *     @dstPos.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.dstPos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3966
 *         return self._dstPos
 *     @dstPos.setter
 *     def dstPos(self, dstPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPos):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPos); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPos) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dstPos), __pyx_ptype_4cuda_6cudart_cudaPos, 0, "dstPos", 0))) __PYX_ERR(0, 3966, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_dstPos));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_dstPos) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3966, 0, __PYX_ERR(0, 3966, __pyx_L1_error));

  /* "cuda/cudart.pyx":3968
 *     def dstPos(self, dstPos not None : cudaPos):
 *         pass
 *         for _attr in dir(dstPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_dstPos)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3968, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3968, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3968, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3968, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3968, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 3968, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":3969
 *         pass
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3969, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3970
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":3969
 *         pass
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3971
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3971, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":3972
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPtr(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_dstPos);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_dstPos), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3972, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 3972, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3971
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3968
 *     def dstPos(self, dstPos not None : cudaPos):
 *         pass
 *         for _attr in dir(dstPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3966
 *         return self._dstPos
 *     @dstPos.setter
 *     def dstPos(self, dstPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPos):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.dstPos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3974
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 *     def dstPtr(self):             # <<<<<<<<<<<<<<
 *         return self._dstPtr
 *     @dstPtr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3974, 0, __PYX_ERR(0, 3974, __pyx_L1_error));

  /* "cuda/cudart.pyx":3975
 *     @property
 *     def dstPtr(self):
 *         return self._dstPtr             # <<<<<<<<<<<<<<
 *     @dstPtr.setter
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_dstPtr));
  __pyx_r = ((PyObject *)__pyx_v_self->_dstPtr);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3974
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 *     def dstPtr(self):             # <<<<<<<<<<<<<<
 *         return self._dstPtr
 *     @dstPtr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.dstPtr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3977
 *         return self._dstPtr
 *     @dstPtr.setter
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPtr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPtr); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPtr) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dstPtr), __pyx_ptype_4cuda_6cudart_cudaPitchedPtr, 0, "dstPtr", 0))) __PYX_ERR(0, 3977, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_dstPtr));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_dstPtr) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3977, 0, __PYX_ERR(0, 3977, __pyx_L1_error));

  /* "cuda/cudart.pyx":3979
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(dstPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_dstPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3979, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3979, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3979, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3979, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3979, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 3979, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":3980
 *         pass
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3980, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3981
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":3980
 *         pass
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3982
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3982, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":3983
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def extent(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_dstPtr);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_dstPtr), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3983, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 3983, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3982
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3979
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(dstPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3977
 *         return self._dstPtr
 *     @dstPtr.setter
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPtr):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.dstPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3985
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 *     def extent(self):             # <<<<<<<<<<<<<<
 *         return self._extent
 *     @extent.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6extent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6extent_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6extent___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6extent___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3985, 0, __PYX_ERR(0, 3985, __pyx_L1_error));

  /* "cuda/cudart.pyx":3986
 *     @property
 *     def extent(self):
 *         return self._extent             # <<<<<<<<<<<<<<
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_extent));
  __pyx_r = ((PyObject *)__pyx_v_self->_extent);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3985
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 *     def extent(self):             # <<<<<<<<<<<<<<
 *         return self._extent
 *     @extent.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.extent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3988
 *         return self._extent
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(extent):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 3988, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6extent_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_extent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_6extent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3988, 0, __PYX_ERR(0, 3988, __pyx_L1_error));

  /* "cuda/cudart.pyx":3990
 *     def extent(self, extent not None : cudaExtent):
 *         pass
 *         for _attr in dir(extent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_extent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3990, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3990, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3990, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3990, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3990, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 3990, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":3991
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3991, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3992
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":3991
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3993
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3993, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":3994
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._extent, _attr, getattr(extent, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def kind(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_extent);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_extent), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3994, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 3994, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3993
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3990
 *     def extent(self, extent not None : cudaExtent):
 *         pass
 *         for _attr in dir(extent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3988
 *         return self._extent
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(extent):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.extent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3996
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 *     def kind(self):             # <<<<<<<<<<<<<<
 *         return cudaMemcpyKind(self._ptr[0].kind)
 *     @kind.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_4kind_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_4kind_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4kind___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4kind___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 3996, 0, __PYX_ERR(0, 3996, __pyx_L1_error));

  /* "cuda/cudart.pyx":3997
 *     @property
 *     def kind(self):
 *         return cudaMemcpyKind(self._ptr[0].kind)             # <<<<<<<<<<<<<<
 *     @kind.setter
 *     def kind(self, kind not None : cudaMemcpyKind):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaMemcpyKind((__pyx_v_self->_ptr[0]).kind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 3997, __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/cudart.pyx":3996
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 *     def kind(self):             # <<<<<<<<<<<<<<
 *         return cudaMemcpyKind(self._ptr[0].kind)
 *     @kind.setter
 */

  /* 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.cudart.cudaMemcpy3DParms.kind.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3999
 *         return cudaMemcpyKind(self._ptr[0].kind)
 *     @kind.setter
 *     def kind(self, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].kind = kind.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_4kind_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kind); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_4kind_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kind) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 3999, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4kind_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((PyObject *)__pyx_v_kind));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_4kind_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, PyObject *__pyx_v_kind) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaMemcpyKind __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 3999, 0, __PYX_ERR(0, 3999, __pyx_L1_error));

  /* "cuda/cudart.pyx":4001
 *     def kind(self, kind not None : cudaMemcpyKind):
 *         pass
 *         self._ptr[0].kind = kind.value             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMemcpy3DPeerParms:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4001, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).kind = __pyx_t_2;

  /* "cuda/cudart.pyx":3999
 *         return cudaMemcpyKind(self._ptr[0].kind)
 *     @kind.setter
 *     def kind(self, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].kind = kind.value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.kind.__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_6cudart_17cudaMemcpy3DParms_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_10__reduce_cython__[] = "cudaMemcpy3DParms.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaMemcpy3DParms_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__108, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.__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_6cudart_17cudaMemcpy3DParms_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_12__setstate_cython__[] = "cudaMemcpy3DParms.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaMemcpy3DParms_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__109)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__110, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.__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/cudart.pyx":4034
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4034, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4034, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4034, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4034, 0, __PYX_ERR(0, 4034, __pyx_L1_error));

  /* "cuda/cudart.pyx":4035
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4036
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":4035
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4038
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemcpy3DPeerParms *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4034
 * 
 *     """
 *     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.cudart.cudaMemcpy3DPeerParms.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4039
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4039, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4039, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4039, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4039, 0, __PYX_ERR(0, 4039, __pyx_L1_error));

  /* "cuda/cudart.pyx":4040
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).srcArray))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4040, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_srcArray);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_srcArray));
  __pyx_v_self->_srcArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4041
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)             # <<<<<<<<<<<<<<
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).srcPos))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 4041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_srcPos);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_srcPos));
  __pyx_v_self->_srcPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4042
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)             # <<<<<<<<<<<<<<
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).srcPtr))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_srcPtr);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_srcPtr));
  __pyx_v_self->_srcPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4043
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).dstArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 4043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_dstArray);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_dstArray));
  __pyx_v_self->_dstArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4044
 *         self._srcPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].srcPtr)
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)             # <<<<<<<<<<<<<<
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).dstPos))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4044, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_dstPos);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_dstPos));
  __pyx_v_self->_dstPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4045
 *         self._dstArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)             # <<<<<<<<<<<<<<
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).dstPtr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 4045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_dstPtr);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_dstPtr));
  __pyx_v_self->_dstPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4046
 *         self._dstPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].dstPos)
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).extent))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_extent);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_extent));
  __pyx_v_self->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4039
 *         else:
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcPos = cudaPos(_ptr=<void_ptr>&self._ptr[0].srcPos)
 */

  /* 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.cudart.cudaMemcpy3DPeerParms.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4047
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4047, 0, __PYX_ERR(0, 4047, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemcpy3DPeerParms.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":4049
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_6getPtr[] = "cudaMemcpy3DPeerParms.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaMemcpy3DPeerParms_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self) {
  PyObject *__pyx_r = 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__111)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4049, 0, __PYX_ERR(0, 4049, __pyx_L1_error));

  /* "cuda/cudart.pyx":4050
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4049
 *     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.cudart.cudaMemcpy3DPeerParms.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/cudart.pyx":4051
 *     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_6cudart_21cudaMemcpy3DPeerParms_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_8genexpr6__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr7__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr8__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr9__pyx_v_line = 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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4051, 0, __PYX_ERR(0, 4051, __pyx_L1_error));

  /* "cuda/cudart.pyx":4052
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4053
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4054
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_srcArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_srcArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4055
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 *             str_list += ['srcDevice : ' + str(self.srcDevice)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4055, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_srcPos_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4055, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4055, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4055, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4055, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4055, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr6__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4055, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4055, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_line); __pyx_8genexpr6__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_line); __pyx_8genexpr6__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_srcPos, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4056
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4056, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_srcPtr_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4056, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4056, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4056, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4056, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4056, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr7__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4056, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 4056, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_line); __pyx_8genexpr7__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_line); __pyx_8genexpr7__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_srcPtr, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4057
 *             str_list += ['srcPos :\n' + '\n'.join(['    ' + line for line in str(self.srcPos).splitlines()])]
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 *             str_list += ['srcDevice : ' + str(self.srcDevice)]             # <<<<<<<<<<<<<<
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_srcDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_srcDevice, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4058
 *             str_list += ['srcPtr :\n' + '\n'.join(['    ' + line for line in str(self.srcPtr).splitlines()])]
 *             str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             str_list += ['dstArray : ' + str(self.dstArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dstArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_dstArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4059
 *             str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 *             str_list += ['dstDevice : ' + str(self.dstDevice)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4059, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dstPos_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4059, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4059, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4059, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4059, __pyx_L18_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4059, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr8__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4059, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4059, __pyx_L18_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_line); __pyx_8genexpr8__pyx_v_line = 0;
      goto __pyx_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_line); __pyx_8genexpr8__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_dstPos, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4060
 *             str_list += ['dstArray : ' + str(self.dstArray)]
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4060, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dstPtr_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4060, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4060, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4060, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4060, __pyx_L24_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4060, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_8genexpr9__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_8genexpr9__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4060, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 4060, __pyx_L24_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_line); __pyx_8genexpr9__pyx_v_line = 0;
      goto __pyx_L27_exit_scope;
      __pyx_L24_error:;
      __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_line); __pyx_8genexpr9__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L27_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_dstPtr, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4061
 *             str_list += ['dstPos :\n' + '\n'.join(['    ' + line for line in str(self.dstPos).splitlines()])]
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 *             str_list += ['dstDevice : ' + str(self.dstDevice)]             # <<<<<<<<<<<<<<
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dstDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_dstDevice, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4062
 *             str_list += ['dstPtr :\n' + '\n'.join(['    ' + line for line in str(self.dstPtr).splitlines()])]
 *             str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4062, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extent_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4062, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4062, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4062, __pyx_L30_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4062, __pyx_L30_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4062, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr10__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr10__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4062, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4062, __pyx_L30_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_line); __pyx_9genexpr10__pyx_v_line = 0;
      goto __pyx_L33_exit_scope;
      __pyx_L30_error:;
      __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_line); __pyx_9genexpr10__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L33_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extent, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4063
 *             str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4052
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['srcArray : ' + str(self.srcArray)]
 */
  }

  /* "cuda/cudart.pyx":4065
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4051
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr7__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4068
 * 
 *     @property
 *     def srcArray(self):             # <<<<<<<<<<<<<<
 *         return self._srcArray
 *     @srcArray.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4068, 0, __PYX_ERR(0, 4068, __pyx_L1_error));

  /* "cuda/cudart.pyx":4069
 *     @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/cudart.pyx":4068
 * 
 *     @property
 *     def srcArray(self):             # <<<<<<<<<<<<<<
 *         return self._srcArray
 *     @srcArray.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.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/cudart.pyx":4071
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  cudaArray_t __pyx_v_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4071, 0, __PYX_ERR(0, 4071, __pyx_L1_error));

  /* "cuda/cudart.pyx":4073
 *     def srcArray(self, srcArray):
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":4074
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (cudaArray_t)):
 *             psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":4073
 *     def srcArray(self, srcArray):
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4075
 *         if srcArray is None:
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4076
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrcArray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":4077
 *         elif isinstance(srcArray, (cudaArray_t)):
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(cudaArray_t(srcArray))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4077, __pyx_L1_error)
    __pyx_v_csrcArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":4075
 *         if srcArray is None:
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(srcArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4079
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(cudaArray_t(srcArray))             # <<<<<<<<<<<<<<
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_srcArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrcArray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":4080
 *         else:
 *             psrcArray = int(cudaArray_t(srcArray))
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4080, __pyx_L1_error)
    __pyx_v_csrcArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4081
 *             psrcArray = int(cudaArray_t(srcArray))
 *             csrcArray = <ccudart.cudaArray_t><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPos(self):
 */
  (__pyx_v_self->_srcArray->_ptr[0]) = __pyx_v_csrcArray;

  /* "cuda/cudart.pyx":4071
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t csrcArray
 *         if srcArray is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.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/cudart.pyx":4083
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 *     def srcPos(self):             # <<<<<<<<<<<<<<
 *         return self._srcPos
 *     @srcPos.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4083, 0, __PYX_ERR(0, 4083, __pyx_L1_error));

  /* "cuda/cudart.pyx":4084
 *     @property
 *     def srcPos(self):
 *         return self._srcPos             # <<<<<<<<<<<<<<
 *     @srcPos.setter
 *     def srcPos(self, srcPos not None : cudaPos):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_srcPos));
  __pyx_r = ((PyObject *)__pyx_v_self->_srcPos);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4083
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 *     def srcPos(self):             # <<<<<<<<<<<<<<
 *         return self._srcPos
 *     @srcPos.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.srcPos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4086
 *         return self._srcPos
 *     @srcPos.setter
 *     def srcPos(self, srcPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPos):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPos); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPos) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_srcPos), __pyx_ptype_4cuda_6cudart_cudaPos, 0, "srcPos", 0))) __PYX_ERR(0, 4086, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_srcPos));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_srcPos) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4086, 0, __PYX_ERR(0, 4086, __pyx_L1_error));

  /* "cuda/cudart.pyx":4088
 *     def srcPos(self, srcPos not None : cudaPos):
 *         pass
 *         for _attr in dir(srcPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_srcPos)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4088, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4088, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4088, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4088, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4088, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4088, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4089
 *         pass
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4089, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4090
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4089
 *         pass
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4091
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4091, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4092
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPtr(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_srcPos);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_srcPos), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4092, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4092, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4091
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4088
 *     def srcPos(self, srcPos not None : cudaPos):
 *         pass
 *         for _attr in dir(srcPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4086
 *         return self._srcPos
 *     @srcPos.setter
 *     def srcPos(self, srcPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPos):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.srcPos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4094
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 *     def srcPtr(self):             # <<<<<<<<<<<<<<
 *         return self._srcPtr
 *     @srcPtr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4094, 0, __PYX_ERR(0, 4094, __pyx_L1_error));

  /* "cuda/cudart.pyx":4095
 *     @property
 *     def srcPtr(self):
 *         return self._srcPtr             # <<<<<<<<<<<<<<
 *     @srcPtr.setter
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_srcPtr));
  __pyx_r = ((PyObject *)__pyx_v_self->_srcPtr);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4094
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 *     def srcPtr(self):             # <<<<<<<<<<<<<<
 *         return self._srcPtr
 *     @srcPtr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.srcPtr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4097
 *         return self._srcPtr
 *     @srcPtr.setter
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPtr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPtr); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcPtr) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_srcPtr), __pyx_ptype_4cuda_6cudart_cudaPitchedPtr, 0, "srcPtr", 0))) __PYX_ERR(0, 4097, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_srcPtr));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_srcPtr) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4097, 0, __PYX_ERR(0, 4097, __pyx_L1_error));

  /* "cuda/cudart.pyx":4099
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(srcPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_srcPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4099, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4099, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4099, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4099, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4099, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4099, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4100
 *         pass
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4100, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4101
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4100
 *         pass
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4102
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4103
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def srcDevice(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_srcPtr);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_srcPtr), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4103, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4102
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4099
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(srcPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4097
 *         return self._srcPtr
 *     @srcPtr.setter
 *     def srcPtr(self, srcPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(srcPtr):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.srcPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4105
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 *     def srcDevice(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].srcDevice
 *     @srcDevice.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4105, 0, __PYX_ERR(0, 4105, __pyx_L1_error));

  /* "cuda/cudart.pyx":4106
 *     @property
 *     def srcDevice(self):
 *         return self._ptr[0].srcDevice             # <<<<<<<<<<<<<<
 *     @srcDevice.setter
 *     def srcDevice(self, int srcDevice):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).srcDevice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4105
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 *     def srcDevice(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].srcDevice
 *     @srcDevice.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.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/cudart.pyx":4108
 *         return self._ptr[0].srcDevice
 *     @srcDevice.setter
 *     def srcDevice(self, int srcDevice):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].srcDevice = srcDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcDevice); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcDevice) {
  int __pyx_v_srcDevice;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_srcDevice); {
    __pyx_v_srcDevice = __Pyx_PyInt_As_int(__pyx_arg_srcDevice); if (unlikely((__pyx_v_srcDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4108, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((int)__pyx_v_srcDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, int __pyx_v_srcDevice) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4108, 0, __PYX_ERR(0, 4108, __pyx_L1_error));

  /* "cuda/cudart.pyx":4110
 *     def srcDevice(self, int srcDevice):
 *         pass
 *         self._ptr[0].srcDevice = srcDevice             # <<<<<<<<<<<<<<
 *     @property
 *     def dstArray(self):
 */
  (__pyx_v_self->_ptr[0]).srcDevice = __pyx_v_srcDevice;

  /* "cuda/cudart.pyx":4108
 *         return self._ptr[0].srcDevice
 *     @srcDevice.setter
 *     def srcDevice(self, int srcDevice):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].srcDevice = srcDevice
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4112
 *         self._ptr[0].srcDevice = srcDevice
 *     @property
 *     def dstArray(self):             # <<<<<<<<<<<<<<
 *         return self._dstArray
 *     @dstArray.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4112, 0, __PYX_ERR(0, 4112, __pyx_L1_error));

  /* "cuda/cudart.pyx":4113
 *     @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/cudart.pyx":4112
 *         self._ptr[0].srcDevice = srcDevice
 *     @property
 *     def dstArray(self):             # <<<<<<<<<<<<<<
 *         return self._dstArray
 *     @dstArray.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.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/cudart.pyx":4115
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  cudaArray_t __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4115, 0, __PYX_ERR(0, 4115, __pyx_L1_error));

  /* "cuda/cudart.pyx":4117
 *     def dstArray(self, dstArray):
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":4118
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (cudaArray_t)):
 *             pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":4117
 *     def dstArray(self, dstArray):
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4119
 *         if dstArray is None:
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4120
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdstArray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":4121
 *         elif isinstance(dstArray, (cudaArray_t)):
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(cudaArray_t(dstArray))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4121, __pyx_L1_error)
    __pyx_v_cdstArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":4119
 *         if dstArray is None:
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(dstArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4123
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(cudaArray_t(dstArray))             # <<<<<<<<<<<<<<
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dstArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdstArray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":4124
 *         else:
 *             pdstArray = int(cudaArray_t(dstArray))
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4124, __pyx_L1_error)
    __pyx_v_cdstArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4125
 *             pdstArray = int(cudaArray_t(dstArray))
 *             cdstArray = <ccudart.cudaArray_t><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPos(self):
 */
  (__pyx_v_self->_dstArray->_ptr[0]) = __pyx_v_cdstArray;

  /* "cuda/cudart.pyx":4115
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t cdstArray
 *         if dstArray is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.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/cudart.pyx":4127
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 *     def dstPos(self):             # <<<<<<<<<<<<<<
 *         return self._dstPos
 *     @dstPos.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4127, 0, __PYX_ERR(0, 4127, __pyx_L1_error));

  /* "cuda/cudart.pyx":4128
 *     @property
 *     def dstPos(self):
 *         return self._dstPos             # <<<<<<<<<<<<<<
 *     @dstPos.setter
 *     def dstPos(self, dstPos not None : cudaPos):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_dstPos));
  __pyx_r = ((PyObject *)__pyx_v_self->_dstPos);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4127
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 *     def dstPos(self):             # <<<<<<<<<<<<<<
 *         return self._dstPos
 *     @dstPos.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.dstPos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4130
 *         return self._dstPos
 *     @dstPos.setter
 *     def dstPos(self, dstPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPos):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPos); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPos) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dstPos), __pyx_ptype_4cuda_6cudart_cudaPos, 0, "dstPos", 0))) __PYX_ERR(0, 4130, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_v_dstPos));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_dstPos) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4130, 0, __PYX_ERR(0, 4130, __pyx_L1_error));

  /* "cuda/cudart.pyx":4132
 *     def dstPos(self, dstPos not None : cudaPos):
 *         pass
 *         for _attr in dir(dstPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_dstPos)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4132, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4132, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4132, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4132, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4132, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4132, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4133
 *         pass
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4133, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4134
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4133
 *         pass
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4135
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4135, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4136
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPtr(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_dstPos);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_dstPos), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4136, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4135
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4132
 *     def dstPos(self, dstPos not None : cudaPos):
 *         pass
 *         for _attr in dir(dstPos):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4130
 *         return self._dstPos
 *     @dstPos.setter
 *     def dstPos(self, dstPos not None : cudaPos):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPos):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.dstPos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4138
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 *     def dstPtr(self):             # <<<<<<<<<<<<<<
 *         return self._dstPtr
 *     @dstPtr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4138, 0, __PYX_ERR(0, 4138, __pyx_L1_error));

  /* "cuda/cudart.pyx":4139
 *     @property
 *     def dstPtr(self):
 *         return self._dstPtr             # <<<<<<<<<<<<<<
 *     @dstPtr.setter
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_dstPtr));
  __pyx_r = ((PyObject *)__pyx_v_self->_dstPtr);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4138
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 *     def dstPtr(self):             # <<<<<<<<<<<<<<
 *         return self._dstPtr
 *     @dstPtr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.dstPtr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4141
 *         return self._dstPtr
 *     @dstPtr.setter
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPtr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPtr); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstPtr) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dstPtr), __pyx_ptype_4cuda_6cudart_cudaPitchedPtr, 0, "dstPtr", 0))) __PYX_ERR(0, 4141, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_v_dstPtr));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_dstPtr) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4141, 0, __PYX_ERR(0, 4141, __pyx_L1_error));

  /* "cuda/cudart.pyx":4143
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(dstPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_dstPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4143, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4143, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4143, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4143, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4144
 *         pass
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4144, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4145
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4144
 *         pass
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4146
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4146, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4147
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def dstDevice(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_dstPtr);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_dstPtr), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4147, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4146
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4143
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):
 *         pass
 *         for _attr in dir(dstPtr):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4141
 *         return self._dstPtr
 *     @dstPtr.setter
 *     def dstPtr(self, dstPtr not None : cudaPitchedPtr):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(dstPtr):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.dstPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4149
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 *     def dstDevice(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].dstDevice
 *     @dstDevice.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4149, 0, __PYX_ERR(0, 4149, __pyx_L1_error));

  /* "cuda/cudart.pyx":4150
 *     @property
 *     def dstDevice(self):
 *         return self._ptr[0].dstDevice             # <<<<<<<<<<<<<<
 *     @dstDevice.setter
 *     def dstDevice(self, int dstDevice):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).dstDevice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4149
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 *     def dstDevice(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].dstDevice
 *     @dstDevice.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.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/cudart.pyx":4152
 *         return self._ptr[0].dstDevice
 *     @dstDevice.setter
 *     def dstDevice(self, int dstDevice):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].dstDevice = dstDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstDevice); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstDevice) {
  int __pyx_v_dstDevice;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_dstDevice); {
    __pyx_v_dstDevice = __Pyx_PyInt_As_int(__pyx_arg_dstDevice); if (unlikely((__pyx_v_dstDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4152, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((int)__pyx_v_dstDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, int __pyx_v_dstDevice) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4152, 0, __PYX_ERR(0, 4152, __pyx_L1_error));

  /* "cuda/cudart.pyx":4154
 *     def dstDevice(self, int dstDevice):
 *         pass
 *         self._ptr[0].dstDevice = dstDevice             # <<<<<<<<<<<<<<
 *     @property
 *     def extent(self):
 */
  (__pyx_v_self->_ptr[0]).dstDevice = __pyx_v_dstDevice;

  /* "cuda/cudart.pyx":4152
 *         return self._ptr[0].dstDevice
 *     @dstDevice.setter
 *     def dstDevice(self, int dstDevice):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].dstDevice = dstDevice
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4156
 *         self._ptr[0].dstDevice = dstDevice
 *     @property
 *     def extent(self):             # <<<<<<<<<<<<<<
 *         return self._extent
 *     @extent.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent___get__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4156, 0, __PYX_ERR(0, 4156, __pyx_L1_error));

  /* "cuda/cudart.pyx":4157
 *     @property
 *     def extent(self):
 *         return self._extent             # <<<<<<<<<<<<<<
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_extent));
  __pyx_r = ((PyObject *)__pyx_v_self->_extent);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4156
 *         self._ptr[0].dstDevice = dstDevice
 *     @property
 *     def extent(self):             # <<<<<<<<<<<<<<
 *         return self._extent
 *     @extent.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.extent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4159
 *         return self._extent
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(extent):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 4159, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_extent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4159, 0, __PYX_ERR(0, 4159, __pyx_L1_error));

  /* "cuda/cudart.pyx":4161
 *     def extent(self, extent not None : cudaExtent):
 *         pass
 *         for _attr in dir(extent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_extent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4161, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4161, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4161, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4161, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4161, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4161, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4162
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4162, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4163
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4162
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4164
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4164, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4165
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._extent, _attr, getattr(extent, _attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMemsetParams:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_extent);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_extent), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4165, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4164
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 * 
 */
    }

    /* "cuda/cudart.pyx":4161
 *     def extent(self, extent not None : cudaExtent):
 *         pass
 *         for _attr in dir(extent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4159
 *         return self._extent
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(extent):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.extent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __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_6cudart_21cudaMemcpy3DPeerParms_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_10__reduce_cython__[] = "cudaMemcpy3DPeerParms.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaMemcpy3DPeerParms_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self) {
  PyObject *__pyx_r = 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__112)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__113, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.__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_6cudart_21cudaMemcpy3DPeerParms_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_12__setstate_cython__[] = "cudaMemcpy3DPeerParms.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaMemcpy3DPeerParms_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__114)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__115, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.__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/cudart.pyx":4192
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4192, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4192, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4192, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4192, 0, __PYX_ERR(0, 4192, __pyx_L1_error));

  /* "cuda/cudart.pyx":4193
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4194
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemsetParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":4193
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4196
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemsetParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemsetParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4192
 * 
 *     """
 *     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.cudart.cudaMemsetParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4197
 *         else:
 *             self._ptr = <ccudart.cudaMemsetParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4197, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4197, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4197, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4197, 0, __PYX_ERR(0, 4197, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4199
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_16cudaMemsetParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_16cudaMemsetParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4199, 0, __PYX_ERR(0, 4199, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemsetParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":4201
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaMemsetParams_6getPtr[] = "cudaMemsetParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaMemsetParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemsetParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemsetParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4201, 0, __PYX_ERR(0, 4201, __pyx_L1_error));

  /* "cuda/cudart.pyx":4202
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4201
 *     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.cudart.cudaMemsetParams.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/cudart.pyx":4203
 *     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_6cudart_16cudaMemsetParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4203, 0, __PYX_ERR(0, 4203, __pyx_L1_error));

  /* "cuda/cudart.pyx":4204
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['dst : ' + hex(self.dst)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4205
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['dst : ' + hex(self.dst)]
 *             str_list += ['pitch : ' + str(self.pitch)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4206
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['dst : ' + hex(self.dst)]             # <<<<<<<<<<<<<<
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['value : ' + str(self.value)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dst_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dst, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4207
 *             str_list = []
 *             str_list += ['dst : ' + hex(self.dst)]
 *             str_list += ['pitch : ' + str(self.pitch)]             # <<<<<<<<<<<<<<
 *             str_list += ['value : ' + str(self.value)]
 *             str_list += ['elementSize : ' + str(self.elementSize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pitch, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4208
 *             str_list += ['dst : ' + hex(self.dst)]
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             str_list += ['elementSize : ' + str(self.elementSize)]
 *             str_list += ['width : ' + str(self.width)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_value_2, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4209
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['value : ' + str(self.value)]
 *             str_list += ['elementSize : ' + str(self.elementSize)]             # <<<<<<<<<<<<<<
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_elementSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_elementSize, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4210
 *             str_list += ['value : ' + str(self.value)]
 *             str_list += ['elementSize : ' + str(self.elementSize)]
 *             str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             str_list += ['height : ' + str(self.height)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_width, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4211
 *             str_list += ['elementSize : ' + str(self.elementSize)]
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_height, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4212
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4204
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['dst : ' + hex(self.dst)]
 */
  }

  /* "cuda/cudart.pyx":4214
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4203
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.__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/cudart.pyx":4217
 * 
 *     @property
 *     def dst(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].dst
 *     @dst.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_3dst_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_3dst_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_3dst___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_3dst___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4217, 0, __PYX_ERR(0, 4217, __pyx_L1_error));

  /* "cuda/cudart.pyx":4218
 *     @property
 *     def dst(self):
 *         return <void_ptr>self._ptr[0].dst             # <<<<<<<<<<<<<<
 *     @dst.setter
 *     def dst(self, dst):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).dst)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4217
 * 
 *     @property
 *     def dst(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].dst
 *     @dst.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.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/cudart.pyx":4220
 *         return <void_ptr>self._ptr[0].dst
 *     @dst.setter
 *     def dst(self, dst):             # <<<<<<<<<<<<<<
 *         _cdst = utils.HelperInputVoidPtr(dst)
 *         self._ptr[0].dst = <void*><void_ptr>_cdst.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_3dst_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), ((PyObject *)__pyx_v_dst));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_3dst_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, PyObject *__pyx_v_dst) {
  PyObject *__pyx_v__cdst = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4220, 0, __PYX_ERR(0, 4220, __pyx_L1_error));

  /* "cuda/cudart.pyx":4221
 *     @dst.setter
 *     def dst(self, dst):
 *         _cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *         self._ptr[0].dst = <void*><void_ptr>_cdst.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4222
 *     def dst(self, dst):
 *         _cdst = utils.HelperInputVoidPtr(dst)
 *         self._ptr[0].dst = <void*><void_ptr>_cdst.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4222, __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(0, 4222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dst = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":4220
 *         return <void_ptr>self._ptr[0].dst
 *     @dst.setter
 *     def dst(self, dst):             # <<<<<<<<<<<<<<
 *         _cdst = utils.HelperInputVoidPtr(dst)
 *         self._ptr[0].dst = <void*><void_ptr>_cdst.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.dst.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdst);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4224
 *         self._ptr[0].dst = <void*><void_ptr>_cdst.cptr
 *     @property
 *     def pitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pitch
 *     @pitch.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_5pitch_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5pitch___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_5pitch___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4224, 0, __PYX_ERR(0, 4224, __pyx_L1_error));

  /* "cuda/cudart.pyx":4225
 *     @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(0, 4225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4224
 *         self._ptr[0].dst = <void*><void_ptr>_cdst.cptr
 *     @property
 *     def pitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pitch
 *     @pitch.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.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/cudart.pyx":4227
 *         return self._ptr[0].pitch
 *     @pitch.setter
 *     def pitch(self, size_t pitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pitch = pitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch) {
  size_t __pyx_v_pitch;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4227, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5pitch_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), ((size_t)__pyx_v_pitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5pitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, size_t __pyx_v_pitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4227, 0, __PYX_ERR(0, 4227, __pyx_L1_error));

  /* "cuda/cudart.pyx":4229
 *     def pitch(self, size_t pitch):
 *         pass
 *         self._ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  (__pyx_v_self->_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/cudart.pyx":4227
 *         return self._ptr[0].pitch
 *     @pitch.setter
 *     def pitch(self, size_t pitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pitch = pitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4231
 *         self._ptr[0].pitch = pitch
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].value
 *     @value.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5value___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_5value___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4231, 0, __PYX_ERR(0, 4231, __pyx_L1_error));

  /* "cuda/cudart.pyx":4232
 *     @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(0, 4232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4231
 *         self._ptr[0].pitch = pitch
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].value
 *     @value.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.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/cudart.pyx":4234
 *         return self._ptr[0].value
 *     @value.setter
 *     def value(self, unsigned int value):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].value = value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned int __pyx_v_value;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4234, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5value_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), ((unsigned int)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5value_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, unsigned int __pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4234, 0, __PYX_ERR(0, 4234, __pyx_L1_error));

  /* "cuda/cudart.pyx":4236
 *     def value(self, unsigned int value):
 *         pass
 *         self._ptr[0].value = value             # <<<<<<<<<<<<<<
 *     @property
 *     def elementSize(self):
 */
  (__pyx_v_self->_ptr[0]).value = __pyx_v_value;

  /* "cuda/cudart.pyx":4234
 *         return self._ptr[0].value
 *     @value.setter
 *     def value(self, unsigned int value):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].value = value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4238
 *         self._ptr[0].value = value
 *     @property
 *     def elementSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].elementSize
 *     @elementSize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_11elementSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_11elementSize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_11elementSize___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_11elementSize___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4238, 0, __PYX_ERR(0, 4238, __pyx_L1_error));

  /* "cuda/cudart.pyx":4239
 *     @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(0, 4239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4238
 *         self._ptr[0].value = value
 *     @property
 *     def elementSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].elementSize
 *     @elementSize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.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/cudart.pyx":4241
 *         return self._ptr[0].elementSize
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].elementSize = elementSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize) {
  unsigned int __pyx_v_elementSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4241, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.elementSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_11elementSize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), ((unsigned int)__pyx_v_elementSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_11elementSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, unsigned int __pyx_v_elementSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4241, 0, __PYX_ERR(0, 4241, __pyx_L1_error));

  /* "cuda/cudart.pyx":4243
 *     def elementSize(self, unsigned int elementSize):
 *         pass
 *         self._ptr[0].elementSize = elementSize             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  (__pyx_v_self->_ptr[0]).elementSize = __pyx_v_elementSize;

  /* "cuda/cudart.pyx":4241
 *         return self._ptr[0].elementSize
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].elementSize = elementSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.elementSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4245
 *         self._ptr[0].elementSize = elementSize
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_5width_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5width___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4245, 0, __PYX_ERR(0, 4245, __pyx_L1_error));

  /* "cuda/cudart.pyx":4246
 *     @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(0, 4246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4245
 *         self._ptr[0].elementSize = elementSize
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.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/cudart.pyx":4248
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4248, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5width_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4248, 0, __PYX_ERR(0, 4248, __pyx_L1_error));

  /* "cuda/cudart.pyx":4250
 *     def width(self, size_t width):
 *         pass
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cudart.pyx":4248
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4252
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_6height_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_6height___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4252, 0, __PYX_ERR(0, 4252, __pyx_L1_error));

  /* "cuda/cudart.pyx":4253
 *     @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(0, 4253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4252
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.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/cudart.pyx":4255
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemsetParams_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4255, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_6height_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemsetParams_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4255, 0, __PYX_ERR(0, 4255, __pyx_L1_error));

  /* "cuda/cudart.pyx":4257
 *     def height(self, size_t height):
 *         pass
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaAccessPolicyWindow:
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cudart.pyx":4255
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.height.__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_6cudart_16cudaMemsetParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaMemsetParams_10__reduce_cython__[] = "cudaMemsetParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaMemsetParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemsetParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemsetParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__117)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.__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_6cudart_16cudaMemsetParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaMemsetParams_12__setstate_cython__[] = "cudaMemsetParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaMemsetParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemsetParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16cudaMemsetParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemsetParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemsetParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemsetParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__119)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__120, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetParams.__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/cudart.pyx":4293
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4293, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4293, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4293, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow___cinit__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4293, 0, __PYX_ERR(0, 4293, __pyx_L1_error));

  /* "cuda/cudart.pyx":4294
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4295
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":4294
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4297
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaAccessPolicyWindow *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4293
 * 
 *     """
 *     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.cudart.cudaAccessPolicyWindow.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4298
 *         else:
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4298, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4298, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4298, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4298, 0, __PYX_ERR(0, 4298, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4300
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4300, 0, __PYX_ERR(0, 4300, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaAccessPolicyWindow.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":4302
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_6getPtr[] = "cudaAccessPolicyWindow.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaAccessPolicyWindow_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4302, 0, __PYX_ERR(0, 4302, __pyx_L1_error));

  /* "cuda/cudart.pyx":4303
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4302
 *     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.cudart.cudaAccessPolicyWindow.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/cudart.pyx":4304
 *     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_6cudart_22cudaAccessPolicyWindow_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4304, 0, __PYX_ERR(0, 4304, __pyx_L1_error));

  /* "cuda/cudart.pyx":4305
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['base_ptr : ' + hex(self.base_ptr)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4306
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             str_list += ['num_bytes : ' + str(self.num_bytes)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4307
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['base_ptr : ' + hex(self.base_ptr)]             # <<<<<<<<<<<<<<
 *             str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             str_list += ['hitRatio : ' + str(self.hitRatio)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_base_ptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_base_ptr, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4308
 *             str_list = []
 *             str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             str_list += ['num_bytes : ' + str(self.num_bytes)]             # <<<<<<<<<<<<<<
 *             str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             str_list += ['hitProp : ' + str(self.hitProp)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_num_bytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_num_bytes, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4309
 *             str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             str_list += ['hitRatio : ' + str(self.hitRatio)]             # <<<<<<<<<<<<<<
 *             str_list += ['hitProp : ' + str(self.hitProp)]
 *             str_list += ['missProp : ' + str(self.missProp)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_hitRatio_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_hitRatio, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4310
 *             str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             str_list += ['hitProp : ' + str(self.hitProp)]             # <<<<<<<<<<<<<<
 *             str_list += ['missProp : ' + str(self.missProp)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_hitProp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_hitProp, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4311
 *             str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             str_list += ['hitProp : ' + str(self.hitProp)]
 *             str_list += ['missProp : ' + str(self.missProp)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_missProp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_missProp, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4312
 *             str_list += ['hitProp : ' + str(self.hitProp)]
 *             str_list += ['missProp : ' + str(self.missProp)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4305
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['base_ptr : ' + hex(self.base_ptr)]
 */
  }

  /* "cuda/cudart.pyx":4314
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4304
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.__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/cudart.pyx":4317
 * 
 *     @property
 *     def base_ptr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].base_ptr
 *     @base_ptr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr___get__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4317, 0, __PYX_ERR(0, 4317, __pyx_L1_error));

  /* "cuda/cudart.pyx":4318
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).base_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4317
 * 
 *     @property
 *     def base_ptr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].base_ptr
 *     @base_ptr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.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/cudart.pyx":4320
 *         return <void_ptr>self._ptr[0].base_ptr
 *     @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
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_base_ptr); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_base_ptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self), ((PyObject *)__pyx_v_base_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4320, 0, __PYX_ERR(0, 4320, __pyx_L1_error));

  /* "cuda/cudart.pyx":4321
 *     @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(0, 4321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cbase_ptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4322
 *     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(0, 4322, __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(0, 4322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).base_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":4320
 *         return <void_ptr>self._ptr[0].base_ptr
 *     @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
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.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/cudart.pyx":4324
 *         self._ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property
 *     def num_bytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].num_bytes
 *     @num_bytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes___get__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4324, 0, __PYX_ERR(0, 4324, __pyx_L1_error));

  /* "cuda/cudart.pyx":4325
 *     @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(0, 4325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4324
 *         self._ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property
 *     def num_bytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].num_bytes
 *     @num_bytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.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/cudart.pyx":4327
 *         return self._ptr[0].num_bytes
 *     @num_bytes.setter
 *     def num_bytes(self, size_t num_bytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].num_bytes = num_bytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_num_bytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_num_bytes) {
  size_t __pyx_v_num_bytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4327, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.num_bytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self), ((size_t)__pyx_v_num_bytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, size_t __pyx_v_num_bytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4327, 0, __PYX_ERR(0, 4327, __pyx_L1_error));

  /* "cuda/cudart.pyx":4329
 *     def num_bytes(self, size_t num_bytes):
 *         pass
 *         self._ptr[0].num_bytes = num_bytes             # <<<<<<<<<<<<<<
 *     @property
 *     def hitRatio(self):
 */
  (__pyx_v_self->_ptr[0]).num_bytes = __pyx_v_num_bytes;

  /* "cuda/cudart.pyx":4327
 *         return self._ptr[0].num_bytes
 *     @num_bytes.setter
 *     def num_bytes(self, size_t num_bytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].num_bytes = num_bytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.num_bytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4331
 *         self._ptr[0].num_bytes = num_bytes
 *     @property
 *     def hitRatio(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].hitRatio
 *     @hitRatio.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio___get__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4331, 0, __PYX_ERR(0, 4331, __pyx_L1_error));

  /* "cuda/cudart.pyx":4332
 *     @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(0, 4332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4331
 *         self._ptr[0].num_bytes = num_bytes
 *     @property
 *     def hitRatio(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].hitRatio
 *     @hitRatio.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.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/cudart.pyx":4334
 *         return self._ptr[0].hitRatio
 *     @hitRatio.setter
 *     def hitRatio(self, float hitRatio):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].hitRatio = hitRatio
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_hitRatio); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_hitRatio) {
  float __pyx_v_hitRatio;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_hitRatio); {
    __pyx_v_hitRatio = __pyx_PyFloat_AsFloat(__pyx_arg_hitRatio); if (unlikely((__pyx_v_hitRatio == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 4334, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.hitRatio.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self), ((float)__pyx_v_hitRatio));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, float __pyx_v_hitRatio) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4334, 0, __PYX_ERR(0, 4334, __pyx_L1_error));

  /* "cuda/cudart.pyx":4336
 *     def hitRatio(self, float hitRatio):
 *         pass
 *         self._ptr[0].hitRatio = hitRatio             # <<<<<<<<<<<<<<
 *     @property
 *     def hitProp(self):
 */
  (__pyx_v_self->_ptr[0]).hitRatio = __pyx_v_hitRatio;

  /* "cuda/cudart.pyx":4334
 *         return self._ptr[0].hitRatio
 *     @hitRatio.setter
 *     def hitRatio(self, float hitRatio):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].hitRatio = hitRatio
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.hitRatio.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4338
 *         self._ptr[0].hitRatio = hitRatio
 *     @property
 *     def hitProp(self):             # <<<<<<<<<<<<<<
 *         return cudaAccessProperty(self._ptr[0].hitProp)
 *     @hitProp.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp___get__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4338, 0, __PYX_ERR(0, 4338, __pyx_L1_error));

  /* "cuda/cudart.pyx":4339
 *     @property
 *     def hitProp(self):
 *         return cudaAccessProperty(self._ptr[0].hitProp)             # <<<<<<<<<<<<<<
 *     @hitProp.setter
 *     def hitProp(self, hitProp not None : cudaAccessProperty):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaAccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaAccessProperty((__pyx_v_self->_ptr[0]).hitProp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 4339, __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/cudart.pyx":4338
 *         self._ptr[0].hitRatio = hitRatio
 *     @property
 *     def hitProp(self):             # <<<<<<<<<<<<<<
 *         return cudaAccessProperty(self._ptr[0].hitProp)
 *     @hitProp.setter
 */

  /* 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.cudart.cudaAccessPolicyWindow.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/cudart.pyx":4341
 *         return cudaAccessProperty(self._ptr[0].hitProp)
 *     @hitProp.setter
 *     def hitProp(self, hitProp not None : cudaAccessProperty):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].hitProp = hitProp.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hitProp); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hitProp) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_hitProp) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "hitProp"); __PYX_ERR(0, 4341, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__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_6cudart_22cudaAccessPolicyWindow_7hitProp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, PyObject *__pyx_v_hitProp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaAccessProperty __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4341, 0, __PYX_ERR(0, 4341, __pyx_L1_error));

  /* "cuda/cudart.pyx":4343
 *     def hitProp(self, hitProp not None : cudaAccessProperty):
 *         pass
 *         self._ptr[0].hitProp = hitProp.value             # <<<<<<<<<<<<<<
 *     @property
 *     def missProp(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_hitProp, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaAccessProperty)__Pyx_PyInt_As_enum__cudaAccessProperty(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).hitProp = __pyx_t_2;

  /* "cuda/cudart.pyx":4341
 *         return cudaAccessProperty(self._ptr[0].hitProp)
 *     @hitProp.setter
 *     def hitProp(self, hitProp not None : cudaAccessProperty):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaAccessPolicyWindow.hitProp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4345
 *         self._ptr[0].hitProp = hitProp.value
 *     @property
 *     def missProp(self):             # <<<<<<<<<<<<<<
 *         return cudaAccessProperty(self._ptr[0].missProp)
 *     @missProp.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp___get__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp___get__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4345, 0, __PYX_ERR(0, 4345, __pyx_L1_error));

  /* "cuda/cudart.pyx":4346
 *     @property
 *     def missProp(self):
 *         return cudaAccessProperty(self._ptr[0].missProp)             # <<<<<<<<<<<<<<
 *     @missProp.setter
 *     def missProp(self, missProp not None : cudaAccessProperty):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaAccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaAccessProperty((__pyx_v_self->_ptr[0]).missProp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 4346, __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/cudart.pyx":4345
 *         self._ptr[0].hitProp = hitProp.value
 *     @property
 *     def missProp(self):             # <<<<<<<<<<<<<<
 *         return cudaAccessProperty(self._ptr[0].missProp)
 *     @missProp.setter
 */

  /* 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.cudart.cudaAccessPolicyWindow.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/cudart.pyx":4348
 *         return cudaAccessProperty(self._ptr[0].missProp)
 *     @missProp.setter
 *     def missProp(self, missProp not None : cudaAccessProperty):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].missProp = missProp.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_missProp); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_missProp) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_missProp) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "missProp"); __PYX_ERR(0, 4348, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__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_6cudart_22cudaAccessPolicyWindow_8missProp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, PyObject *__pyx_v_missProp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaAccessProperty __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4348, 0, __PYX_ERR(0, 4348, __pyx_L1_error));

  /* "cuda/cudart.pyx":4350
 *     def missProp(self, missProp not None : cudaAccessProperty):
 *         pass
 *         self._ptr[0].missProp = missProp.value             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaHostNodeParams:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_missProp, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaAccessProperty)__Pyx_PyInt_As_enum__cudaAccessProperty(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).missProp = __pyx_t_2;

  /* "cuda/cudart.pyx":4348
 *         return cudaAccessProperty(self._ptr[0].missProp)
 *     @missProp.setter
 *     def missProp(self, missProp not None : cudaAccessProperty):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaAccessPolicyWindow.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_6cudart_22cudaAccessPolicyWindow_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_10__reduce_cython__[] = "cudaAccessPolicyWindow.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaAccessPolicyWindow_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self) {
  PyObject *__pyx_r = 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__122)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__123, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.__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_6cudart_22cudaAccessPolicyWindow_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_12__setstate_cython__[] = "cudaAccessPolicyWindow.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaAccessPolicyWindow_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaAccessPolicyWindow_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__125, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaAccessPolicyWindow.__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/cudart.pyx":4369
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4369, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4369, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4369, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4369, 0, __PYX_ERR(0, 4369, __pyx_L1_error));

  /* "cuda/cudart.pyx":4370
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4371
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaHostNodeParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":4370
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4373
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaHostNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaHostNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4369
 * 
 *     """
 *     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.cudart.cudaHostNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4374
 *         else:
 *             self._ptr = <ccudart.cudaHostNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4374, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4374, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4374, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4374, 0, __PYX_ERR(0, 4374, __pyx_L1_error));

  /* "cuda/cudart.pyx":4375
 *             self._ptr = <ccudart.cudaHostNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = cudaHostFn_t(_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(0, 4375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).fn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostFn_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_fn);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_fn));
  __pyx_v_self->_fn = ((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4374
 *         else:
 *             self._ptr = <ccudart.cudaHostNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._fn = cudaHostFn_t(_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.cudart.cudaHostNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4376
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4376, 0, __PYX_ERR(0, 4376, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaHostNodeParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":4378
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_6getPtr[] = "cudaHostNodeParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaHostNodeParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__126)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4378, 0, __PYX_ERR(0, 4378, __pyx_L1_error));

  /* "cuda/cudart.pyx":4379
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4378
 *     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.cudart.cudaHostNodeParams.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/cudart.pyx":4380
 *     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_6cudart_18cudaHostNodeParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4380, 0, __PYX_ERR(0, 4380, __pyx_L1_error));

  /* "cuda/cudart.pyx":4381
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fn : ' + str(self.fn)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4382
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['fn : ' + str(self.fn)]
 *             str_list += ['userData : ' + hex(self.userData)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4383
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['fn : ' + str(self.fn)]             # <<<<<<<<<<<<<<
 *             str_list += ['userData : ' + hex(self.userData)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fn_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fn, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4384
 *             str_list = []
 *             str_list += ['fn : ' + str(self.fn)]
 *             str_list += ['userData : ' + hex(self.userData)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_userData_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_userData, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4385
 *             str_list += ['fn : ' + str(self.fn)]
 *             str_list += ['userData : ' + hex(self.userData)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4381
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fn : ' + str(self.fn)]
 */
  }

  /* "cuda/cudart.pyx":4387
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4380
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.__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/cudart.pyx":4390
 * 
 *     @property
 *     def fn(self):             # <<<<<<<<<<<<<<
 *         return self._fn
 *     @fn.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_2fn_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_2fn_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2fn___get__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2fn___get__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4390, 0, __PYX_ERR(0, 4390, __pyx_L1_error));

  /* "cuda/cudart.pyx":4391
 *     @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/cudart.pyx":4390
 * 
 *     @property
 *     def fn(self):             # <<<<<<<<<<<<<<
 *         return self._fn
 *     @fn.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.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/cudart.pyx":4393
 *         return self._fn
 *     @fn.setter
 *     def fn(self, fn):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaHostFn_t cfn
 *         if fn is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2fn_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_fn));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2fn_2__set__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, PyObject *__pyx_v_fn) {
  cudaHostFn_t __pyx_v_cfn;
  PyObject *__pyx_v_pfn = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4393, 0, __PYX_ERR(0, 4393, __pyx_L1_error));

  /* "cuda/cudart.pyx":4395
 *     def fn(self, fn):
 *         cdef ccudart.cudaHostFn_t cfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *         elif isinstance(fn, (cudaHostFn_t)):
 */
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":4396
 *         cdef ccudart.cudaHostFn_t cfn
 *         if fn is None:
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(fn, (cudaHostFn_t)):
 *             pfn = int(fn)
 */
    __pyx_v_cfn = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":4395
 *     def fn(self, fn):
 *         cdef ccudart.cudaHostFn_t cfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *         elif isinstance(fn, (cudaHostFn_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4397
 *         if fn is None:
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *         elif isinstance(fn, (cudaHostFn_t)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_ptype_4cuda_6cudart_cudaHostFn_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4398
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *         elif isinstance(fn, (cudaHostFn_t)):
 *             pfn = int(fn)             # <<<<<<<<<<<<<<
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 *         else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pfn = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":4399
 *         elif isinstance(fn, (cudaHostFn_t)):
 *             pfn = int(fn)
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         else:
 *             pfn = int(cudaHostFn_t(fn))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4399, __pyx_L1_error)
    __pyx_v_cfn = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":4397
 *         if fn is None:
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *         elif isinstance(fn, (cudaHostFn_t)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4401
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 *         else:
 *             pfn = int(cudaHostFn_t(fn))             # <<<<<<<<<<<<<<
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 *         self._fn._ptr[0] = cfn
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostFn_t), __pyx_v_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pfn = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":4402
 *         else:
 *             pfn = int(cudaHostFn_t(fn))
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         self._fn._ptr[0] = cfn
 *     @property
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4402, __pyx_L1_error)
    __pyx_v_cfn = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4403
 *             pfn = int(cudaHostFn_t(fn))
 *             cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 *         self._fn._ptr[0] = cfn             # <<<<<<<<<<<<<<
 *     @property
 *     def userData(self):
 */
  (__pyx_v_self->_fn->_ptr[0]) = __pyx_v_cfn;

  /* "cuda/cudart.pyx":4393
 *         return self._fn
 *     @fn.setter
 *     def fn(self, fn):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaHostFn_t cfn
 *         if fn is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.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/cudart.pyx":4405
 *         self._fn._ptr[0] = cfn
 *     @property
 *     def userData(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_8userData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_8userData_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8userData___get__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8userData___get__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4405, 0, __PYX_ERR(0, 4405, __pyx_L1_error));

  /* "cuda/cudart.pyx":4406
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).userData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4405
 *         self._fn._ptr[0] = cfn
 *     @property
 *     def userData(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.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/cudart.pyx":4408
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter
 *     def userData(self, userData):             # <<<<<<<<<<<<<<
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8userData_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_userData));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_8userData_2__set__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4408, 0, __PYX_ERR(0, 4408, __pyx_L1_error));

  /* "cuda/cudart.pyx":4409
 *     @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(0, 4409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cuserData = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4410
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_res_array_s:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4410, __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(0, 4410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).userData = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":4408
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter
 *     def userData(self, userData):             # <<<<<<<<<<<<<<
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.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_6cudart_18cudaHostNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_10__reduce_cython__[] = "cudaHostNodeParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaHostNodeParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__128, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.__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_6cudart_18cudaHostNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_12__setstate_cython__[] = "cudaHostNodeParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaHostNodeParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaHostNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__129)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__130, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.__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/cudart.pyx":4426
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4426, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4426, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4426, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4426, 0, __PYX_ERR(0, 4426, __pyx_L1_error));

  /* "cuda/cudart.pyx":4427
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 */
  __pyx_v_self->_ptr = ((struct cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4426
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4428
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4428, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4428, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4428, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4428, 0, __PYX_ERR(0, 4428, __pyx_L1_error));

  /* "cuda/cudart.pyx":4429
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).res.array.array))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_array);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_array));
  __pyx_v_self->_array = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4428
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 *     def getPtr(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.cudart._cudaResourceDesc_res_res_array_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4430
 *     def __init__(self, void_ptr _ptr):
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_4getPtr[] = "_cudaResourceDesc_res_res_array_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__131)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4430, 0, __PYX_ERR(0, 4430, __pyx_L1_error));

  /* "cuda/cudart.pyx":4431
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 *     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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4430
 *     def __init__(self, void_ptr _ptr):
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 *     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.cudart._cudaResourceDesc_res_res_array_s.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/cudart.pyx":4432
 *     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_6cudart_33_cudaResourceDesc_res_res_array_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4432, 0, __PYX_ERR(0, 4432, __pyx_L1_error));

  /* "cuda/cudart.pyx":4433
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['array : ' + str(self.array)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4434
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['array : ' + str(self.array)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4435
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['array : ' + str(self.array)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_array_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_array, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4436
 *             str_list = []
 *             str_list += ['array : ' + str(self.array)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4433
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['array : ' + str(self.array)]
 */
  }

  /* "cuda/cudart.pyx":4438
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4432
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.__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/cudart.pyx":4441
 * 
 *     @property
 *     def array(self):             # <<<<<<<<<<<<<<
 *         return self._array
 *     @array.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4441, 0, __PYX_ERR(0, 4441, __pyx_L1_error));

  /* "cuda/cudart.pyx":4442
 *     @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/cudart.pyx":4441
 * 
 *     @property
 *     def array(self):             # <<<<<<<<<<<<<<
 *         return self._array
 *     @array.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.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/cudart.pyx":4444
 *         return self._array
 *     @array.setter
 *     def array(self, array):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t carray
 *         if array is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self), ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, PyObject *__pyx_v_array) {
  cudaArray_t __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4444, 0, __PYX_ERR(0, 4444, __pyx_L1_error));

  /* "cuda/cudart.pyx":4446
 *     def array(self, array):
 *         cdef ccudart.cudaArray_t carray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             carray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(array, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":4447
 *         cdef ccudart.cudaArray_t carray
 *         if array is None:
 *             carray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(array, (cudaArray_t)):
 *             parray = int(array)
 */
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":4446
 *     def array(self, array):
 *         cdef ccudart.cudaArray_t carray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             carray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(array, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4448
 *         if array is None:
 *             carray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             carray = <ccudart.cudaArray_t><void_ptr>parray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4449
 *             carray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(array, (cudaArray_t)):
 *             parray = int(array)             # <<<<<<<<<<<<<<
 *             carray = <ccudart.cudaArray_t><void_ptr>parray
 *         else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_parray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":4450
 *         elif isinstance(array, (cudaArray_t)):
 *             parray = int(array)
 *             carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 *         else:
 *             parray = int(cudaArray_t(array))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4450, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":4448
 *         if array is None:
 *             carray = <ccudart.cudaArray_t><void_ptr>0
 *         elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             carray = <ccudart.cudaArray_t><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4452
 *             carray = <ccudart.cudaArray_t><void_ptr>parray
 *         else:
 *             parray = int(cudaArray_t(array))             # <<<<<<<<<<<<<<
 *             carray = <ccudart.cudaArray_t><void_ptr>parray
 *         self._array._ptr[0] = carray
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_parray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":4453
 *         else:
 *             parray = int(cudaArray_t(array))
 *             carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 *         self._array._ptr[0] = carray
 * 
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4453, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4454
 *             parray = int(cudaArray_t(array))
 *             carray = <ccudart.cudaArray_t><void_ptr>parray
 *         self._array._ptr[0] = carray             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_res_mipmap_s:
 */
  (__pyx_v_self->_array->_ptr[0]) = __pyx_v_carray;

  /* "cuda/cudart.pyx":4444
 *         return self._array
 *     @array.setter
 *     def array(self, array):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaArray_t carray
 *         if array is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.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_6cudart_33_cudaResourceDesc_res_res_array_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_8__reduce_cython__[] = "_cudaResourceDesc_res_res_array_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__132)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__133, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.__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_6cudart_33_cudaResourceDesc_res_res_array_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_10__setstate_cython__[] = "_cudaResourceDesc_res_res_array_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__134)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__135, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.__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/cudart.pyx":4470
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4470, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4470, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4470, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4470, 0, __PYX_ERR(0, 4470, __pyx_L1_error));

  /* "cuda/cudart.pyx":4471
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 */
  __pyx_v_self->_ptr = ((struct cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4470
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4472
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4472, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4472, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4472, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4472, 0, __PYX_ERR(0, 4472, __pyx_L1_error));

  /* "cuda/cudart.pyx":4473
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).res.mipmap.mipmap))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_mipmap);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_mipmap));
  __pyx_v_self->_mipmap = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4472
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 *     def getPtr(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.cudart._cudaResourceDesc_res_res_mipmap_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4474
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_4getPtr[] = "_cudaResourceDesc_res_res_mipmap_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4474, 0, __PYX_ERR(0, 4474, __pyx_L1_error));

  /* "cuda/cudart.pyx":4475
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 *     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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4474
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 *     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.cudart._cudaResourceDesc_res_res_mipmap_s.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/cudart.pyx":4476
 *     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_6cudart_34_cudaResourceDesc_res_res_mipmap_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4476, 0, __PYX_ERR(0, 4476, __pyx_L1_error));

  /* "cuda/cudart.pyx":4477
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['mipmap : ' + str(self.mipmap)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4478
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['mipmap : ' + str(self.mipmap)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4479
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['mipmap : ' + str(self.mipmap)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mipmap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mipmap, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4480
 *             str_list = []
 *             str_list += ['mipmap : ' + str(self.mipmap)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4477
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['mipmap : ' + str(self.mipmap)]
 */
  }

  /* "cuda/cudart.pyx":4482
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4476
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.__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/cudart.pyx":4485
 * 
 *     @property
 *     def mipmap(self):             # <<<<<<<<<<<<<<
 *         return self._mipmap
 *     @mipmap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4485, 0, __PYX_ERR(0, 4485, __pyx_L1_error));

  /* "cuda/cudart.pyx":4486
 *     @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/cudart.pyx":4485
 * 
 *     @property
 *     def mipmap(self):             # <<<<<<<<<<<<<<
 *         return self._mipmap
 *     @mipmap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.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/cudart.pyx":4488
 *         return self._mipmap
 *     @mipmap.setter
 *     def mipmap(self, mipmap):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaMipmappedArray_t cmipmap
 *         if mipmap is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self), ((PyObject *)__pyx_v_mipmap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, PyObject *__pyx_v_mipmap) {
  cudaMipmappedArray_t __pyx_v_cmipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4488, 0, __PYX_ERR(0, 4488, __pyx_L1_error));

  /* "cuda/cudart.pyx":4490
 *     def mipmap(self, mipmap):
 *         cdef ccudart.cudaMipmappedArray_t cmipmap
 *         if mipmap is None:             # <<<<<<<<<<<<<<
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *         elif isinstance(mipmap, (cudaMipmappedArray_t)):
 */
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":4491
 *         cdef ccudart.cudaMipmappedArray_t cmipmap
 *         if mipmap is None:
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *             pmipmap = int(mipmap)
 */
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":4490
 *     def mipmap(self, mipmap):
 *         cdef ccudart.cudaMipmappedArray_t cmipmap
 *         if mipmap is None:             # <<<<<<<<<<<<<<
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *         elif isinstance(mipmap, (cudaMipmappedArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4492
 *         if mipmap is None:
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *         elif isinstance(mipmap, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *             pmipmap = int(mipmap)
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4493
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *         elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *             pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *         else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmipmap = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":4494
 *         elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *             pmipmap = int(mipmap)
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *         else:
 *             pmipmap = int(cudaMipmappedArray_t(mipmap))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4494, __pyx_L1_error)
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":4492
 *         if mipmap is None:
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *         elif isinstance(mipmap, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *             pmipmap = int(mipmap)
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4496
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *         else:
 *             pmipmap = int(cudaMipmappedArray_t(mipmap))             # <<<<<<<<<<<<<<
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *         self._mipmap._ptr[0] = cmipmap
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t), __pyx_v_mipmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmipmap = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":4497
 *         else:
 *             pmipmap = int(cudaMipmappedArray_t(mipmap))
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *         self._mipmap._ptr[0] = cmipmap
 * 
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 4497, __pyx_L1_error)
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4498
 *             pmipmap = int(cudaMipmappedArray_t(mipmap))
 *             cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *         self._mipmap._ptr[0] = cmipmap             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_res_linear_s:
 */
  (__pyx_v_self->_mipmap->_ptr[0]) = __pyx_v_cmipmap;

  /* "cuda/cudart.pyx":4488
 *         return self._mipmap
 *     @mipmap.setter
 *     def mipmap(self, mipmap):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaMipmappedArray_t cmipmap
 *         if mipmap is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.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;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_8__reduce_cython__[] = "_cudaResourceDesc_res_res_mipmap_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__137)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__138, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.__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_6cudart_34_cudaResourceDesc_res_res_mipmap_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_10__setstate_cython__[] = "_cudaResourceDesc_res_res_mipmap_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__140, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.__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/cudart.pyx":4518
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4518, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4518, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4518, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4518, 0, __PYX_ERR(0, 4518, __pyx_L1_error));

  /* "cuda/cudart.pyx":4519
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 */
  __pyx_v_self->_ptr = ((struct cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4518
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4520
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4520, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4520, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4520, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4520, 0, __PYX_ERR(0, 4520, __pyx_L1_error));

  /* "cuda/cudart.pyx":4521
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).res.linear.desc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_desc);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_desc));
  __pyx_v_self->_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4520
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 *     def getPtr(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.cudart._cudaResourceDesc_res_res_linear_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4522
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4getPtr[] = "_cudaResourceDesc_res_res_linear_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__141)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4522, 0, __PYX_ERR(0, 4522, __pyx_L1_error));

  /* "cuda/cudart.pyx":4523
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 *     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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4522
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 *     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.cudart._cudaResourceDesc_res_res_linear_s.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/cudart.pyx":4524
 *     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_6cudart_34_cudaResourceDesc_res_res_linear_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr11__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4524, 0, __PYX_ERR(0, 4524, __pyx_L1_error));

  /* "cuda/cudart.pyx":4525
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4526
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4527
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]             # <<<<<<<<<<<<<<
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 *             str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_devPtr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_devPtr, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4528
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4528, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_desc_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4528, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4528, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4528, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4528, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4528, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr11__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr11__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4528, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4528, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_line); __pyx_9genexpr11__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_line); __pyx_9genexpr11__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_desc, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4529
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 *             str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sizeInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sizeInBytes, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4530
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 *             str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4525
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 */
  }

  /* "cuda/cudart.pyx":4532
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4524
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4535
 * 
 *     @property
 *     def devPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].res.linear.devPtr
 *     @devPtr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4535, 0, __PYX_ERR(0, 4535, __pyx_L1_error));

  /* "cuda/cudart.pyx":4536
 *     @property
 *     def devPtr(self):
 *         return <void_ptr>self._ptr[0].res.linear.devPtr             # <<<<<<<<<<<<<<
 *     @devPtr.setter
 *     def devPtr(self, devPtr):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).res.linear.devPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4535
 * 
 *     @property
 *     def devPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].res.linear.devPtr
 *     @devPtr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.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/cudart.pyx":4538
 *         return <void_ptr>self._ptr[0].res.linear.devPtr
 *     @devPtr.setter
 *     def devPtr(self, devPtr):             # <<<<<<<<<<<<<<
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *         self._ptr[0].res.linear.devPtr = <void*><void_ptr>_cdevPtr.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self), ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_v__cdevPtr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4538, 0, __PYX_ERR(0, 4538, __pyx_L1_error));

  /* "cuda/cudart.pyx":4539
 *     @devPtr.setter
 *     def devPtr(self, devPtr):
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *         self._ptr[0].res.linear.devPtr = <void*><void_ptr>_cdevPtr.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4540
 *     def devPtr(self, devPtr):
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *         self._ptr[0].res.linear.devPtr = <void*><void_ptr>_cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def desc(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4540, __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(0, 4540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).res.linear.devPtr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":4538
 *         return <void_ptr>self._ptr[0].res.linear.devPtr
 *     @devPtr.setter
 *     def devPtr(self, devPtr):             # <<<<<<<<<<<<<<
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *         self._ptr[0].res.linear.devPtr = <void*><void_ptr>_cdevPtr.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.devPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdevPtr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4542
 *         self._ptr[0].res.linear.devPtr = <void*><void_ptr>_cdevPtr.cptr
 *     @property
 *     def desc(self):             # <<<<<<<<<<<<<<
 *         return self._desc
 *     @desc.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4542, 0, __PYX_ERR(0, 4542, __pyx_L1_error));

  /* "cuda/cudart.pyx":4543
 *     @property
 *     def desc(self):
 *         return self._desc             # <<<<<<<<<<<<<<
 *     @desc.setter
 *     def desc(self, desc not None : cudaChannelFormatDesc):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_desc));
  __pyx_r = ((PyObject *)__pyx_v_self->_desc);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4542
 *         self._ptr[0].res.linear.devPtr = <void*><void_ptr>_cdevPtr.cptr
 *     @property
 *     def desc(self):             # <<<<<<<<<<<<<<
 *         return self._desc
 *     @desc.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.desc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4545
 *         return self._desc
 *     @desc.setter
 *     def desc(self, desc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(desc):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_desc); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_desc) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_desc), __pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc, 0, "desc", 0))) __PYX_ERR(0, 4545, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_desc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4545, 0, __PYX_ERR(0, 4545, __pyx_L1_error));

  /* "cuda/cudart.pyx":4547
 *     def desc(self, desc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(desc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_desc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4547, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4547, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4547, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4547, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4547, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4547, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4548
 *         pass
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4548, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4549
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4548
 *         pass
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4550
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4550, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4551
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._desc, _attr, getattr(desc, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def sizeInBytes(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_desc);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_desc), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4551, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4551, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4550
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4547
 *     def desc(self, desc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(desc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4545
 *         return self._desc
 *     @desc.setter
 *     def desc(self, desc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(desc):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.desc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4553
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 *     def sizeInBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4553, 0, __PYX_ERR(0, 4553, __pyx_L1_error));

  /* "cuda/cudart.pyx":4554
 *     @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(0, 4554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4553
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 *     def sizeInBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.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/cudart.pyx":4556
 *         return self._ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter
 *     def sizeInBytes(self, size_t sizeInBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.linear.sizeInBytes = sizeInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sizeInBytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sizeInBytes) {
  size_t __pyx_v_sizeInBytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4556, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.sizeInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self), ((size_t)__pyx_v_sizeInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, size_t __pyx_v_sizeInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4556, 0, __PYX_ERR(0, 4556, __pyx_L1_error));

  /* "cuda/cudart.pyx":4558
 *     def sizeInBytes(self, size_t sizeInBytes):
 *         pass
 *         self._ptr[0].res.linear.sizeInBytes = sizeInBytes             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_res_pitch2D_s:
 */
  (__pyx_v_self->_ptr[0]).res.linear.sizeInBytes = __pyx_v_sizeInBytes;

  /* "cuda/cudart.pyx":4556
 *         return self._ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter
 *     def sizeInBytes(self, size_t sizeInBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.linear.sizeInBytes = sizeInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.sizeInBytes.__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_6cudart_34_cudaResourceDesc_res_res_linear_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_8__reduce_cython__[] = "_cudaResourceDesc_res_res_linear_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__143, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.__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_6cudart_34_cudaResourceDesc_res_res_linear_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_10__setstate_cython__[] = "_cudaResourceDesc_res_res_linear_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__144)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__145, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_linear_s.__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/cudart.pyx":4582
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4582, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4582, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4582, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4582, 0, __PYX_ERR(0, 4582, __pyx_L1_error));

  /* "cuda/cudart.pyx":4583
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 */
  __pyx_v_self->_ptr = ((struct cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4582
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4584
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4584, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4584, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4584, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4584, 0, __PYX_ERR(0, 4584, __pyx_L1_error));

  /* "cuda/cudart.pyx":4585
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).res.pitch2D.desc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_desc);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_desc));
  __pyx_v_self->_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4584
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 *     def getPtr(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.cudart._cudaResourceDesc_res_res_pitch2D_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4586
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4getPtr[] = "_cudaResourceDesc_res_res_pitch2D_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4586, 0, __PYX_ERR(0, 4586, __pyx_L1_error));

  /* "cuda/cudart.pyx":4587
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 *     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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4586
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 *     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.cudart._cudaResourceDesc_res_res_pitch2D_s.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/cudart.pyx":4588
 *     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_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr12__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4588, 0, __PYX_ERR(0, 4588, __pyx_L1_error));

  /* "cuda/cudart.pyx":4589
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4590
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4591
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]             # <<<<<<<<<<<<<<
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 *             str_list += ['width : ' + str(self.width)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_devPtr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_devPtr, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4592
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4592, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_desc_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4592, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4592, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4592, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4592, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4592, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr12__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr12__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4592, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4592, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_line); __pyx_9genexpr12__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_line); __pyx_9genexpr12__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_desc, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4593
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 *             str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_width, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4594
 *             str_list += ['desc :\n' + '\n'.join(['    ' + line for line in str(self.desc).splitlines()])]
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_height, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4595
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pitchInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pitchInBytes, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4596
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4589
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['devPtr : ' + hex(self.devPtr)]
 */
  }

  /* "cuda/cudart.pyx":4598
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4588
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4601
 * 
 *     @property
 *     def devPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].res.pitch2D.devPtr
 *     @devPtr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4601, 0, __PYX_ERR(0, 4601, __pyx_L1_error));

  /* "cuda/cudart.pyx":4602
 *     @property
 *     def devPtr(self):
 *         return <void_ptr>self._ptr[0].res.pitch2D.devPtr             # <<<<<<<<<<<<<<
 *     @devPtr.setter
 *     def devPtr(self, devPtr):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).res.pitch2D.devPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4601
 * 
 *     @property
 *     def devPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].res.pitch2D.devPtr
 *     @devPtr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.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/cudart.pyx":4604
 *         return <void_ptr>self._ptr[0].res.pitch2D.devPtr
 *     @devPtr.setter
 *     def devPtr(self, devPtr):             # <<<<<<<<<<<<<<
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *         self._ptr[0].res.pitch2D.devPtr = <void*><void_ptr>_cdevPtr.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr); /*proto*/
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_v__cdevPtr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4604, 0, __PYX_ERR(0, 4604, __pyx_L1_error));

  /* "cuda/cudart.pyx":4605
 *     @devPtr.setter
 *     def devPtr(self, devPtr):
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *         self._ptr[0].res.pitch2D.devPtr = <void*><void_ptr>_cdevPtr.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4606
 *     def devPtr(self, devPtr):
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *         self._ptr[0].res.pitch2D.devPtr = <void*><void_ptr>_cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def desc(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4606, __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(0, 4606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).res.pitch2D.devPtr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":4604
 *         return <void_ptr>self._ptr[0].res.pitch2D.devPtr
 *     @devPtr.setter
 *     def devPtr(self, devPtr):             # <<<<<<<<<<<<<<
 *         _cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *         self._ptr[0].res.pitch2D.devPtr = <void*><void_ptr>_cdevPtr.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.devPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdevPtr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4608
 *         self._ptr[0].res.pitch2D.devPtr = <void*><void_ptr>_cdevPtr.cptr
 *     @property
 *     def desc(self):             # <<<<<<<<<<<<<<
 *         return self._desc
 *     @desc.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4608, 0, __PYX_ERR(0, 4608, __pyx_L1_error));

  /* "cuda/cudart.pyx":4609
 *     @property
 *     def desc(self):
 *         return self._desc             # <<<<<<<<<<<<<<
 *     @desc.setter
 *     def desc(self, desc not None : cudaChannelFormatDesc):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_desc));
  __pyx_r = ((PyObject *)__pyx_v_self->_desc);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4608
 *         self._ptr[0].res.pitch2D.devPtr = <void*><void_ptr>_cdevPtr.cptr
 *     @property
 *     def desc(self):             # <<<<<<<<<<<<<<
 *         return self._desc
 *     @desc.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.desc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4611
 *         return self._desc
 *     @desc.setter
 *     def desc(self, desc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(desc):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_desc); /*proto*/
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_desc) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_desc), __pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc, 0, "desc", 0))) __PYX_ERR(0, 4611, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_desc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4611, 0, __PYX_ERR(0, 4611, __pyx_L1_error));

  /* "cuda/cudart.pyx":4613
 *     def desc(self, desc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(desc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_desc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4613, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4613, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4613, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4613, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4613, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4613, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4614
 *         pass
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4614, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4615
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4614
 *         pass
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4616
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4616, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4617
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._desc, _attr, getattr(desc, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_desc);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_desc), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4617, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4617, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4616
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4613
 *     def desc(self, desc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(desc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4611
 *         return self._desc
 *     @desc.setter
 *     def desc(self, desc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(desc):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.desc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4619
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.pitch2D.width
 *     @width.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4619, 0, __PYX_ERR(0, 4619, __pyx_L1_error));

  /* "cuda/cudart.pyx":4620
 *     @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(0, 4620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4619
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.pitch2D.width
 *     @width.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.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/cudart.pyx":4622
 *         return self._ptr[0].res.pitch2D.width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.pitch2D.width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4622, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4622, 0, __PYX_ERR(0, 4622, __pyx_L1_error));

  /* "cuda/cudart.pyx":4624
 *     def width(self, size_t width):
 *         pass
 *         self._ptr[0].res.pitch2D.width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).res.pitch2D.width = __pyx_v_width;

  /* "cuda/cudart.pyx":4622
 *         return self._ptr[0].res.pitch2D.width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.pitch2D.width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4626
 *         self._ptr[0].res.pitch2D.width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.pitch2D.height
 *     @height.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4626, 0, __PYX_ERR(0, 4626, __pyx_L1_error));

  /* "cuda/cudart.pyx":4627
 *     @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(0, 4627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4626
 *         self._ptr[0].res.pitch2D.width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.pitch2D.height
 *     @height.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.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/cudart.pyx":4629
 *         return self._ptr[0].res.pitch2D.height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.pitch2D.height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4629, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4629, 0, __PYX_ERR(0, 4629, __pyx_L1_error));

  /* "cuda/cudart.pyx":4631
 *     def height(self, size_t height):
 *         pass
 *         self._ptr[0].res.pitch2D.height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def pitchInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).res.pitch2D.height = __pyx_v_height;

  /* "cuda/cudart.pyx":4629
 *         return self._ptr[0].res.pitch2D.height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.pitch2D.height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4633
 *         self._ptr[0].res.pitch2D.height = height
 *     @property
 *     def pitchInBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4633, 0, __PYX_ERR(0, 4633, __pyx_L1_error));

  /* "cuda/cudart.pyx":4634
 *     @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(0, 4634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4633
 *         self._ptr[0].res.pitch2D.height = height
 *     @property
 *     def pitchInBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.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/cudart.pyx":4636
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter
 *     def pitchInBytes(self, size_t pitchInBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.pitch2D.pitchInBytes = pitchInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitchInBytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitchInBytes) {
  size_t __pyx_v_pitchInBytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4636, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.pitchInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), ((size_t)__pyx_v_pitchInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, size_t __pyx_v_pitchInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4636, 0, __PYX_ERR(0, 4636, __pyx_L1_error));

  /* "cuda/cudart.pyx":4638
 *     def pitchInBytes(self, size_t pitchInBytes):
 *         pass
 *         self._ptr[0].res.pitch2D.pitchInBytes = pitchInBytes             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_u:
 */
  (__pyx_v_self->_ptr[0]).res.pitch2D.pitchInBytes = __pyx_v_pitchInBytes;

  /* "cuda/cudart.pyx":4636
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter
 *     def pitchInBytes(self, size_t pitchInBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].res.pitch2D.pitchInBytes = pitchInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.pitchInBytes.__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_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_8__reduce_cython__[] = "_cudaResourceDesc_res_res_pitch2D_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__147)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__148, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.__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_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_10__setstate_cython__[] = "_cudaResourceDesc_res_res_pitch2D_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__150, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_pitch2D_s.__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/cudart.pyx":4660
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4660, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4660, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4660, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4660, 0, __PYX_ERR(0, 4660, __pyx_L1_error));

  /* "cuda/cudart.pyx":4661
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._array = _cudaResourceDesc_res_res_array_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_v_self->_ptr = ((struct cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4660
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4662
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._array = _cudaResourceDesc_res_res_array_s(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = _cudaResourceDesc_res_res_mipmap_s(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4662, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 4662, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4662, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_2__init__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4662, 0, __PYX_ERR(0, 4662, __pyx_L1_error));

  /* "cuda/cudart.pyx":4663
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._array = _cudaResourceDesc_res_res_array_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._mipmap = _cudaResourceDesc_res_res_mipmap_s(_ptr=<void_ptr>self._ptr)
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_array_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_array);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_array));
  __pyx_v_self->_array = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4664
 *     def __init__(self, void_ptr _ptr):
 *         self._array = _cudaResourceDesc_res_res_array_s(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = _cudaResourceDesc_res_res_mipmap_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 4664, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_mipmap);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_mipmap));
  __pyx_v_self->_mipmap = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4665
 *         self._array = _cudaResourceDesc_res_res_array_s(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = _cudaResourceDesc_res_res_mipmap_s(_ptr=<void_ptr>self._ptr)
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_linear_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_linear);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_linear));
  __pyx_v_self->_linear = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4666
 *         self._mipmap = _cudaResourceDesc_res_res_mipmap_s(_ptr=<void_ptr>self._ptr)
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 4666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_pitch2D);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_pitch2D));
  __pyx_v_self->_pitch2D = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4662
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._array = _cudaResourceDesc_res_res_array_s(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = _cudaResourceDesc_res_res_mipmap_s(_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.cudart._cudaResourceDesc_res_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4667
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_4getPtr[] = "_cudaResourceDesc_res_u.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23_cudaResourceDesc_res_u_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self) {
  PyObject *__pyx_r = 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__151)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4667, 0, __PYX_ERR(0, 4667, __pyx_L1_error));

  /* "cuda/cudart.pyx":4668
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4667
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._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.cudart._cudaResourceDesc_res_u.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/cudart.pyx":4669
 *     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_6cudart_23_cudaResourceDesc_res_u_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__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_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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4669, 0, __PYX_ERR(0, 4669, __pyx_L1_error));

  /* "cuda/cudart.pyx":4670
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4671
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4672
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4672, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_array_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4672, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4672, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4672, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4672, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4672, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr13__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr13__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4672, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4672, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_line); __pyx_9genexpr13__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_line); __pyx_9genexpr13__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_array_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4673
 *             str_list = []
 *             str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4673, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mipmap_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4673, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4673, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4673, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4673, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4673, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr14__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr14__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4673, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 4673, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_line); __pyx_9genexpr14__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_line); __pyx_9genexpr14__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mipmap_3, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4674
 *             str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4674, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_linear_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4674, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4674, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4674, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4674, __pyx_L18_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4674, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr15__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr15__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4674, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4674, __pyx_L18_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_line); __pyx_9genexpr15__pyx_v_line = 0;
      goto __pyx_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_line); __pyx_9genexpr15__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_linear, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4675
 *             str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4675, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pitch2D_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4675, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4675, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4675, __pyx_L24_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4675, __pyx_L24_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4675, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr16__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr16__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4675, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 4675, __pyx_L24_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line); __pyx_9genexpr16__pyx_v_line = 0;
      goto __pyx_L27_exit_scope;
      __pyx_L24_error:;
      __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line); __pyx_9genexpr16__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L27_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pitch2D, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4676
 *             str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4670
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":4678
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4669
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.__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_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4681
 * 
 *     @property
 *     def array(self):             # <<<<<<<<<<<<<<
 *         return self._array
 *     @array.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_5array___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_5array___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4681, 0, __PYX_ERR(0, 4681, __pyx_L1_error));

  /* "cuda/cudart.pyx":4682
 *     @property
 *     def array(self):
 *         return self._array             # <<<<<<<<<<<<<<
 *     @array.setter
 *     def array(self, array not None : _cudaResourceDesc_res_res_array_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_array));
  __pyx_r = ((PyObject *)__pyx_v_self->_array);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4681
 * 
 *     @property
 *     def array(self):             # <<<<<<<<<<<<<<
 *         return self._array
 *     @array.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.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/cudart.pyx":4684
 *         return self._array
 *     @array.setter
 *     def array(self, array not None : _cudaResourceDesc_res_res_array_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(array):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_array), __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_array_s, 0, "array", 0))) __PYX_ERR(0, 4684, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)__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_6cudart_23_cudaResourceDesc_res_u_5array_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_array) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4684, 0, __PYX_ERR(0, 4684, __pyx_L1_error));

  /* "cuda/cudart.pyx":4686
 *     def array(self, array not None : _cudaResourceDesc_res_res_array_s):
 *         pass
 *         for _attr in dir(array):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_array)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4686, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4686, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4686, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4686, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4686, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4686, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4687
 *         pass
 *         for _attr in dir(array):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4687, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4688
 *         for _attr in dir(array):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._array, _attr, getattr(array, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4687
 *         pass
 *         for _attr in dir(array):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4689
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._array, _attr, getattr(array, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4689, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4690
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._array, _attr, getattr(array, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmap(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_array);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_array), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4690, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4690, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4689
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._array, _attr, getattr(array, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4686
 *     def array(self, array not None : _cudaResourceDesc_res_res_array_s):
 *         pass
 *         for _attr in dir(array):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4684
 *         return self._array
 *     @array.setter
 *     def array(self, array not None : _cudaResourceDesc_res_res_array_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.array.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4692
 *                 setattr(self._array, _attr, getattr(array, _attr))
 *     @property
 *     def mipmap(self):             # <<<<<<<<<<<<<<
 *         return self._mipmap
 *     @mipmap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4692, 0, __PYX_ERR(0, 4692, __pyx_L1_error));

  /* "cuda/cudart.pyx":4693
 *     @property
 *     def mipmap(self):
 *         return self._mipmap             # <<<<<<<<<<<<<<
 *     @mipmap.setter
 *     def mipmap(self, mipmap not None : _cudaResourceDesc_res_res_mipmap_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_mipmap));
  __pyx_r = ((PyObject *)__pyx_v_self->_mipmap);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4692
 *                 setattr(self._array, _attr, getattr(array, _attr))
 *     @property
 *     def mipmap(self):             # <<<<<<<<<<<<<<
 *         return self._mipmap
 *     @mipmap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.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/cudart.pyx":4695
 *         return self._mipmap
 *     @mipmap.setter
 *     def mipmap(self, mipmap not None : _cudaResourceDesc_res_res_mipmap_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(mipmap):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap); /*proto*/
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mipmap), __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s, 0, "mipmap", 0))) __PYX_ERR(0, 4695, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)__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_6cudart_23_cudaResourceDesc_res_u_6mipmap_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_mipmap) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4695, 0, __PYX_ERR(0, 4695, __pyx_L1_error));

  /* "cuda/cudart.pyx":4697
 *     def mipmap(self, mipmap not None : _cudaResourceDesc_res_res_mipmap_s):
 *         pass
 *         for _attr in dir(mipmap):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_mipmap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4697, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4697, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4697, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4697, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4697, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4697, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4698
 *         pass
 *         for _attr in dir(mipmap):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4698, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4699
 *         for _attr in dir(mipmap):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._mipmap, _attr, getattr(mipmap, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4698
 *         pass
 *         for _attr in dir(mipmap):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4700
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._mipmap, _attr, getattr(mipmap, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4700, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4701
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._mipmap, _attr, getattr(mipmap, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def linear(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_mipmap);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_mipmap), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4701, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4701, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4700
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._mipmap, _attr, getattr(mipmap, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4697
 *     def mipmap(self, mipmap not None : _cudaResourceDesc_res_res_mipmap_s):
 *         pass
 *         for _attr in dir(mipmap):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4695
 *         return self._mipmap
 *     @mipmap.setter
 *     def mipmap(self, mipmap not None : _cudaResourceDesc_res_res_mipmap_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.mipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4703
 *                 setattr(self._mipmap, _attr, getattr(mipmap, _attr))
 *     @property
 *     def linear(self):             # <<<<<<<<<<<<<<
 *         return self._linear
 *     @linear.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4703, 0, __PYX_ERR(0, 4703, __pyx_L1_error));

  /* "cuda/cudart.pyx":4704
 *     @property
 *     def linear(self):
 *         return self._linear             # <<<<<<<<<<<<<<
 *     @linear.setter
 *     def linear(self, linear not None : _cudaResourceDesc_res_res_linear_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_linear));
  __pyx_r = ((PyObject *)__pyx_v_self->_linear);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4703
 *                 setattr(self._mipmap, _attr, getattr(mipmap, _attr))
 *     @property
 *     def linear(self):             # <<<<<<<<<<<<<<
 *         return self._linear
 *     @linear.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.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/cudart.pyx":4706
 *         return self._linear
 *     @linear.setter
 *     def linear(self, linear not None : _cudaResourceDesc_res_res_linear_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(linear):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_linear); /*proto*/
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_linear) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_linear), __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_linear_s, 0, "linear", 0))) __PYX_ERR(0, 4706, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)__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_6cudart_23_cudaResourceDesc_res_u_6linear_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *__pyx_v_linear) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4706, 0, __PYX_ERR(0, 4706, __pyx_L1_error));

  /* "cuda/cudart.pyx":4708
 *     def linear(self, linear not None : _cudaResourceDesc_res_res_linear_s):
 *         pass
 *         for _attr in dir(linear):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_linear)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4708, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4708, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4708, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4708, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4708, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4708, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4709
 *         pass
 *         for _attr in dir(linear):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4709, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4710
 *         for _attr in dir(linear):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._linear, _attr, getattr(linear, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4709
 *         pass
 *         for _attr in dir(linear):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4711
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._linear, _attr, getattr(linear, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4711, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4712
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._linear, _attr, getattr(linear, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch2D(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_linear);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_linear), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4712, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4712, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4711
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._linear, _attr, getattr(linear, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4708
 *     def linear(self, linear not None : _cudaResourceDesc_res_res_linear_s):
 *         pass
 *         for _attr in dir(linear):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4706
 *         return self._linear
 *     @linear.setter
 *     def linear(self, linear not None : _cudaResourceDesc_res_res_linear_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.linear.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4714
 *                 setattr(self._linear, _attr, getattr(linear, _attr))
 *     @property
 *     def pitch2D(self):             # <<<<<<<<<<<<<<
 *         return self._pitch2D
 *     @pitch2D.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D___get__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D___get__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4714, 0, __PYX_ERR(0, 4714, __pyx_L1_error));

  /* "cuda/cudart.pyx":4715
 *     @property
 *     def pitch2D(self):
 *         return self._pitch2D             # <<<<<<<<<<<<<<
 *     @pitch2D.setter
 *     def pitch2D(self, pitch2D not None : _cudaResourceDesc_res_res_pitch2D_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_pitch2D));
  __pyx_r = ((PyObject *)__pyx_v_self->_pitch2D);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4714
 *                 setattr(self._linear, _attr, getattr(linear, _attr))
 *     @property
 *     def pitch2D(self):             # <<<<<<<<<<<<<<
 *         return self._pitch2D
 *     @pitch2D.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.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/cudart.pyx":4717
 *         return self._pitch2D
 *     @pitch2D.setter
 *     def pitch2D(self, pitch2D not None : _cudaResourceDesc_res_res_pitch2D_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(pitch2D):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pitch2D); /*proto*/
static int __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pitch2D) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pitch2D), __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s, 0, "pitch2D", 0))) __PYX_ERR(0, 4717, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)__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_6cudart_23_cudaResourceDesc_res_u_7pitch2D_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *__pyx_v_pitch2D) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4717, 0, __PYX_ERR(0, 4717, __pyx_L1_error));

  /* "cuda/cudart.pyx":4719
 *     def pitch2D(self, pitch2D not None : _cudaResourceDesc_res_res_pitch2D_s):
 *         pass
 *         for _attr in dir(pitch2D):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_pitch2D)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4719, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4719, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4719, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4719, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4719, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4719, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4720
 *         pass
 *         for _attr in dir(pitch2D):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4720, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4721
 *         for _attr in dir(pitch2D):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._pitch2D, _attr, getattr(pitch2D, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4720
 *         pass
 *         for _attr in dir(pitch2D):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4722
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._pitch2D, _attr, getattr(pitch2D, _attr))
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4722, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4723
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._pitch2D, _attr, getattr(pitch2D, _attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaResourceDesc:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_pitch2D);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_pitch2D), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4723, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4723, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4722
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._pitch2D, _attr, getattr(pitch2D, _attr))
 * 
 */
    }

    /* "cuda/cudart.pyx":4719
 *     def pitch2D(self, pitch2D not None : _cudaResourceDesc_res_res_pitch2D_s):
 *         pass
 *         for _attr in dir(pitch2D):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4717
 *         return self._pitch2D
 *     @pitch2D.setter
 *     def pitch2D(self, pitch2D not None : _cudaResourceDesc_res_res_pitch2D_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.pitch2D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __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_6cudart_23_cudaResourceDesc_res_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_8__reduce_cython__[] = "_cudaResourceDesc_res_u.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23_cudaResourceDesc_res_u_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__153, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.__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_6cudart_23_cudaResourceDesc_res_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_10__setstate_cython__[] = "_cudaResourceDesc_res_u.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23_cudaResourceDesc_res_u_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_23_cudaResourceDesc_res_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__154)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__155, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_u.__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/cudart.pyx":4742
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4742, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4742, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4742, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaResourceDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4742, 0, __PYX_ERR(0, 4742, __pyx_L1_error));

  /* "cuda/cudart.pyx":4743
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4744
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaResourceDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":4743
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4746
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaResourceDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4742
 * 
 *     """
 *     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.cudart.cudaResourceDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4747
 *         else:
 *             self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4747, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4747, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4747, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaResourceDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4747, 0, __PYX_ERR(0, 4747, __pyx_L1_error));

  /* "cuda/cudart.pyx":4748
 *             self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 4748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_u), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_res);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_res));
  __pyx_v_self->_res = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4747
 *         else:
 *             self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._res = _cudaResourceDesc_res_u(_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.cudart.cudaResourceDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4749
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_16cudaResourceDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_16cudaResourceDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_16cudaResourceDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_16cudaResourceDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4749, 0, __PYX_ERR(0, 4749, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaResourceDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":4751
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaResourceDesc_6getPtr[] = "cudaResourceDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaResourceDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaResourceDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaResourceDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__156)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4751, 0, __PYX_ERR(0, 4751, __pyx_L1_error));

  /* "cuda/cudart.pyx":4752
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4751
 *     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.cudart.cudaResourceDesc.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/cudart.pyx":4753
 *     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_6cudart_16cudaResourceDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr17__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4753, 0, __PYX_ERR(0, 4753, __pyx_L1_error));

  /* "cuda/cudart.pyx":4754
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['resType : ' + str(self.resType)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4755
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['resType : ' + str(self.resType)]
 *             str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4756
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['resType : ' + str(self.resType)]             # <<<<<<<<<<<<<<
 *             str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_resType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_resType, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4757
 *             str_list = []
 *             str_list += ['resType : ' + str(self.resType)]
 *             str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4757, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_res_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4757, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4757, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4757, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4757, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4757, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr17__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr17__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4757, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4757, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line); __pyx_9genexpr17__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line); __pyx_9genexpr17__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_res, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4758
 *             str_list += ['resType : ' + str(self.resType)]
 *             str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4754
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['resType : ' + str(self.resType)]
 */
  }

  /* "cuda/cudart.pyx":4760
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4753
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceDesc.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4763
 * 
 *     @property
 *     def resType(self):             # <<<<<<<<<<<<<<
 *         return cudaResourceType(self._ptr[0].resType)
 *     @resType.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_7resType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_7resType_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_7resType___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_7resType___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4763, 0, __PYX_ERR(0, 4763, __pyx_L1_error));

  /* "cuda/cudart.pyx":4764
 *     @property
 *     def resType(self):
 *         return cudaResourceType(self._ptr[0].resType)             # <<<<<<<<<<<<<<
 *     @resType.setter
 *     def resType(self, resType not None : cudaResourceType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaResourceType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaResourceType((__pyx_v_self->_ptr[0]).resType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 4764, __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/cudart.pyx":4763
 * 
 *     @property
 *     def resType(self):             # <<<<<<<<<<<<<<
 *         return cudaResourceType(self._ptr[0].resType)
 *     @resType.setter
 */

  /* 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.cudart.cudaResourceDesc.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/cudart.pyx":4766
 *         return cudaResourceType(self._ptr[0].resType)
 *     @resType.setter
 *     def resType(self, resType not None : cudaResourceType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].resType = resType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_7resType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resType); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_7resType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resType) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_resType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "resType"); __PYX_ERR(0, 4766, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_7resType_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__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_6cudart_16cudaResourceDesc_7resType_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, PyObject *__pyx_v_resType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaResourceType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4766, 0, __PYX_ERR(0, 4766, __pyx_L1_error));

  /* "cuda/cudart.pyx":4768
 *     def resType(self, resType not None : cudaResourceType):
 *         pass
 *         self._ptr[0].resType = resType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def res(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_resType, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaResourceType)__Pyx_PyInt_As_enum__cudaResourceType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).resType = __pyx_t_2;

  /* "cuda/cudart.pyx":4766
 *         return cudaResourceType(self._ptr[0].resType)
 *     @resType.setter
 *     def resType(self, resType not None : cudaResourceType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaResourceDesc.resType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4770
 *         self._ptr[0].resType = resType.value
 *     @property
 *     def res(self):             # <<<<<<<<<<<<<<
 *         return self._res
 *     @res.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_3res_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_3res_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_3res___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_3res___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4770, 0, __PYX_ERR(0, 4770, __pyx_L1_error));

  /* "cuda/cudart.pyx":4771
 *     @property
 *     def res(self):
 *         return self._res             # <<<<<<<<<<<<<<
 *     @res.setter
 *     def res(self, res not None : _cudaResourceDesc_res_u):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_res));
  __pyx_r = ((PyObject *)__pyx_v_self->_res);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4770
 *         self._ptr[0].resType = resType.value
 *     @property
 *     def res(self):             # <<<<<<<<<<<<<<
 *         return self._res
 *     @res.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceDesc.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/cudart.pyx":4773
 *         return self._res
 *     @res.setter
 *     def res(self, res not None : _cudaResourceDesc_res_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(res):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_3res_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_res); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaResourceDesc_3res_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_res) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_res), __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_u, 0, "res", 0))) __PYX_ERR(0, 4773, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_3res_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)__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_6cudart_16cudaResourceDesc_3res_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *__pyx_v_res) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4773, 0, __PYX_ERR(0, 4773, __pyx_L1_error));

  /* "cuda/cudart.pyx":4775
 *     def res(self, res not None : _cudaResourceDesc_res_u):
 *         pass
 *         for _attr in dir(res):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_res)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4775, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4775, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4775, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4775, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4775, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 4775, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":4776
 *         pass
 *         for _attr in dir(res):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4776, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4777
 *         for _attr in dir(res):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._res, _attr, getattr(res, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":4776
 *         pass
 *         for _attr in dir(res):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4778
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._res, _attr, getattr(res, _attr))
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4778, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":4779
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._res, _attr, getattr(res, _attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaResourceViewDesc:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_res);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_res), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4779, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 4779, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4778
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._res, _attr, getattr(res, _attr))
 * 
 */
    }

    /* "cuda/cudart.pyx":4775
 *     def res(self, res not None : _cudaResourceDesc_res_u):
 *         pass
 *         for _attr in dir(res):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4773
 *         return self._res
 *     @res.setter
 *     def res(self, res not None : _cudaResourceDesc_res_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceDesc.res.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __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_6cudart_16cudaResourceDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaResourceDesc_10__reduce_cython__[] = "cudaResourceDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaResourceDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaResourceDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaResourceDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__157)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__158, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceDesc.__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_6cudart_16cudaResourceDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaResourceDesc_12__setstate_cython__[] = "cudaResourceDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaResourceDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaResourceDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16cudaResourceDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaResourceDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaResourceDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaResourceDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__159)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__160, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceDesc.__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/cudart.pyx":4810
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4810, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4810, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4810, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4810, 0, __PYX_ERR(0, 4810, __pyx_L1_error));

  /* "cuda/cudart.pyx":4811
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4812
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaResourceViewDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":4811
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4814
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaResourceViewDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaResourceViewDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4810
 * 
 *     """
 *     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.cudart.cudaResourceViewDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4815
 *         else:
 *             self._ptr = <ccudart.cudaResourceViewDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4815, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4815, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4815, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4815, 0, __PYX_ERR(0, 4815, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4817
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4817, 0, __PYX_ERR(0, 4817, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaResourceViewDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":4819
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_6getPtr[] = "cudaResourceViewDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaResourceViewDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4819, 0, __PYX_ERR(0, 4819, __pyx_L1_error));

  /* "cuda/cudart.pyx":4820
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4819
 *     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.cudart.cudaResourceViewDesc.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/cudart.pyx":4821
 *     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_6cudart_20cudaResourceViewDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4821, 0, __PYX_ERR(0, 4821, __pyx_L1_error));

  /* "cuda/cudart.pyx":4822
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['format : ' + str(self.format)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4823
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['format : ' + str(self.format)]
 *             str_list += ['width : ' + str(self.width)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4824
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['format : ' + str(self.format)]             # <<<<<<<<<<<<<<
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_format_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_format, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4825
 *             str_list = []
 *             str_list += ['format : ' + str(self.format)]
 *             str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_width, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4826
 *             str_list += ['format : ' + str(self.format)]
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             str_list += ['depth : ' + str(self.depth)]
 *             str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_height, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4827
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_depth, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4828
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 *             str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]             # <<<<<<<<<<<<<<
 *             str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             str_list += ['firstLayer : ' + str(self.firstLayer)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_firstMipmapLevel_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_firstMipmapLevel, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4829
 *             str_list += ['depth : ' + str(self.depth)]
 *             str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]             # <<<<<<<<<<<<<<
 *             str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             str_list += ['lastLayer : ' + str(self.lastLayer)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_lastMipmapLevel_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_lastMipmapLevel, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4830
 *             str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             str_list += ['firstLayer : ' + str(self.firstLayer)]             # <<<<<<<<<<<<<<
 *             str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_firstLayer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_firstLayer, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4831
 *             str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             str_list += ['lastLayer : ' + str(self.lastLayer)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_lastLayer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_lastLayer, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4832
 *             str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4822
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['format : ' + str(self.format)]
 */
  }

  /* "cuda/cudart.pyx":4834
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4821
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.__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/cudart.pyx":4837
 * 
 *     @property
 *     def format(self):             # <<<<<<<<<<<<<<
 *         return cudaResourceViewFormat(self._ptr[0].format)
 *     @format.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6format_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6format___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6format___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4837, 0, __PYX_ERR(0, 4837, __pyx_L1_error));

  /* "cuda/cudart.pyx":4838
 *     @property
 *     def format(self):
 *         return cudaResourceViewFormat(self._ptr[0].format)             # <<<<<<<<<<<<<<
 *     @format.setter
 *     def format(self, format not None : cudaResourceViewFormat):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaResourceViewFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaResourceViewFormat((__pyx_v_self->_ptr[0]).format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 4838, __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/cudart.pyx":4837
 * 
 *     @property
 *     def format(self):             # <<<<<<<<<<<<<<
 *         return cudaResourceViewFormat(self._ptr[0].format)
 *     @format.setter
 */

  /* 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.cudart.cudaResourceViewDesc.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/cudart.pyx":4840
 *         return cudaResourceViewFormat(self._ptr[0].format)
 *     @format.setter
 *     def format(self, format not None : cudaResourceViewFormat):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].format = format.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "format"); __PYX_ERR(0, 4840, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6format_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__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_6cudart_20cudaResourceViewDesc_6format_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaResourceViewFormat __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4840, 0, __PYX_ERR(0, 4840, __pyx_L1_error));

  /* "cuda/cudart.pyx":4842
 *     def format(self, format not None : cudaResourceViewFormat):
 *         pass
 *         self._ptr[0].format = format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaResourceViewFormat)__Pyx_PyInt_As_enum__cudaResourceViewFormat(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).format = __pyx_t_2;

  /* "cuda/cudart.pyx":4840
 *         return cudaResourceViewFormat(self._ptr[0].format)
 *     @format.setter
 *     def format(self, format not None : cudaResourceViewFormat):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaResourceViewDesc.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4844
 *         self._ptr[0].format = format.value
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5width_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5width___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4844, 0, __PYX_ERR(0, 4844, __pyx_L1_error));

  /* "cuda/cudart.pyx":4845
 *     @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(0, 4845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4844
 *         self._ptr[0].format = format.value
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.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/cudart.pyx":4847
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  size_t __pyx_v_width;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4847, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5width_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4847, 0, __PYX_ERR(0, 4847, __pyx_L1_error));

  /* "cuda/cudart.pyx":4849
 *     def width(self, size_t width):
 *         pass
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cudart.pyx":4847
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, size_t width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4851
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6height_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6height___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4851, 0, __PYX_ERR(0, 4851, __pyx_L1_error));

  /* "cuda/cudart.pyx":4852
 *     @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(0, 4852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4851
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.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/cudart.pyx":4854
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  size_t __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4854, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6height_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4854, 0, __PYX_ERR(0, 4854, __pyx_L1_error));

  /* "cuda/cudart.pyx":4856
 *     def height(self, size_t height):
 *         pass
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cudart.pyx":4854
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, size_t height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4858
 *         self._ptr[0].height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].depth
 *     @depth.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5depth_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5depth___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5depth___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4858, 0, __PYX_ERR(0, 4858, __pyx_L1_error));

  /* "cuda/cudart.pyx":4859
 *     @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(0, 4859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4858
 *         self._ptr[0].height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].depth
 *     @depth.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.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/cudart.pyx":4861
 *         return self._ptr[0].depth
 *     @depth.setter
 *     def depth(self, size_t depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].depth = depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  size_t __pyx_v_depth;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4861, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5depth_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((size_t)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_5depth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, size_t __pyx_v_depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4861, 0, __PYX_ERR(0, 4861, __pyx_L1_error));

  /* "cuda/cudart.pyx":4863
 *     def depth(self, size_t depth):
 *         pass
 *         self._ptr[0].depth = depth             # <<<<<<<<<<<<<<
 *     @property
 *     def firstMipmapLevel(self):
 */
  (__pyx_v_self->_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/cudart.pyx":4861
 *         return self._ptr[0].depth
 *     @depth.setter
 *     def depth(self, size_t depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].depth = depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4865
 *         self._ptr[0].depth = depth
 *     @property
 *     def firstMipmapLevel(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4865, 0, __PYX_ERR(0, 4865, __pyx_L1_error));

  /* "cuda/cudart.pyx":4866
 *     @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(0, 4866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4865
 *         self._ptr[0].depth = depth
 *     @property
 *     def firstMipmapLevel(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.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/cudart.pyx":4868
 *         return self._ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstMipmapLevel); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstMipmapLevel) {
  unsigned int __pyx_v_firstMipmapLevel;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4868, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.firstMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((unsigned int)__pyx_v_firstMipmapLevel));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_firstMipmapLevel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4868, 0, __PYX_ERR(0, 4868, __pyx_L1_error));

  /* "cuda/cudart.pyx":4870
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         pass
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def lastMipmapLevel(self):
 */
  (__pyx_v_self->_ptr[0]).firstMipmapLevel = __pyx_v_firstMipmapLevel;

  /* "cuda/cudart.pyx":4868
 *         return self._ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.firstMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4872
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 *     @property
 *     def lastMipmapLevel(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4872, 0, __PYX_ERR(0, 4872, __pyx_L1_error));

  /* "cuda/cudart.pyx":4873
 *     @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(0, 4873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4872
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 *     @property
 *     def lastMipmapLevel(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.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/cudart.pyx":4875
 *         return self._ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastMipmapLevel); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastMipmapLevel) {
  unsigned int __pyx_v_lastMipmapLevel;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4875, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.lastMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((unsigned int)__pyx_v_lastMipmapLevel));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_lastMipmapLevel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4875, 0, __PYX_ERR(0, 4875, __pyx_L1_error));

  /* "cuda/cudart.pyx":4877
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         pass
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def firstLayer(self):
 */
  (__pyx_v_self->_ptr[0]).lastMipmapLevel = __pyx_v_lastMipmapLevel;

  /* "cuda/cudart.pyx":4875
 *         return self._ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.lastMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4879
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 *     @property
 *     def firstLayer(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].firstLayer
 *     @firstLayer.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4879, 0, __PYX_ERR(0, 4879, __pyx_L1_error));

  /* "cuda/cudart.pyx":4880
 *     @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(0, 4880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4879
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 *     @property
 *     def firstLayer(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].firstLayer
 *     @firstLayer.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.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/cudart.pyx":4882
 *         return self._ptr[0].firstLayer
 *     @firstLayer.setter
 *     def firstLayer(self, unsigned int firstLayer):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].firstLayer = firstLayer
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstLayer); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstLayer) {
  unsigned int __pyx_v_firstLayer;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4882, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.firstLayer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((unsigned int)__pyx_v_firstLayer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_firstLayer) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4882, 0, __PYX_ERR(0, 4882, __pyx_L1_error));

  /* "cuda/cudart.pyx":4884
 *     def firstLayer(self, unsigned int firstLayer):
 *         pass
 *         self._ptr[0].firstLayer = firstLayer             # <<<<<<<<<<<<<<
 *     @property
 *     def lastLayer(self):
 */
  (__pyx_v_self->_ptr[0]).firstLayer = __pyx_v_firstLayer;

  /* "cuda/cudart.pyx":4882
 *         return self._ptr[0].firstLayer
 *     @firstLayer.setter
 *     def firstLayer(self, unsigned int firstLayer):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].firstLayer = firstLayer
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.firstLayer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4886
 *         self._ptr[0].firstLayer = firstLayer
 *     @property
 *     def lastLayer(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].lastLayer
 *     @lastLayer.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer___get__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer___get__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4886, 0, __PYX_ERR(0, 4886, __pyx_L1_error));

  /* "cuda/cudart.pyx":4887
 *     @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(0, 4887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4886
 *         self._ptr[0].firstLayer = firstLayer
 *     @property
 *     def lastLayer(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].lastLayer
 *     @lastLayer.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.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/cudart.pyx":4889
 *         return self._ptr[0].lastLayer
 *     @lastLayer.setter
 *     def lastLayer(self, unsigned int lastLayer):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].lastLayer = lastLayer
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastLayer); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastLayer) {
  unsigned int __pyx_v_lastLayer;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 4889, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.lastLayer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((unsigned int)__pyx_v_lastLayer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, unsigned int __pyx_v_lastLayer) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4889, 0, __PYX_ERR(0, 4889, __pyx_L1_error));

  /* "cuda/cudart.pyx":4891
 *     def lastLayer(self, unsigned int lastLayer):
 *         pass
 *         self._ptr[0].lastLayer = lastLayer             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaPointerAttributes:
 */
  (__pyx_v_self->_ptr[0]).lastLayer = __pyx_v_lastLayer;

  /* "cuda/cudart.pyx":4889
 *         return self._ptr[0].lastLayer
 *     @lastLayer.setter
 *     def lastLayer(self, unsigned int lastLayer):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].lastLayer = lastLayer
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.lastLayer.__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_6cudart_20cudaResourceViewDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_10__reduce_cython__[] = "cudaResourceViewDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaResourceViewDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__162)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__163, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.__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_6cudart_20cudaResourceViewDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_12__setstate_cython__[] = "cudaResourceViewDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaResourceViewDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaResourceViewDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__165, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaResourceViewDesc.__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/cudart.pyx":4925
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4925, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4925, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4925, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes___cinit__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4925, 0, __PYX_ERR(0, 4925, __pyx_L1_error));

  /* "cuda/cudart.pyx":4926
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4927
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaPointerAttributes *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":4926
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4929
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaPointerAttributes *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaPointerAttributes *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4925
 * 
 *     """
 *     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.cudart.cudaPointerAttributes.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4930
 *         else:
 *             self._ptr = <ccudart.cudaPointerAttributes *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 4930, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 4930, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4930, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 4930, 0, __PYX_ERR(0, 4930, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4932
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4932, 0, __PYX_ERR(0, 4932, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaPointerAttributes.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":4934
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_6getPtr[] = "cudaPointerAttributes.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaPointerAttributes_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self) {
  PyObject *__pyx_r = 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__166)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4934, 0, __PYX_ERR(0, 4934, __pyx_L1_error));

  /* "cuda/cudart.pyx":4935
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4934
 *     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.cudart.cudaPointerAttributes.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/cudart.pyx":4936
 *     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_6cudart_21cudaPointerAttributes_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 4936, 0, __PYX_ERR(0, 4936, __pyx_L1_error));

  /* "cuda/cudart.pyx":4937
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4938
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['device : ' + str(self.device)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4938, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4939
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             str_list += ['device : ' + str(self.device)]
 *             str_list += ['devicePointer : ' + hex(self.devicePointer)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_type, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4940
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['device : ' + str(self.device)]             # <<<<<<<<<<<<<<
 *             str_list += ['devicePointer : ' + hex(self.devicePointer)]
 *             str_list += ['hostPointer : ' + hex(self.hostPointer)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_device_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_device, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4941
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['device : ' + str(self.device)]
 *             str_list += ['devicePointer : ' + hex(self.devicePointer)]             # <<<<<<<<<<<<<<
 *             str_list += ['hostPointer : ' + hex(self.hostPointer)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_devicePointer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_devicePointer, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4942
 *             str_list += ['device : ' + str(self.device)]
 *             str_list += ['devicePointer : ' + hex(self.devicePointer)]
 *             str_list += ['hostPointer : ' + hex(self.hostPointer)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_hostPointer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_hostPointer, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4943
 *             str_list += ['devicePointer : ' + hex(self.devicePointer)]
 *             str_list += ['hostPointer : ' + hex(self.hostPointer)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4937
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  }

  /* "cuda/cudart.pyx":4945
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4936
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.__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/cudart.pyx":4948
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaMemoryType(self._ptr[0].type)
 *     @type.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_4type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4type___get__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4948, 0, __PYX_ERR(0, 4948, __pyx_L1_error));

  /* "cuda/cudart.pyx":4949
 *     @property
 *     def type(self):
 *         return cudaMemoryType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : cudaMemoryType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaMemoryType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaMemoryType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 4949, __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/cudart.pyx":4948
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaMemoryType(self._ptr[0].type)
 *     @type.setter
 */

  /* 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.cudart.cudaPointerAttributes.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/cudart.pyx":4951
 *         return cudaMemoryType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaMemoryType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 4951, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_4type_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__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_6cudart_21cudaPointerAttributes_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaMemoryType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4951, 0, __PYX_ERR(0, 4951, __pyx_L1_error));

  /* "cuda/cudart.pyx":4953
 *     def type(self, type not None : cudaMemoryType):
 *         pass
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def device(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaMemoryType)__Pyx_PyInt_As_enum__cudaMemoryType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":4951
 *         return cudaMemoryType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaMemoryType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaPointerAttributes.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4955
 *         self._ptr[0].type = type.value
 *     @property
 *     def device(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].device
 *     @device.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_6device_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_6device_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6device___get__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6device___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4955, 0, __PYX_ERR(0, 4955, __pyx_L1_error));

  /* "cuda/cudart.pyx":4956
 *     @property
 *     def device(self):
 *         return self._ptr[0].device             # <<<<<<<<<<<<<<
 *     @device.setter
 *     def device(self, int device):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).device); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4955
 *         self._ptr[0].type = type.value
 *     @property
 *     def device(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].device
 *     @device.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.device.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4958
 *         return self._ptr[0].device
 *     @device.setter
 *     def device(self, int device):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].device = device
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_6device_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_device); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_6device_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_device) {
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_device); {
    __pyx_v_device = __Pyx_PyInt_As_int(__pyx_arg_device); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4958, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.device.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6device_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self), ((int)__pyx_v_device));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_6device_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, int __pyx_v_device) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4958, 0, __PYX_ERR(0, 4958, __pyx_L1_error));

  /* "cuda/cudart.pyx":4960
 *     def device(self, int device):
 *         pass
 *         self._ptr[0].device = device             # <<<<<<<<<<<<<<
 *     @property
 *     def devicePointer(self):
 */
  (__pyx_v_self->_ptr[0]).device = __pyx_v_device;

  /* "cuda/cudart.pyx":4958
 *         return self._ptr[0].device
 *     @device.setter
 *     def device(self, int device):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].device = device
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.device.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4962
 *         self._ptr[0].device = device
 *     @property
 *     def devicePointer(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].devicePointer
 *     @devicePointer.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_13devicePointer___get__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_13devicePointer___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4962, 0, __PYX_ERR(0, 4962, __pyx_L1_error));

  /* "cuda/cudart.pyx":4963
 *     @property
 *     def devicePointer(self):
 *         return <void_ptr>self._ptr[0].devicePointer             # <<<<<<<<<<<<<<
 *     @devicePointer.setter
 *     def devicePointer(self, devicePointer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).devicePointer)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4962
 *         self._ptr[0].device = device
 *     @property
 *     def devicePointer(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].devicePointer
 *     @devicePointer.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.devicePointer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4965
 *         return <void_ptr>self._ptr[0].devicePointer
 *     @devicePointer.setter
 *     def devicePointer(self, devicePointer):             # <<<<<<<<<<<<<<
 *         _cdevicePointer = utils.HelperInputVoidPtr(devicePointer)
 *         self._ptr[0].devicePointer = <void*><void_ptr>_cdevicePointer.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devicePointer); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devicePointer) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self), ((PyObject *)__pyx_v_devicePointer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, PyObject *__pyx_v_devicePointer) {
  PyObject *__pyx_v__cdevicePointer = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4965, 0, __PYX_ERR(0, 4965, __pyx_L1_error));

  /* "cuda/cudart.pyx":4966
 *     @devicePointer.setter
 *     def devicePointer(self, devicePointer):
 *         _cdevicePointer = utils.HelperInputVoidPtr(devicePointer)             # <<<<<<<<<<<<<<
 *         self._ptr[0].devicePointer = <void*><void_ptr>_cdevicePointer.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devicePointer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdevicePointer = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4967
 *     def devicePointer(self, devicePointer):
 *         _cdevicePointer = utils.HelperInputVoidPtr(devicePointer)
 *         self._ptr[0].devicePointer = <void*><void_ptr>_cdevicePointer.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def hostPointer(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdevicePointer, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4967, __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(0, 4967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).devicePointer = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":4965
 *         return <void_ptr>self._ptr[0].devicePointer
 *     @devicePointer.setter
 *     def devicePointer(self, devicePointer):             # <<<<<<<<<<<<<<
 *         _cdevicePointer = utils.HelperInputVoidPtr(devicePointer)
 *         self._ptr[0].devicePointer = <void*><void_ptr>_cdevicePointer.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.devicePointer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdevicePointer);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4969
 *         self._ptr[0].devicePointer = <void*><void_ptr>_cdevicePointer.cptr
 *     @property
 *     def hostPointer(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].hostPointer
 *     @hostPointer.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_11hostPointer___get__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_11hostPointer___get__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 4969, 0, __PYX_ERR(0, 4969, __pyx_L1_error));

  /* "cuda/cudart.pyx":4970
 *     @property
 *     def hostPointer(self):
 *         return <void_ptr>self._ptr[0].hostPointer             # <<<<<<<<<<<<<<
 *     @hostPointer.setter
 *     def hostPointer(self, hostPointer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).hostPointer)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4969
 *         self._ptr[0].devicePointer = <void*><void_ptr>_cdevicePointer.cptr
 *     @property
 *     def hostPointer(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].hostPointer
 *     @hostPointer.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.hostPointer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4972
 *         return <void_ptr>self._ptr[0].hostPointer
 *     @hostPointer.setter
 *     def hostPointer(self, hostPointer):             # <<<<<<<<<<<<<<
 *         _chostPointer = utils.HelperInputVoidPtr(hostPointer)
 *         self._ptr[0].hostPointer = <void*><void_ptr>_chostPointer.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hostPointer); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hostPointer) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self), ((PyObject *)__pyx_v_hostPointer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_2__set__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, PyObject *__pyx_v_hostPointer) {
  PyObject *__pyx_v__chostPointer = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 4972, 0, __PYX_ERR(0, 4972, __pyx_L1_error));

  /* "cuda/cudart.pyx":4973
 *     @hostPointer.setter
 *     def hostPointer(self, hostPointer):
 *         _chostPointer = utils.HelperInputVoidPtr(hostPointer)             # <<<<<<<<<<<<<<
 *         self._ptr[0].hostPointer = <void*><void_ptr>_chostPointer.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_hostPointer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chostPointer = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4974
 *     def hostPointer(self, hostPointer):
 *         _chostPointer = utils.HelperInputVoidPtr(hostPointer)
 *         self._ptr[0].hostPointer = <void*><void_ptr>_chostPointer.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaFuncAttributes:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__chostPointer, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4974, __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(0, 4974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).hostPointer = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":4972
 *         return <void_ptr>self._ptr[0].hostPointer
 *     @hostPointer.setter
 *     def hostPointer(self, hostPointer):             # <<<<<<<<<<<<<<
 *         _chostPointer = utils.HelperInputVoidPtr(hostPointer)
 *         self._ptr[0].hostPointer = <void*><void_ptr>_chostPointer.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.hostPointer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__chostPointer);
  __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_6cudart_21cudaPointerAttributes_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_10__reduce_cython__[] = "cudaPointerAttributes.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaPointerAttributes_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__168, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.__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_6cudart_21cudaPointerAttributes_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_12__setstate_cython__[] = "cudaPointerAttributes.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaPointerAttributes_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaPointerAttributes_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaPointerAttributes_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__169)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__170, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaPointerAttributes.__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/cudart.pyx":5028
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5028, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5028, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5028, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes___cinit__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5028, 0, __PYX_ERR(0, 5028, __pyx_L1_error));

  /* "cuda/cudart.pyx":5029
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5030
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaFuncAttributes *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5029
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5032
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaFuncAttributes *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaFuncAttributes *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5028
 * 
 *     """
 *     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.cudart.cudaFuncAttributes.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5033
 *         else:
 *             self._ptr = <ccudart.cudaFuncAttributes *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5033, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5033, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5033, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5033, 0, __PYX_ERR(0, 5033, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5035
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5035, 0, __PYX_ERR(0, 5035, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaFuncAttributes.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5037
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_6getPtr[] = "cudaFuncAttributes.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaFuncAttributes_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = 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__171)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5037, 0, __PYX_ERR(0, 5037, __pyx_L1_error));

  /* "cuda/cudart.pyx":5038
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5037
 *     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.cudart.cudaFuncAttributes.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/cudart.pyx":5039
 *     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_6cudart_18cudaFuncAttributes_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5039, 0, __PYX_ERR(0, 5039, __pyx_L1_error));

  /* "cuda/cudart.pyx":5040
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['sharedSizeBytes : ' + str(self.sharedSizeBytes)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5041
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['sharedSizeBytes : ' + str(self.sharedSizeBytes)]
 *             str_list += ['constSizeBytes : ' + str(self.constSizeBytes)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5042
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['sharedSizeBytes : ' + str(self.sharedSizeBytes)]             # <<<<<<<<<<<<<<
 *             str_list += ['constSizeBytes : ' + str(self.constSizeBytes)]
 *             str_list += ['localSizeBytes : ' + str(self.localSizeBytes)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sharedSizeBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sharedSizeBytes, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5043
 *             str_list = []
 *             str_list += ['sharedSizeBytes : ' + str(self.sharedSizeBytes)]
 *             str_list += ['constSizeBytes : ' + str(self.constSizeBytes)]             # <<<<<<<<<<<<<<
 *             str_list += ['localSizeBytes : ' + str(self.localSizeBytes)]
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_constSizeBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_constSizeBytes, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5044
 *             str_list += ['sharedSizeBytes : ' + str(self.sharedSizeBytes)]
 *             str_list += ['constSizeBytes : ' + str(self.constSizeBytes)]
 *             str_list += ['localSizeBytes : ' + str(self.localSizeBytes)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             str_list += ['numRegs : ' + str(self.numRegs)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_localSizeBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_localSizeBytes, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5045
 *             str_list += ['constSizeBytes : ' + str(self.constSizeBytes)]
 *             str_list += ['localSizeBytes : ' + str(self.localSizeBytes)]
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]             # <<<<<<<<<<<<<<
 *             str_list += ['numRegs : ' + str(self.numRegs)]
 *             str_list += ['ptxVersion : ' + str(self.ptxVersion)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxThreadsPerBlock_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxThreadsPerBlock, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5046
 *             str_list += ['localSizeBytes : ' + str(self.localSizeBytes)]
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             str_list += ['numRegs : ' + str(self.numRegs)]             # <<<<<<<<<<<<<<
 *             str_list += ['ptxVersion : ' + str(self.ptxVersion)]
 *             str_list += ['binaryVersion : ' + str(self.binaryVersion)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_numRegs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_numRegs, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5047
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             str_list += ['numRegs : ' + str(self.numRegs)]
 *             str_list += ['ptxVersion : ' + str(self.ptxVersion)]             # <<<<<<<<<<<<<<
 *             str_list += ['binaryVersion : ' + str(self.binaryVersion)]
 *             str_list += ['cacheModeCA : ' + str(self.cacheModeCA)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_ptxVersion_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_ptxVersion, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5048
 *             str_list += ['numRegs : ' + str(self.numRegs)]
 *             str_list += ['ptxVersion : ' + str(self.ptxVersion)]
 *             str_list += ['binaryVersion : ' + str(self.binaryVersion)]             # <<<<<<<<<<<<<<
 *             str_list += ['cacheModeCA : ' + str(self.cacheModeCA)]
 *             str_list += ['maxDynamicSharedSizeBytes : ' + str(self.maxDynamicSharedSizeBytes)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_binaryVersion_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_binaryVersion, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5049
 *             str_list += ['ptxVersion : ' + str(self.ptxVersion)]
 *             str_list += ['binaryVersion : ' + str(self.binaryVersion)]
 *             str_list += ['cacheModeCA : ' + str(self.cacheModeCA)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxDynamicSharedSizeBytes : ' + str(self.maxDynamicSharedSizeBytes)]
 *             str_list += ['preferredShmemCarveout : ' + str(self.preferredShmemCarveout)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cacheModeCA_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cacheModeCA, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5050
 *             str_list += ['binaryVersion : ' + str(self.binaryVersion)]
 *             str_list += ['cacheModeCA : ' + str(self.cacheModeCA)]
 *             str_list += ['maxDynamicSharedSizeBytes : ' + str(self.maxDynamicSharedSizeBytes)]             # <<<<<<<<<<<<<<
 *             str_list += ['preferredShmemCarveout : ' + str(self.preferredShmemCarveout)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxDynamicSharedSizeBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxDynamicSharedSizeBytes, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5051
 *             str_list += ['cacheModeCA : ' + str(self.cacheModeCA)]
 *             str_list += ['maxDynamicSharedSizeBytes : ' + str(self.maxDynamicSharedSizeBytes)]
 *             str_list += ['preferredShmemCarveout : ' + str(self.preferredShmemCarveout)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_preferredShmemCarveout_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_preferredShmemCarveout, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5052
 *             str_list += ['maxDynamicSharedSizeBytes : ' + str(self.maxDynamicSharedSizeBytes)]
 *             str_list += ['preferredShmemCarveout : ' + str(self.preferredShmemCarveout)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5040
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['sharedSizeBytes : ' + str(self.sharedSizeBytes)]
 */
  }

  /* "cuda/cudart.pyx":5054
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedSizeBytes(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5039
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.__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/cudart.pyx":5056
 *             return ''
 *     @property
 *     def sharedSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedSizeBytes
 *     @sharedSizeBytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5056, 0, __PYX_ERR(0, 5056, __pyx_L1_error));

  /* "cuda/cudart.pyx":5057
 *     @property
 *     def sharedSizeBytes(self):
 *         return self._ptr[0].sharedSizeBytes             # <<<<<<<<<<<<<<
 *     @sharedSizeBytes.setter
 *     def sharedSizeBytes(self, size_t sharedSizeBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).sharedSizeBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5056
 *             return ''
 *     @property
 *     def sharedSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedSizeBytes
 *     @sharedSizeBytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.sharedSizeBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5059
 *         return self._ptr[0].sharedSizeBytes
 *     @sharedSizeBytes.setter
 *     def sharedSizeBytes(self, size_t sharedSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedSizeBytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedSizeBytes) {
  size_t __pyx_v_sharedSizeBytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_sharedSizeBytes); {
    __pyx_v_sharedSizeBytes = __Pyx_PyInt_As_size_t(__pyx_arg_sharedSizeBytes); if (unlikely((__pyx_v_sharedSizeBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5059, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.sharedSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((size_t)__pyx_v_sharedSizeBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, size_t __pyx_v_sharedSizeBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5059, 0, __PYX_ERR(0, 5059, __pyx_L1_error));

  /* "cuda/cudart.pyx":5060
 *     @sharedSizeBytes.setter
 *     def sharedSizeBytes(self, size_t sharedSizeBytes):
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def constSizeBytes(self):
 */
  (__pyx_v_self->_ptr[0]).sharedSizeBytes = __pyx_v_sharedSizeBytes;

  /* "cuda/cudart.pyx":5059
 *         return self._ptr[0].sharedSizeBytes
 *     @sharedSizeBytes.setter
 *     def sharedSizeBytes(self, size_t sharedSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.sharedSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5062
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes
 *     @property
 *     def constSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].constSizeBytes
 *     @constSizeBytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5062, 0, __PYX_ERR(0, 5062, __pyx_L1_error));

  /* "cuda/cudart.pyx":5063
 *     @property
 *     def constSizeBytes(self):
 *         return self._ptr[0].constSizeBytes             # <<<<<<<<<<<<<<
 *     @constSizeBytes.setter
 *     def constSizeBytes(self, size_t constSizeBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).constSizeBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5062
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes
 *     @property
 *     def constSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].constSizeBytes
 *     @constSizeBytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.constSizeBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5065
 *         return self._ptr[0].constSizeBytes
 *     @constSizeBytes.setter
 *     def constSizeBytes(self, size_t constSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].constSizeBytes = constSizeBytes
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_constSizeBytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_constSizeBytes) {
  size_t __pyx_v_constSizeBytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_constSizeBytes); {
    __pyx_v_constSizeBytes = __Pyx_PyInt_As_size_t(__pyx_arg_constSizeBytes); if (unlikely((__pyx_v_constSizeBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5065, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.constSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((size_t)__pyx_v_constSizeBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, size_t __pyx_v_constSizeBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5065, 0, __PYX_ERR(0, 5065, __pyx_L1_error));

  /* "cuda/cudart.pyx":5066
 *     @constSizeBytes.setter
 *     def constSizeBytes(self, size_t constSizeBytes):
 *         self._ptr[0].constSizeBytes = constSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def localSizeBytes(self):
 */
  (__pyx_v_self->_ptr[0]).constSizeBytes = __pyx_v_constSizeBytes;

  /* "cuda/cudart.pyx":5065
 *         return self._ptr[0].constSizeBytes
 *     @constSizeBytes.setter
 *     def constSizeBytes(self, size_t constSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].constSizeBytes = constSizeBytes
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.constSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5068
 *         self._ptr[0].constSizeBytes = constSizeBytes
 *     @property
 *     def localSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].localSizeBytes
 *     @localSizeBytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5068, 0, __PYX_ERR(0, 5068, __pyx_L1_error));

  /* "cuda/cudart.pyx":5069
 *     @property
 *     def localSizeBytes(self):
 *         return self._ptr[0].localSizeBytes             # <<<<<<<<<<<<<<
 *     @localSizeBytes.setter
 *     def localSizeBytes(self, size_t localSizeBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).localSizeBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5068
 *         self._ptr[0].constSizeBytes = constSizeBytes
 *     @property
 *     def localSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].localSizeBytes
 *     @localSizeBytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.localSizeBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5071
 *         return self._ptr[0].localSizeBytes
 *     @localSizeBytes.setter
 *     def localSizeBytes(self, size_t localSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].localSizeBytes = localSizeBytes
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_localSizeBytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_localSizeBytes) {
  size_t __pyx_v_localSizeBytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_localSizeBytes); {
    __pyx_v_localSizeBytes = __Pyx_PyInt_As_size_t(__pyx_arg_localSizeBytes); if (unlikely((__pyx_v_localSizeBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5071, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.localSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((size_t)__pyx_v_localSizeBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, size_t __pyx_v_localSizeBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5071, 0, __PYX_ERR(0, 5071, __pyx_L1_error));

  /* "cuda/cudart.pyx":5072
 *     @localSizeBytes.setter
 *     def localSizeBytes(self, size_t localSizeBytes):
 *         self._ptr[0].localSizeBytes = localSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsPerBlock(self):
 */
  (__pyx_v_self->_ptr[0]).localSizeBytes = __pyx_v_localSizeBytes;

  /* "cuda/cudart.pyx":5071
 *         return self._ptr[0].localSizeBytes
 *     @localSizeBytes.setter
 *     def localSizeBytes(self, size_t localSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].localSizeBytes = localSizeBytes
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.localSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5074
 *         self._ptr[0].localSizeBytes = localSizeBytes
 *     @property
 *     def maxThreadsPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5074, 0, __PYX_ERR(0, 5074, __pyx_L1_error));

  /* "cuda/cudart.pyx":5075
 *     @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(0, 5075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5074
 *         self._ptr[0].localSizeBytes = localSizeBytes
 *     @property
 *     def maxThreadsPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.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/cudart.pyx":5077
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):             # <<<<<<<<<<<<<<
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerBlock); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerBlock) {
  int __pyx_v_maxThreadsPerBlock;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 5077, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.maxThreadsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((int)__pyx_v_maxThreadsPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_maxThreadsPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5077, 0, __PYX_ERR(0, 5077, __pyx_L1_error));

  /* "cuda/cudart.pyx":5078
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def numRegs(self):
 */
  (__pyx_v_self->_ptr[0]).maxThreadsPerBlock = __pyx_v_maxThreadsPerBlock;

  /* "cuda/cudart.pyx":5077
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):             # <<<<<<<<<<<<<<
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.maxThreadsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5080
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property
 *     def numRegs(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numRegs
 *     @numRegs.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7numRegs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7numRegs_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_7numRegs___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_7numRegs___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5080, 0, __PYX_ERR(0, 5080, __pyx_L1_error));

  /* "cuda/cudart.pyx":5081
 *     @property
 *     def numRegs(self):
 *         return self._ptr[0].numRegs             # <<<<<<<<<<<<<<
 *     @numRegs.setter
 *     def numRegs(self, int numRegs):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).numRegs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5080
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property
 *     def numRegs(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numRegs
 *     @numRegs.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.numRegs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5083
 *         return self._ptr[0].numRegs
 *     @numRegs.setter
 *     def numRegs(self, int numRegs):             # <<<<<<<<<<<<<<
 *         self._ptr[0].numRegs = numRegs
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7numRegs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numRegs); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7numRegs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numRegs) {
  int __pyx_v_numRegs;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_numRegs); {
    __pyx_v_numRegs = __Pyx_PyInt_As_int(__pyx_arg_numRegs); if (unlikely((__pyx_v_numRegs == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5083, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.numRegs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_7numRegs_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((int)__pyx_v_numRegs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_7numRegs_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_numRegs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5083, 0, __PYX_ERR(0, 5083, __pyx_L1_error));

  /* "cuda/cudart.pyx":5084
 *     @numRegs.setter
 *     def numRegs(self, int numRegs):
 *         self._ptr[0].numRegs = numRegs             # <<<<<<<<<<<<<<
 *     @property
 *     def ptxVersion(self):
 */
  (__pyx_v_self->_ptr[0]).numRegs = __pyx_v_numRegs;

  /* "cuda/cudart.pyx":5083
 *         return self._ptr[0].numRegs
 *     @numRegs.setter
 *     def numRegs(self, int numRegs):             # <<<<<<<<<<<<<<
 *         self._ptr[0].numRegs = numRegs
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.numRegs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5086
 *         self._ptr[0].numRegs = numRegs
 *     @property
 *     def ptxVersion(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].ptxVersion
 *     @ptxVersion.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5086, 0, __PYX_ERR(0, 5086, __pyx_L1_error));

  /* "cuda/cudart.pyx":5087
 *     @property
 *     def ptxVersion(self):
 *         return self._ptr[0].ptxVersion             # <<<<<<<<<<<<<<
 *     @ptxVersion.setter
 *     def ptxVersion(self, int ptxVersion):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).ptxVersion); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5086
 *         self._ptr[0].numRegs = numRegs
 *     @property
 *     def ptxVersion(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].ptxVersion
 *     @ptxVersion.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.ptxVersion.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5089
 *         return self._ptr[0].ptxVersion
 *     @ptxVersion.setter
 *     def ptxVersion(self, int ptxVersion):             # <<<<<<<<<<<<<<
 *         self._ptr[0].ptxVersion = ptxVersion
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_ptxVersion); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_ptxVersion) {
  int __pyx_v_ptxVersion;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_ptxVersion); {
    __pyx_v_ptxVersion = __Pyx_PyInt_As_int(__pyx_arg_ptxVersion); if (unlikely((__pyx_v_ptxVersion == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5089, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.ptxVersion.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((int)__pyx_v_ptxVersion));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_ptxVersion) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5089, 0, __PYX_ERR(0, 5089, __pyx_L1_error));

  /* "cuda/cudart.pyx":5090
 *     @ptxVersion.setter
 *     def ptxVersion(self, int ptxVersion):
 *         self._ptr[0].ptxVersion = ptxVersion             # <<<<<<<<<<<<<<
 *     @property
 *     def binaryVersion(self):
 */
  (__pyx_v_self->_ptr[0]).ptxVersion = __pyx_v_ptxVersion;

  /* "cuda/cudart.pyx":5089
 *         return self._ptr[0].ptxVersion
 *     @ptxVersion.setter
 *     def ptxVersion(self, int ptxVersion):             # <<<<<<<<<<<<<<
 *         self._ptr[0].ptxVersion = ptxVersion
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.ptxVersion.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5092
 *         self._ptr[0].ptxVersion = ptxVersion
 *     @property
 *     def binaryVersion(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].binaryVersion
 *     @binaryVersion.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5092, 0, __PYX_ERR(0, 5092, __pyx_L1_error));

  /* "cuda/cudart.pyx":5093
 *     @property
 *     def binaryVersion(self):
 *         return self._ptr[0].binaryVersion             # <<<<<<<<<<<<<<
 *     @binaryVersion.setter
 *     def binaryVersion(self, int binaryVersion):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).binaryVersion); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5092
 *         self._ptr[0].ptxVersion = ptxVersion
 *     @property
 *     def binaryVersion(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].binaryVersion
 *     @binaryVersion.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.binaryVersion.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5095
 *         return self._ptr[0].binaryVersion
 *     @binaryVersion.setter
 *     def binaryVersion(self, int binaryVersion):             # <<<<<<<<<<<<<<
 *         self._ptr[0].binaryVersion = binaryVersion
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_binaryVersion); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_binaryVersion) {
  int __pyx_v_binaryVersion;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_binaryVersion); {
    __pyx_v_binaryVersion = __Pyx_PyInt_As_int(__pyx_arg_binaryVersion); if (unlikely((__pyx_v_binaryVersion == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5095, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.binaryVersion.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((int)__pyx_v_binaryVersion));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_binaryVersion) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5095, 0, __PYX_ERR(0, 5095, __pyx_L1_error));

  /* "cuda/cudart.pyx":5096
 *     @binaryVersion.setter
 *     def binaryVersion(self, int binaryVersion):
 *         self._ptr[0].binaryVersion = binaryVersion             # <<<<<<<<<<<<<<
 *     @property
 *     def cacheModeCA(self):
 */
  (__pyx_v_self->_ptr[0]).binaryVersion = __pyx_v_binaryVersion;

  /* "cuda/cudart.pyx":5095
 *         return self._ptr[0].binaryVersion
 *     @binaryVersion.setter
 *     def binaryVersion(self, int binaryVersion):             # <<<<<<<<<<<<<<
 *         self._ptr[0].binaryVersion = binaryVersion
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.binaryVersion.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5098
 *         self._ptr[0].binaryVersion = binaryVersion
 *     @property
 *     def cacheModeCA(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cacheModeCA
 *     @cacheModeCA.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5098, 0, __PYX_ERR(0, 5098, __pyx_L1_error));

  /* "cuda/cudart.pyx":5099
 *     @property
 *     def cacheModeCA(self):
 *         return self._ptr[0].cacheModeCA             # <<<<<<<<<<<<<<
 *     @cacheModeCA.setter
 *     def cacheModeCA(self, int cacheModeCA):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).cacheModeCA); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5098
 *         self._ptr[0].binaryVersion = binaryVersion
 *     @property
 *     def cacheModeCA(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cacheModeCA
 *     @cacheModeCA.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.cacheModeCA.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5101
 *         return self._ptr[0].cacheModeCA
 *     @cacheModeCA.setter
 *     def cacheModeCA(self, int cacheModeCA):             # <<<<<<<<<<<<<<
 *         self._ptr[0].cacheModeCA = cacheModeCA
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cacheModeCA); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cacheModeCA) {
  int __pyx_v_cacheModeCA;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_cacheModeCA); {
    __pyx_v_cacheModeCA = __Pyx_PyInt_As_int(__pyx_arg_cacheModeCA); if (unlikely((__pyx_v_cacheModeCA == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5101, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.cacheModeCA.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((int)__pyx_v_cacheModeCA));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_cacheModeCA) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5101, 0, __PYX_ERR(0, 5101, __pyx_L1_error));

  /* "cuda/cudart.pyx":5102
 *     @cacheModeCA.setter
 *     def cacheModeCA(self, int cacheModeCA):
 *         self._ptr[0].cacheModeCA = cacheModeCA             # <<<<<<<<<<<<<<
 *     @property
 *     def maxDynamicSharedSizeBytes(self):
 */
  (__pyx_v_self->_ptr[0]).cacheModeCA = __pyx_v_cacheModeCA;

  /* "cuda/cudart.pyx":5101
 *         return self._ptr[0].cacheModeCA
 *     @cacheModeCA.setter
 *     def cacheModeCA(self, int cacheModeCA):             # <<<<<<<<<<<<<<
 *         self._ptr[0].cacheModeCA = cacheModeCA
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.cacheModeCA.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5104
 *         self._ptr[0].cacheModeCA = cacheModeCA
 *     @property
 *     def maxDynamicSharedSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxDynamicSharedSizeBytes
 *     @maxDynamicSharedSizeBytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5104, 0, __PYX_ERR(0, 5104, __pyx_L1_error));

  /* "cuda/cudart.pyx":5105
 *     @property
 *     def maxDynamicSharedSizeBytes(self):
 *         return self._ptr[0].maxDynamicSharedSizeBytes             # <<<<<<<<<<<<<<
 *     @maxDynamicSharedSizeBytes.setter
 *     def maxDynamicSharedSizeBytes(self, int maxDynamicSharedSizeBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxDynamicSharedSizeBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5104
 *         self._ptr[0].cacheModeCA = cacheModeCA
 *     @property
 *     def maxDynamicSharedSizeBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxDynamicSharedSizeBytes
 *     @maxDynamicSharedSizeBytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.maxDynamicSharedSizeBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5107
 *         return self._ptr[0].maxDynamicSharedSizeBytes
 *     @maxDynamicSharedSizeBytes.setter
 *     def maxDynamicSharedSizeBytes(self, int maxDynamicSharedSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxDynamicSharedSizeBytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxDynamicSharedSizeBytes) {
  int __pyx_v_maxDynamicSharedSizeBytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxDynamicSharedSizeBytes); {
    __pyx_v_maxDynamicSharedSizeBytes = __Pyx_PyInt_As_int(__pyx_arg_maxDynamicSharedSizeBytes); if (unlikely((__pyx_v_maxDynamicSharedSizeBytes == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5107, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.maxDynamicSharedSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((int)__pyx_v_maxDynamicSharedSizeBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_maxDynamicSharedSizeBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5107, 0, __PYX_ERR(0, 5107, __pyx_L1_error));

  /* "cuda/cudart.pyx":5108
 *     @maxDynamicSharedSizeBytes.setter
 *     def maxDynamicSharedSizeBytes(self, int maxDynamicSharedSizeBytes):
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def preferredShmemCarveout(self):
 */
  (__pyx_v_self->_ptr[0]).maxDynamicSharedSizeBytes = __pyx_v_maxDynamicSharedSizeBytes;

  /* "cuda/cudart.pyx":5107
 *         return self._ptr[0].maxDynamicSharedSizeBytes
 *     @maxDynamicSharedSizeBytes.setter
 *     def maxDynamicSharedSizeBytes(self, int maxDynamicSharedSizeBytes):             # <<<<<<<<<<<<<<
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.maxDynamicSharedSizeBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5110
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes
 *     @property
 *     def preferredShmemCarveout(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].preferredShmemCarveout
 *     @preferredShmemCarveout.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout___get__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout___get__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5110, 0, __PYX_ERR(0, 5110, __pyx_L1_error));

  /* "cuda/cudart.pyx":5111
 *     @property
 *     def preferredShmemCarveout(self):
 *         return self._ptr[0].preferredShmemCarveout             # <<<<<<<<<<<<<<
 *     @preferredShmemCarveout.setter
 *     def preferredShmemCarveout(self, int preferredShmemCarveout):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).preferredShmemCarveout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5110
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes
 *     @property
 *     def preferredShmemCarveout(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].preferredShmemCarveout
 *     @preferredShmemCarveout.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.preferredShmemCarveout.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5113
 *         return self._ptr[0].preferredShmemCarveout
 *     @preferredShmemCarveout.setter
 *     def preferredShmemCarveout(self, int preferredShmemCarveout):             # <<<<<<<<<<<<<<
 *         self._ptr[0].preferredShmemCarveout = preferredShmemCarveout
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_preferredShmemCarveout); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_preferredShmemCarveout) {
  int __pyx_v_preferredShmemCarveout;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_preferredShmemCarveout); {
    __pyx_v_preferredShmemCarveout = __Pyx_PyInt_As_int(__pyx_arg_preferredShmemCarveout); if (unlikely((__pyx_v_preferredShmemCarveout == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5113, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.preferredShmemCarveout.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((int)__pyx_v_preferredShmemCarveout));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_2__set__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, int __pyx_v_preferredShmemCarveout) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5113, 0, __PYX_ERR(0, 5113, __pyx_L1_error));

  /* "cuda/cudart.pyx":5114
 *     @preferredShmemCarveout.setter
 *     def preferredShmemCarveout(self, int preferredShmemCarveout):
 *         self._ptr[0].preferredShmemCarveout = preferredShmemCarveout             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMemLocation:
 */
  (__pyx_v_self->_ptr[0]).preferredShmemCarveout = __pyx_v_preferredShmemCarveout;

  /* "cuda/cudart.pyx":5113
 *         return self._ptr[0].preferredShmemCarveout
 *     @preferredShmemCarveout.setter
 *     def preferredShmemCarveout(self, int preferredShmemCarveout):             # <<<<<<<<<<<<<<
 *         self._ptr[0].preferredShmemCarveout = preferredShmemCarveout
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.preferredShmemCarveout.__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_6cudart_18cudaFuncAttributes_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_10__reduce_cython__[] = "cudaFuncAttributes.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaFuncAttributes_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  PyObject *__pyx_r = 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__172)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__173, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.__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_6cudart_18cudaFuncAttributes_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_12__setstate_cython__[] = "cudaFuncAttributes.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaFuncAttributes_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaFuncAttributes_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaFuncAttributes_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__174)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__175, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaFuncAttributes.__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/cudart.pyx":5134
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5134, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5134, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5134, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaMemLocation___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5134, 0, __PYX_ERR(0, 5134, __pyx_L1_error));

  /* "cuda/cudart.pyx":5135
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5136
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemLocation *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5135
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5138
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemLocation *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemLocation *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5134
 * 
 *     """
 *     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.cudart.cudaMemLocation.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5139
 *         else:
 *             self._ptr = <ccudart.cudaMemLocation *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5139, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5139, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5139, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaMemLocation_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5139, 0, __PYX_ERR(0, 5139, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5141
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_15cudaMemLocation_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_15cudaMemLocation_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_15cudaMemLocation_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_15cudaMemLocation_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5141, 0, __PYX_ERR(0, 5141, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemLocation.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5143
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaMemLocation_6getPtr[] = "cudaMemLocation.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaMemLocation_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaMemLocation_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaMemLocation_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5143, 0, __PYX_ERR(0, 5143, __pyx_L1_error));

  /* "cuda/cudart.pyx":5144
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5143
 *     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.cudart.cudaMemLocation.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/cudart.pyx":5145
 *     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_6cudart_15cudaMemLocation_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5145, 0, __PYX_ERR(0, 5145, __pyx_L1_error));

  /* "cuda/cudart.pyx":5146
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5147
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['id : ' + str(self.id)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5148
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             str_list += ['id : ' + str(self.id)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_type, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5149
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['id : ' + str(self.id)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_id_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_id, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5150
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['id : ' + str(self.id)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5146
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  }

  /* "cuda/cudart.pyx":5152
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5145
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.__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/cudart.pyx":5155
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaMemLocationType(self._ptr[0].type)
 *     @type.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_4type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_4type___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5155, 0, __PYX_ERR(0, 5155, __pyx_L1_error));

  /* "cuda/cudart.pyx":5156
 *     @property
 *     def type(self):
 *         return cudaMemLocationType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : cudaMemLocationType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaMemLocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaMemLocationType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 5156, __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/cudart.pyx":5155
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaMemLocationType(self._ptr[0].type)
 *     @type.setter
 */

  /* 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.cudart.cudaMemLocation.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/cudart.pyx":5158
 *         return cudaMemLocationType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaMemLocationType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 5158, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_4type_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__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_6cudart_15cudaMemLocation_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaMemLocationType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5158, 0, __PYX_ERR(0, 5158, __pyx_L1_error));

  /* "cuda/cudart.pyx":5160
 *     def type(self, type not None : cudaMemLocationType):
 *         pass
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def id(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaMemLocationType)__Pyx_PyInt_As_enum__cudaMemLocationType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":5158
 *         return cudaMemLocationType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaMemLocationType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaMemLocation.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5162
 *         self._ptr[0].type = type.value
 *     @property
 *     def id(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].id
 *     @id.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_2id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_2id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_2id___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_2id___get__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5162, 0, __PYX_ERR(0, 5162, __pyx_L1_error));

  /* "cuda/cudart.pyx":5163
 *     @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(0, 5163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5162
 *         self._ptr[0].type = type.value
 *     @property
 *     def id(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].id
 *     @id.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.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/cudart.pyx":5165
 *         return self._ptr[0].id
 *     @id.setter
 *     def id(self, int id):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].id = id
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_id); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaMemLocation_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_id) {
  int __pyx_v_id;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 5165, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_2id_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self), ((int)__pyx_v_id));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaMemLocation_2id_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, int __pyx_v_id) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5165, 0, __PYX_ERR(0, 5165, __pyx_L1_error));

  /* "cuda/cudart.pyx":5167
 *     def id(self, int id):
 *         pass
 *         self._ptr[0].id = id             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMemAccessDesc:
 */
  (__pyx_v_self->_ptr[0]).id = __pyx_v_id;

  /* "cuda/cudart.pyx":5165
 *         return self._ptr[0].id
 *     @id.setter
 *     def id(self, int id):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].id = id
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.id.__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_6cudart_15cudaMemLocation_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaMemLocation_10__reduce_cython__[] = "cudaMemLocation.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaMemLocation_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaMemLocation_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaMemLocation_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self) {
  PyObject *__pyx_r = 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__177)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__178, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.__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_6cudart_15cudaMemLocation_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaMemLocation_12__setstate_cython__[] = "cudaMemLocation.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaMemLocation_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaMemLocation_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15cudaMemLocation_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaMemLocation_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaMemLocation_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaMemLocation_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__180, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemLocation.__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/cudart.pyx":5186
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5186, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5186, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5186, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAccessDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5186, 0, __PYX_ERR(0, 5186, __pyx_L1_error));

  /* "cuda/cudart.pyx":5187
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5188
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemAccessDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5187
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5190
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemAccessDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemAccessDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5186
 * 
 *     """
 *     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.cudart.cudaMemAccessDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5191
 *         else:
 *             self._ptr = <ccudart.cudaMemAccessDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5191, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5191, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5191, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAccessDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5191, 0, __PYX_ERR(0, 5191, __pyx_L1_error));

  /* "cuda/cudart.pyx":5192
 *             self._ptr = <ccudart.cudaMemAccessDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_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(0, 5192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).location))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 5192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemLocation), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_location);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_location));
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5191
 *         else:
 *             self._ptr = <ccudart.cudaMemAccessDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = cudaMemLocation(_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.cudart.cudaMemAccessDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5193
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5193, 0, __PYX_ERR(0, 5193, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemAccessDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5195
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_6getPtr[] = "cudaMemAccessDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaMemAccessDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__181)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5195, 0, __PYX_ERR(0, 5195, __pyx_L1_error));

  /* "cuda/cudart.pyx":5196
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5195
 *     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.cudart.cudaMemAccessDesc.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/cudart.pyx":5197
 *     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_6cudart_17cudaMemAccessDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self) {
  PyObject *__pyx_v_str_list = 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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5197, 0, __PYX_ERR(0, 5197, __pyx_L1_error));

  /* "cuda/cudart.pyx":5198
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5199
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5200
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5200, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_location_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5200, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5200, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5200, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5200, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5200, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr18__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr18__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5200, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5200, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_location, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5201
 *             str_list = []
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5202
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5198
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":5204
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5197
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAccessDesc.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5207
 * 
 *     @property
 *     def location(self):             # <<<<<<<<<<<<<<
 *         return self._location
 *     @location.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_8location_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8location___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8location___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5207, 0, __PYX_ERR(0, 5207, __pyx_L1_error));

  /* "cuda/cudart.pyx":5208
 *     @property
 *     def location(self):
 *         return self._location             # <<<<<<<<<<<<<<
 *     @location.setter
 *     def location(self, location not None : cudaMemLocation):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_location));
  __pyx_r = ((PyObject *)__pyx_v_self->_location);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5207
 * 
 *     @property
 *     def location(self):             # <<<<<<<<<<<<<<
 *         return self._location
 *     @location.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAccessDesc.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/cudart.pyx":5210
 *         return self._location
 *     @location.setter
 *     def location(self, location not None : cudaMemLocation):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(location):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_ptype_4cuda_6cudart_cudaMemLocation, 0, "location", 0))) __PYX_ERR(0, 5210, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_8location_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__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_6cudart_17cudaMemAccessDesc_8location_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5210, 0, __PYX_ERR(0, 5210, __pyx_L1_error));

  /* "cuda/cudart.pyx":5212
 *     def location(self, location not None : cudaMemLocation):
 *         pass
 *         for _attr in dir(location):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_location)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5212, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5212, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5212, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5212, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5212, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 5212, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":5213
 *         pass
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5213, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5214
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._location, _attr, getattr(location, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":5213
 *         pass
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5215
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5215, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":5216
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._location, _attr, getattr(location, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_location);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_location), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5216, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 5216, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5215
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5212
 *     def location(self, location not None : cudaMemLocation):
 *         pass
 *         for _attr in dir(location):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5210
 *         return self._location
 *     @location.setter
 *     def location(self, location not None : cudaMemLocation):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAccessDesc.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5218
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return cudaMemAccessFlags(self._ptr[0].flags)
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5218, 0, __PYX_ERR(0, 5218, __pyx_L1_error));

  /* "cuda/cudart.pyx":5219
 *     @property
 *     def flags(self):
 *         return cudaMemAccessFlags(self._ptr[0].flags)             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, flags not None : cudaMemAccessFlags):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaMemAccessFlags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaMemAccessFlags((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 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/cudart.pyx":5218
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return cudaMemAccessFlags(self._ptr[0].flags)
 *     @flags.setter
 */

  /* 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.cudart.cudaMemAccessDesc.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/cudart.pyx":5221
 *         return cudaMemAccessFlags(self._ptr[0].flags)
 *     @flags.setter
 *     def flags(self, flags not None : cudaMemAccessFlags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_flags) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "flags"); __PYX_ERR(0, 5221, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__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_6cudart_17cudaMemAccessDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, PyObject *__pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaMemAccessFlags __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5221, 0, __PYX_ERR(0, 5221, __pyx_L1_error));

  /* "cuda/cudart.pyx":5223
 *     def flags(self, flags not None : cudaMemAccessFlags):
 *         pass
 *         self._ptr[0].flags = flags.value             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMemPoolProps:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_flags, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaMemAccessFlags)__Pyx_PyInt_As_enum__cudaMemAccessFlags(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).flags = __pyx_t_2;

  /* "cuda/cudart.pyx":5221
 *         return cudaMemAccessFlags(self._ptr[0].flags)
 *     @flags.setter
 *     def flags(self, flags not None : cudaMemAccessFlags):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaMemAccessDesc.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_6cudart_17cudaMemAccessDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_10__reduce_cython__[] = "cudaMemAccessDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaMemAccessDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__183, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAccessDesc.__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_6cudart_17cudaMemAccessDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_12__setstate_cython__[] = "cudaMemAccessDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaMemAccessDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17cudaMemAccessDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__184)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__185, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAccessDesc.__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/cudart.pyx":5253
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5253, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5253, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5253, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5253, 0, __PYX_ERR(0, 5253, __pyx_L1_error));

  /* "cuda/cudart.pyx":5254
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5255
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemPoolProps *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5254
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5257
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemPoolProps *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemPoolProps *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5253
 * 
 *     """
 *     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.cudart.cudaMemPoolProps.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5258
 *         else:
 *             self._ptr = <ccudart.cudaMemPoolProps *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5258, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5258, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5258, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5258, 0, __PYX_ERR(0, 5258, __pyx_L1_error));

  /* "cuda/cudart.pyx":5259
 *             self._ptr = <ccudart.cudaMemPoolProps *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_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(0, 5259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).location))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 5259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemLocation), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_location);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_location));
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5258
 *         else:
 *             self._ptr = <ccudart.cudaMemPoolProps *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = cudaMemLocation(_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.cudart.cudaMemPoolProps.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5260
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5260, 0, __PYX_ERR(0, 5260, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemPoolProps.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5262
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_6getPtr[] = "cudaMemPoolProps.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaMemPoolProps_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self) {
  PyObject *__pyx_r = 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__186)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5262, 0, __PYX_ERR(0, 5262, __pyx_L1_error));

  /* "cuda/cudart.pyx":5263
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5262
 *     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.cudart.cudaMemPoolProps.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/cudart.pyx":5264
 *     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_6cudart_16cudaMemPoolProps_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5264, 0, __PYX_ERR(0, 5264, __pyx_L1_error));

  /* "cuda/cudart.pyx":5265
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['allocType : ' + str(self.allocType)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5266
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['allocType : ' + str(self.allocType)]
 *             str_list += ['handleTypes : ' + str(self.handleTypes)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5267
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['allocType : ' + str(self.allocType)]             # <<<<<<<<<<<<<<
 *             str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_allocType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_allocType, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5268
 *             str_list = []
 *             str_list += ['allocType : ' + str(self.allocType)]
 *             str_list += ['handleTypes : ' + str(self.handleTypes)]             # <<<<<<<<<<<<<<
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handleTypes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_handleTypes, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5269
 *             str_list += ['allocType : ' + str(self.allocType)]
 *             str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5269, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_location_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5269, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5269, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5269, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5269, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5269, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr19__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr19__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5269, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5269, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line); __pyx_9genexpr19__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line); __pyx_9genexpr19__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_location, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5270
 *             str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_win32SecurityAttributes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5270, __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_win32SecurityAttributes, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5271
 *             str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5272
 *             str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5265
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['allocType : ' + str(self.allocType)]
 */
  }

  /* "cuda/cudart.pyx":5274
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5264
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.__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/cudart.pyx":5277
 * 
 *     @property
 *     def allocType(self):             # <<<<<<<<<<<<<<
 *         return cudaMemAllocationType(self._ptr[0].allocType)
 *     @allocType.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_9allocType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_9allocType_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_9allocType___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_9allocType___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5277, 0, __PYX_ERR(0, 5277, __pyx_L1_error));

  /* "cuda/cudart.pyx":5278
 *     @property
 *     def allocType(self):
 *         return cudaMemAllocationType(self._ptr[0].allocType)             # <<<<<<<<<<<<<<
 *     @allocType.setter
 *     def allocType(self, allocType not None : cudaMemAllocationType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaMemAllocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaMemAllocationType((__pyx_v_self->_ptr[0]).allocType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 5278, __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/cudart.pyx":5277
 * 
 *     @property
 *     def allocType(self):             # <<<<<<<<<<<<<<
 *         return cudaMemAllocationType(self._ptr[0].allocType)
 *     @allocType.setter
 */

  /* 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.cudart.cudaMemPoolProps.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/cudart.pyx":5280
 *         return cudaMemAllocationType(self._ptr[0].allocType)
 *     @allocType.setter
 *     def allocType(self, allocType not None : cudaMemAllocationType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].allocType = allocType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_9allocType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocType); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_9allocType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocType) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_allocType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "allocType"); __PYX_ERR(0, 5280, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_9allocType_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__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_6cudart_16cudaMemPoolProps_9allocType_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, PyObject *__pyx_v_allocType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaMemAllocationType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5280, 0, __PYX_ERR(0, 5280, __pyx_L1_error));

  /* "cuda/cudart.pyx":5282
 *     def allocType(self, allocType not None : cudaMemAllocationType):
 *         pass
 *         self._ptr[0].allocType = allocType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handleTypes(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_allocType, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaMemAllocationType)__Pyx_PyInt_As_enum__cudaMemAllocationType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).allocType = __pyx_t_2;

  /* "cuda/cudart.pyx":5280
 *         return cudaMemAllocationType(self._ptr[0].allocType)
 *     @allocType.setter
 *     def allocType(self, allocType not None : cudaMemAllocationType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaMemPoolProps.allocType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5284
 *         self._ptr[0].allocType = allocType.value
 *     @property
 *     def handleTypes(self):             # <<<<<<<<<<<<<<
 *         return cudaMemAllocationHandleType(self._ptr[0].handleTypes)
 *     @handleTypes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_11handleTypes___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_11handleTypes___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5284, 0, __PYX_ERR(0, 5284, __pyx_L1_error));

  /* "cuda/cudart.pyx":5285
 *     @property
 *     def handleTypes(self):
 *         return cudaMemAllocationHandleType(self._ptr[0].handleTypes)             # <<<<<<<<<<<<<<
 *     @handleTypes.setter
 *     def handleTypes(self, handleTypes not None : cudaMemAllocationHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaMemAllocationHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaMemAllocationHandleType((__pyx_v_self->_ptr[0]).handleTypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 5285, __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/cudart.pyx":5284
 *         self._ptr[0].allocType = allocType.value
 *     @property
 *     def handleTypes(self):             # <<<<<<<<<<<<<<
 *         return cudaMemAllocationHandleType(self._ptr[0].handleTypes)
 *     @handleTypes.setter
 */

  /* 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.cudart.cudaMemPoolProps.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/cudart.pyx":5287
 *         return cudaMemAllocationHandleType(self._ptr[0].handleTypes)
 *     @handleTypes.setter
 *     def handleTypes(self, handleTypes not None : cudaMemAllocationHandleType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].handleTypes = handleTypes.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handleTypes); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handleTypes) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_handleTypes) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleTypes"); __PYX_ERR(0, 5287, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__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_6cudart_16cudaMemPoolProps_11handleTypes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, PyObject *__pyx_v_handleTypes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaMemAllocationHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5287, 0, __PYX_ERR(0, 5287, __pyx_L1_error));

  /* "cuda/cudart.pyx":5289
 *     def handleTypes(self, handleTypes not None : cudaMemAllocationHandleType):
 *         pass
 *         self._ptr[0].handleTypes = handleTypes.value             # <<<<<<<<<<<<<<
 *     @property
 *     def location(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleTypes, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaMemAllocationHandleType)__Pyx_PyInt_As_enum__cudaMemAllocationHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handleTypes = __pyx_t_2;

  /* "cuda/cudart.pyx":5287
 *         return cudaMemAllocationHandleType(self._ptr[0].handleTypes)
 *     @handleTypes.setter
 *     def handleTypes(self, handleTypes not None : cudaMemAllocationHandleType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaMemPoolProps.handleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5291
 *         self._ptr[0].handleTypes = handleTypes.value
 *     @property
 *     def location(self):             # <<<<<<<<<<<<<<
 *         return self._location
 *     @location.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8location_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8location___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8location___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5291, 0, __PYX_ERR(0, 5291, __pyx_L1_error));

  /* "cuda/cudart.pyx":5292
 *     @property
 *     def location(self):
 *         return self._location             # <<<<<<<<<<<<<<
 *     @location.setter
 *     def location(self, location not None : cudaMemLocation):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_location));
  __pyx_r = ((PyObject *)__pyx_v_self->_location);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5291
 *         self._ptr[0].handleTypes = handleTypes.value
 *     @property
 *     def location(self):             # <<<<<<<<<<<<<<
 *         return self._location
 *     @location.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.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/cudart.pyx":5294
 *         return self._location
 *     @location.setter
 *     def location(self, location not None : cudaMemLocation):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(location):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_ptype_4cuda_6cudart_cudaMemLocation, 0, "location", 0))) __PYX_ERR(0, 5294, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8location_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)__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_6cudart_16cudaMemPoolProps_8location_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5294, 0, __PYX_ERR(0, 5294, __pyx_L1_error));

  /* "cuda/cudart.pyx":5296
 *     def location(self, location not None : cudaMemLocation):
 *         pass
 *         for _attr in dir(location):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_location)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5296, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5296, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5296, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5296, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5296, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 5296, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":5297
 *         pass
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5297, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5298
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._location, _attr, getattr(location, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":5297
 *         pass
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5299
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5299, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":5300
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._location, _attr, getattr(location, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def win32SecurityAttributes(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_location);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_location), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5300, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 5300, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5299
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5296
 *     def location(self, location not None : cudaMemLocation):
 *         pass
 *         for _attr in dir(location):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5294
 *         return self._location
 *     @location.setter
 *     def location(self, location not None : cudaMemLocation):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5302
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 *     def win32SecurityAttributes(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5302, 0, __PYX_ERR(0, 5302, __pyx_L1_error));

  /* "cuda/cudart.pyx":5303
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).win32SecurityAttributes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5302
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 *     def win32SecurityAttributes(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.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/cudart.pyx":5305
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter
 *     def win32SecurityAttributes(self, win32SecurityAttributes):             # <<<<<<<<<<<<<<
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self), ((PyObject *)__pyx_v_win32SecurityAttributes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5305, 0, __PYX_ERR(0, 5305, __pyx_L1_error));

  /* "cuda/cudart.pyx":5306
 *     @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(0, 5306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cwin32SecurityAttributes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5307
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cwin32SecurityAttributes, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5307, __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(0, 5307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).win32SecurityAttributes = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":5305
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter
 *     def win32SecurityAttributes(self, win32SecurityAttributes):             # <<<<<<<<<<<<<<
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.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/cudart.pyx":5309
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5309, 0, __PYX_ERR(0, 5309, __pyx_L1_error));

  /* "cuda/cudart.pyx":5310
 *     @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(0, 5310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5309
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.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/cudart.pyx":5312
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5312, 0, __PYX_ERR(0, 5312, __pyx_L1_error));

  /* "cuda/cudart.pyx":5313
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5313, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":5314
 *     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(0, 5314, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5314, __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(0, 5314, __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(0, 5314, __pyx_L1_error)

    /* "cuda/cudart.pyx":5313
 *     @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/cudart.pyx":5315
 *         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(0, 5315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5315, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 5315, __pyx_L1_error)
        #else
        __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5315, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 5315, __pyx_L1_error)
        #else
        __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5315, __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(0, 5315, __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(0, 5315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":5316
 *             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 cudaMemPoolPtrExportData:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 5316, __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(0, 5316, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cudart.pyx":5315
 *         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/cudart.pyx":5312
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

  /* 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.cudart.cudaMemPoolProps.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_6cudart_16cudaMemPoolProps_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_10__reduce_cython__[] = "cudaMemPoolProps.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaMemPoolProps_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self) {
  PyObject *__pyx_r = 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__187)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__188, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.__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_6cudart_16cudaMemPoolProps_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_12__setstate_cython__[] = "cudaMemPoolProps.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16cudaMemPoolProps_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaMemPoolProps_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaMemPoolProps_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__189)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__190, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolProps.__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/cudart.pyx":5333
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5333, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5333, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5333, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolPtrExportData.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5333, 0, __PYX_ERR(0, 5333, __pyx_L1_error));

  /* "cuda/cudart.pyx":5334
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5335
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5334
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5337
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemPoolPtrExportData *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5333
 * 
 *     """
 *     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.cudart.cudaMemPoolPtrExportData.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5338
 *         else:
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5338, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5338, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5338, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolPtrExportData.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5338, 0, __PYX_ERR(0, 5338, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolPtrExportData.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5340
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5340, 0, __PYX_ERR(0, 5340, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemPoolPtrExportData.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5342
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_6getPtr[] = "cudaMemPoolPtrExportData.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_24cudaMemPoolPtrExportData_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5342, 0, __PYX_ERR(0, 5342, __pyx_L1_error));

  /* "cuda/cudart.pyx":5343
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5342
 *     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.cudart.cudaMemPoolPtrExportData.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/cudart.pyx":5344
 *     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_6cudart_24cudaMemPoolPtrExportData_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5344, 0, __PYX_ERR(0, 5344, __pyx_L1_error));

  /* "cuda/cudart.pyx":5345
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5346
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5347
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5348
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5345
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
  }

  /* "cuda/cudart.pyx":5350
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5344
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolPtrExportData.__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/cudart.pyx":5353
 * 
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5353, 0, __PYX_ERR(0, 5353, __pyx_L1_error));

  /* "cuda/cudart.pyx":5354
 *     @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(0, 5354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5353
 * 
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolPtrExportData.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/cudart.pyx":5356
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5356, 0, __PYX_ERR(0, 5356, __pyx_L1_error));

  /* "cuda/cudart.pyx":5357
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5357, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":5358
 *     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(0, 5358, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5358, __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(0, 5358, __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(0, 5358, __pyx_L1_error)

    /* "cuda/cudart.pyx":5357
 *     @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/cudart.pyx":5359
 *         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(0, 5359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5359, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 5359, __pyx_L1_error)
        #else
        __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5359, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 5359, __pyx_L1_error)
        #else
        __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5359, __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(0, 5359, __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(0, 5359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":5360
 *             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 cudaMemAllocNodeParams:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(0, 5360, __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(0, 5360, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cudart.pyx":5359
 *         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/cudart.pyx":5356
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

  /* 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.cudart.cudaMemPoolPtrExportData.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_6cudart_24cudaMemPoolPtrExportData_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_10__reduce_cython__[] = "cudaMemPoolPtrExportData.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_24cudaMemPoolPtrExportData_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self) {
  PyObject *__pyx_r = 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__192)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__193, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolPtrExportData.__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_6cudart_24cudaMemPoolPtrExportData_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_12__setstate_cython__[] = "cudaMemPoolPtrExportData.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_24cudaMemPoolPtrExportData_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaMemPoolPtrExportData_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__195, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolPtrExportData.__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/cudart.pyx":5389
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5389, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5389, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5389, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5389, 0, __PYX_ERR(0, 5389, __pyx_L1_error));

  /* "cuda/cudart.pyx":5390
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5391
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5390
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5393
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaMemAllocNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5389
 * 
 *     """
 *     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.cudart.cudaMemAllocNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5394
 *         else:
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5394, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5394, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5394, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5394, 0, __PYX_ERR(0, 5394, __pyx_L1_error));

  /* "cuda/cudart.pyx":5395
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).poolProps))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 5395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolProps), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_poolProps);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_poolProps));
  __pyx_v_self->_poolProps = ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5394
 *         else:
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     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.cudart.cudaMemAllocNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5396
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5396, 0, __PYX_ERR(0, 5396, __pyx_L1_error));

  /* "cuda/cudart.pyx":5397
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
 */
  __pyx_t_1 = ((__pyx_v_self->_accessDescs != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5398
 *     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/cudart.pyx":5397
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
 */
  }

  /* "cuda/cudart.pyx":5396
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMemAllocNodeParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5399
 *         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_6cudart_22cudaMemAllocNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_6getPtr[] = "cudaMemAllocNodeParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__196)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5399, 0, __PYX_ERR(0, 5399, __pyx_L1_error));

  /* "cuda/cudart.pyx":5400
 *             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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5399
 *         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.cudart.cudaMemAllocNodeParams.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/cudart.pyx":5401
 *     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_6cudart_22cudaMemAllocNodeParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr20__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5401, 0, __PYX_ERR(0, 5401, __pyx_L1_error));

  /* "cuda/cudart.pyx":5402
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5403
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             str_list += ['accessDescs : ' + str(self.accessDescs)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5404
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5404, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_poolProps_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5404, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5404, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5404, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5404, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5404, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr20__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr20__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5404, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5404, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr20__pyx_v_line); __pyx_9genexpr20__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr20__pyx_v_line); __pyx_9genexpr20__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_poolProps, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5405
 *             str_list = []
 *             str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             str_list += ['accessDescs : ' + str(self.accessDescs)]             # <<<<<<<<<<<<<<
 *             str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             str_list += ['bytesize : ' + str(self.bytesize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accessDescs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_accessDescs, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5406
 *             str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             str_list += ['accessDescCount : ' + str(self.accessDescCount)]             # <<<<<<<<<<<<<<
 *             str_list += ['bytesize : ' + str(self.bytesize)]
 *             str_list += ['dptr : ' + hex(self.dptr)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accessDescCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_accessDescCount, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5407
 *             str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             str_list += ['bytesize : ' + str(self.bytesize)]             # <<<<<<<<<<<<<<
 *             str_list += ['dptr : ' + hex(self.dptr)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bytesize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_bytesize, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5408
 *             str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             str_list += ['bytesize : ' + str(self.bytesize)]
 *             str_list += ['dptr : ' + hex(self.dptr)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5408, __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_dptr, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5409
 *             str_list += ['bytesize : ' + str(self.bytesize)]
 *             str_list += ['dptr : ' + hex(self.dptr)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5402
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":5411
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5401
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr20__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5414
 * 
 *     @property
 *     def poolProps(self):             # <<<<<<<<<<<<<<
 *         return self._poolProps
 *     @poolProps.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5414, 0, __PYX_ERR(0, 5414, __pyx_L1_error));

  /* "cuda/cudart.pyx":5415
 *     @property
 *     def poolProps(self):
 *         return self._poolProps             # <<<<<<<<<<<<<<
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : cudaMemPoolProps):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_poolProps));
  __pyx_r = ((PyObject *)__pyx_v_self->_poolProps);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5414
 * 
 *     @property
 *     def poolProps(self):             # <<<<<<<<<<<<<<
 *         return self._poolProps
 *     @poolProps.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.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/cudart.pyx":5417
 *         return self._poolProps
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(poolProps):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_poolProps), __pyx_ptype_4cuda_6cudart_cudaMemPoolProps, 0, "poolProps", 0))) __PYX_ERR(0, 5417, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__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_6cudart_22cudaMemAllocNodeParams_9poolProps_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_poolProps) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5417, 0, __PYX_ERR(0, 5417, __pyx_L1_error));

  /* "cuda/cudart.pyx":5419
 *     def poolProps(self, poolProps not None : cudaMemPoolProps):
 *         pass
 *         for _attr in dir(poolProps):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_poolProps)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5419, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5419, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5419, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5419, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5419, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 5419, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":5420
 *         pass
 *         for _attr in dir(poolProps):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5420, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5421
 *         for _attr in dir(poolProps):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._poolProps, _attr, getattr(poolProps, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":5420
 *         pass
 *         for _attr in dir(poolProps):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5422
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._poolProps, _attr, getattr(poolProps, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5422, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":5423
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._poolProps, _attr, getattr(poolProps, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def accessDescs(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_poolProps);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_poolProps), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5423, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 5423, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5422
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._poolProps, _attr, getattr(poolProps, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5419
 *     def poolProps(self, poolProps not None : cudaMemPoolProps):
 *         pass
 *         for _attr in dir(poolProps):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5417
 *         return self._poolProps
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.poolProps.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5425
 *                 setattr(self._poolProps, _attr, getattr(poolProps, _attr))
 *     @property
 *     def accessDescs(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccudart.cudaMemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [cudaMemAccessDesc(_ptr=arr) for arr in arrs]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr21__pyx_v_x;
  PyObject *__pyx_9genexpr22__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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5425, 0, __PYX_ERR(0, 5425, __pyx_L1_error));

  /* "cuda/cudart.pyx":5426
 *     @property
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccudart.cudaMemAccessDesc) for x in range(self._accessDescs_length)]             # <<<<<<<<<<<<<<
 *         return [cudaMemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5426, __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_9genexpr21__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).accessDescs) + (__pyx_9genexpr21__pyx_v_x * (sizeof(struct cudaMemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5426, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 5426, __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/cudart.pyx":5427
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccudart.cudaMemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [cudaMemAccessDesc(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5427, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
    for (;;) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) 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(0, 5427, __pyx_L7_error)
      #else
      __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5427, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr22__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5427, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr22__pyx_v_arr) < 0) __PYX_ERR(0, 5427, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAccessDesc), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5427, __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(0, 5427, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_arr); __pyx_9genexpr22__pyx_v_arr = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_arr); __pyx_9genexpr22__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5425
 *                 setattr(self._poolProps, _attr, getattr(poolProps, _attr))
 *     @property
 *     def accessDescs(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccudart.cudaMemAccessDesc) for x in range(self._accessDescs_length)]
 *         return [cudaMemAccessDesc(_ptr=arr) for arr in arrs]
 */

  /* 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.cudart.cudaMemAllocNodeParams.accessDescs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5429
 *         return [cudaMemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter
 *     def accessDescs(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._accessDescs)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__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;
  struct cudaMemAccessDesc *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5429, 0, __PYX_ERR(0, 5429, __pyx_L1_error));

  /* "cuda/cudart.pyx":5430
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5430, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":5431
 *     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/cudart.pyx":5432
 *         if len(val) == 0:
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].accessDescs = NULL
 *         else:
 */
    __pyx_v_self->_accessDescs_length = 0;

    /* "cuda/cudart.pyx":5433
 *             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/cudart.pyx":5430
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5435
 *             self._ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccudart.cudaMemAccessDesc*> calloc(len(val), sizeof(ccudart.cudaMemAccessDesc))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5435, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":5436
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)             # <<<<<<<<<<<<<<
 *                 self._accessDescs = <ccudart.cudaMemAccessDesc*> calloc(len(val), sizeof(ccudart.cudaMemAccessDesc))
 *                 if self._accessDescs is NULL:
 */
      free(__pyx_v_self->_accessDescs);

      /* "cuda/cudart.pyx":5437
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccudart.cudaMemAccessDesc*> calloc(len(val), sizeof(ccudart.cudaMemAccessDesc))             # <<<<<<<<<<<<<<
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5437, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((struct cudaMemAccessDesc *)calloc(__pyx_t_1, (sizeof(struct cudaMemAccessDesc))));

      /* "cuda/cudart.pyx":5438
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccudart.cudaMemAccessDesc*> calloc(len(val), sizeof(ccudart.cudaMemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 */
      __pyx_t_2 = ((__pyx_v_self->_accessDescs == NULL) != 0);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cudart.pyx":5439
 *                 self._accessDescs = <ccudart.cudaMemAccessDesc*> calloc(len(val), sizeof(ccudart.cudaMemAccessDesc))
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))             # <<<<<<<<<<<<<<
 *                 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(0, 5439, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5439, __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(struct cudaMemAccessDesc))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5439, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5439, __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(0, 5439, __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(0, 5439, __pyx_L1_error)

        /* "cuda/cudart.pyx":5438
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccudart.cudaMemAccessDesc*> calloc(len(val), sizeof(ccudart.cudaMemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 */
      }

      /* "cuda/cudart.pyx":5440
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *                 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(0, 5440, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":5441
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 memcpy(&self._accessDescs[idx], (<cudaMemAccessDesc>val[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))
 */
      __pyx_t_6 = __pyx_v_self->_accessDescs;
      (__pyx_v_self->_ptr[0]).accessDescs = __pyx_t_6;

      /* "cuda/cudart.pyx":5435
 *             self._ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccudart.cudaMemAccessDesc*> calloc(len(val), sizeof(ccudart.cudaMemAccessDesc))
 */
    }

    /* "cuda/cudart.pyx":5442
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 memcpy(&self._accessDescs[idx], (<cudaMemAccessDesc>val[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))
 *     @property
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5442, __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/cudart.pyx":5443
 *                 self._ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):
 *                 memcpy(&self._accessDescs[idx], (<cudaMemAccessDesc>val[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))             # <<<<<<<<<<<<<<
 *     @property
 *     def accessDescCount(self):
 */
      __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(0, 5443, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_accessDescs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_t_5)->_ptr, (sizeof(struct cudaMemAccessDesc))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5429
 *         return [cudaMemAccessDesc(_ptr=arr) for arr in arrs]
 *     @accessDescs.setter
 *     def accessDescs(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._accessDescs)
 */

  /* 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.cudart.cudaMemAllocNodeParams.accessDescs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5445
 *                 memcpy(&self._accessDescs[idx], (<cudaMemAccessDesc>val[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))
 *     @property
 *     def accessDescCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5445, 0, __PYX_ERR(0, 5445, __pyx_L1_error));

  /* "cuda/cudart.pyx":5446
 *     @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(0, 5446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5445
 *                 memcpy(&self._accessDescs[idx], (<cudaMemAccessDesc>val[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))
 *     @property
 *     def accessDescCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.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/cudart.pyx":5448
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].accessDescCount = accessDescCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount) {
  size_t __pyx_v_accessDescCount;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 5448, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.accessDescCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), ((size_t)__pyx_v_accessDescCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, size_t __pyx_v_accessDescCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5448, 0, __PYX_ERR(0, 5448, __pyx_L1_error));

  /* "cuda/cudart.pyx":5450
 *     def accessDescCount(self, size_t accessDescCount):
 *         pass
 *         self._ptr[0].accessDescCount = accessDescCount             # <<<<<<<<<<<<<<
 *     @property
 *     def bytesize(self):
 */
  (__pyx_v_self->_ptr[0]).accessDescCount = __pyx_v_accessDescCount;

  /* "cuda/cudart.pyx":5448
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].accessDescCount = accessDescCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.accessDescCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5452
 *         self._ptr[0].accessDescCount = accessDescCount
 *     @property
 *     def bytesize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].bytesize
 *     @bytesize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5452, 0, __PYX_ERR(0, 5452, __pyx_L1_error));

  /* "cuda/cudart.pyx":5453
 *     @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(0, 5453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5452
 *         self._ptr[0].accessDescCount = accessDescCount
 *     @property
 *     def bytesize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].bytesize
 *     @bytesize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.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/cudart.pyx":5455
 *         return self._ptr[0].bytesize
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].bytesize = bytesize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize) {
  size_t __pyx_v_bytesize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 5455, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.bytesize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), ((size_t)__pyx_v_bytesize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, size_t __pyx_v_bytesize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5455, 0, __PYX_ERR(0, 5455, __pyx_L1_error));

  /* "cuda/cudart.pyx":5457
 *     def bytesize(self, size_t bytesize):
 *         pass
 *         self._ptr[0].bytesize = bytesize             # <<<<<<<<<<<<<<
 *     @property
 *     def dptr(self):
 */
  (__pyx_v_self->_ptr[0]).bytesize = __pyx_v_bytesize;

  /* "cuda/cudart.pyx":5455
 *         return self._ptr[0].bytesize
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].bytesize = bytesize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.bytesize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5459
 *         self._ptr[0].bytesize = bytesize
 *     @property
 *     def dptr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].dptr
 *     @dptr.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr___get__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr___get__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5459, 0, __PYX_ERR(0, 5459, __pyx_L1_error));

  /* "cuda/cudart.pyx":5460
 *     @property
 *     def dptr(self):
 *         return <void_ptr>self._ptr[0].dptr             # <<<<<<<<<<<<<<
 *     @dptr.setter
 *     def dptr(self, dptr):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).dptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5459
 *         self._ptr[0].bytesize = bytesize
 *     @property
 *     def dptr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].dptr
 *     @dptr.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.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/cudart.pyx":5462
 *         return <void_ptr>self._ptr[0].dptr
 *     @dptr.setter
 *     def dptr(self, dptr):             # <<<<<<<<<<<<<<
 *         _cdptr = utils.HelperInputVoidPtr(dptr)
 *         self._ptr[0].dptr = <void*><void_ptr>_cdptr.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_dptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, PyObject *__pyx_v_dptr) {
  PyObject *__pyx_v__cdptr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5462, 0, __PYX_ERR(0, 5462, __pyx_L1_error));

  /* "cuda/cudart.pyx":5463
 *     @dptr.setter
 *     def dptr(self, dptr):
 *         _cdptr = utils.HelperInputVoidPtr(dptr)             # <<<<<<<<<<<<<<
 *         self._ptr[0].dptr = <void*><void_ptr>_cdptr.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5464
 *     def dptr(self, dptr):
 *         _cdptr = utils.HelperInputVoidPtr(dptr)
 *         self._ptr[0].dptr = <void*><void_ptr>_cdptr.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUuuid_st:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5464, __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(0, 5464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":5462
 *         return <void_ptr>self._ptr[0].dptr
 *     @dptr.setter
 *     def dptr(self, dptr):             # <<<<<<<<<<<<<<
 *         _cdptr = utils.HelperInputVoidPtr(dptr)
 *         self._ptr[0].dptr = <void*><void_ptr>_cdptr.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.dptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdptr);
  __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_6cudart_22cudaMemAllocNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_10__reduce_cython__[] = "cudaMemAllocNodeParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__198, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.__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_6cudart_22cudaMemAllocNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_12__setstate_cython__[] = "cudaMemAllocNodeParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaMemAllocNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__199)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__200, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaMemAllocNodeParams.__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/cudart.pyx":5480
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_9CUuuid_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_9CUuuid_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5480, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5480, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5480, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.CUuuid_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_9CUuuid_st___cinit__(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_9CUuuid_st___cinit__(struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5480, 0, __PYX_ERR(0, 5480, __pyx_L1_error));

  /* "cuda/cudart.pyx":5481
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5482
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.CUuuid_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5481
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5484
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":5480
 * 
 *     """
 *     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.cudart.CUuuid_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5485
 *         else:
 *             self._ptr = <ccudart.CUuuid_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_9CUuuid_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_9CUuuid_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5485, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5485, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5485, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.CUuuid_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_9CUuuid_st_2__init__(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_9CUuuid_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5485, 0, __PYX_ERR(0, 5485, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.CUuuid_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5487
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_9CUuuid_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_9CUuuid_st_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_9CUuuid_st_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_9CUuuid_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5487, 0, __PYX_ERR(0, 5487, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.CUuuid_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5489
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_9CUuuid_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_9CUuuid_st_6getPtr[] = "CUuuid_st.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9CUuuid_st_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_9CUuuid_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_9CUuuid_st_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_9CUuuid_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9CUuuid_st_6getPtr(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_6getPtr(struct __pyx_obj_4cuda_6cudart_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__201)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5489, 0, __PYX_ERR(0, 5489, __pyx_L1_error));

  /* "cuda/cudart.pyx":5490
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5489
 *     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.cudart.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/cudart.pyx":5491
 *     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_6cudart_9CUuuid_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_9CUuuid_st_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9CUuuid_st_8__repr__(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_8__repr__(struct __pyx_obj_4cuda_6cudart_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5491, 0, __PYX_ERR(0, 5491, __pyx_L1_error));

  /* "cuda/cudart.pyx":5492
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['bytes : ' + str(self.bytes.hex())]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5493
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['bytes : ' + str(self.bytes.hex())]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5494
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['bytes : ' + str(self.bytes.hex())]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bytes_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_bytes, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5495
 *             str_list = []
 *             str_list += ['bytes : ' + str(self.bytes.hex())]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5492
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['bytes : ' + str(self.bytes.hex())]
 */
  }

  /* "cuda/cudart.pyx":5497
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5491
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":5500
 * 
 *     @property
 *     def bytes(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].bytes, 16)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_9CUuuid_st_5bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_9CUuuid_st_5bytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9CUuuid_st_5bytes___get__(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_5bytes___get__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5500, 0, __PYX_ERR(0, 5500, __pyx_L1_error));

  /* "cuda/cudart.pyx":5501
 *     @property
 *     def bytes(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].bytes, 16)             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaDeviceProp:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_ptr[0]).bytes, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5500
 * 
 *     @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.cudart.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_6cudart_9CUuuid_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_9CUuuid_st_10__reduce_cython__[] = "CUuuid_st.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9CUuuid_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9CUuuid_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_9CUuuid_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_9CUuuid_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9CUuuid_st_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__202)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__203, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_9CUuuid_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_9CUuuid_st_12__setstate_cython__[] = "CUuuid_st.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9CUuuid_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9CUuuid_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_9CUuuid_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_9CUuuid_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9CUuuid_st_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_CUuuid_st *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9CUuuid_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__204)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__205, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":5692
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5692, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5692, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5692, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp___cinit__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5692, 0, __PYX_ERR(0, 5692, __pyx_L1_error));

  /* "cuda/cudart.pyx":5693
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5694
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaDeviceProp *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":5693
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5696
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaDeviceProp *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaDeviceProp *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5692
 * 
 *     """
 *     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.cudart.cudaDeviceProp.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5697
 *         else:
 *             self._ptr = <ccudart.cudaDeviceProp *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 5697, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 5697, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5697, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_2__init__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 5697, 0, __PYX_ERR(0, 5697, __pyx_L1_error));

  /* "cuda/cudart.pyx":5698
 *             self._ptr = <ccudart.cudaDeviceProp *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).uuid))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 5698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUUID_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_uuid);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_uuid));
  __pyx_v_self->_uuid = ((struct __pyx_obj_4cuda_6cudart_cudaUUID_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5697
 *         else:
 *             self._ptr = <ccudart.cudaDeviceProp *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 *     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.cudart.cudaDeviceProp.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5699
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5699, 0, __PYX_ERR(0, 5699, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaDeviceProp.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":5701
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaDeviceProp_6getPtr[] = "cudaDeviceProp.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_14cudaDeviceProp_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaDeviceProp_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaDeviceProp_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5701, 0, __PYX_ERR(0, 5701, __pyx_L1_error));

  /* "cuda/cudart.pyx":5702
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5701
 *     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.cudart.cudaDeviceProp.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/cudart.pyx":5703
 *     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_6cudart_14cudaDeviceProp_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 5703, 0, __PYX_ERR(0, 5703, __pyx_L1_error));

  /* "cuda/cudart.pyx":5704
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['name : ' + self.name.decode('utf-8')]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5705
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['name : ' + self.name.decode('utf-8')]
 *             str_list += ['uuid :\n' + '\n'.join(['    ' + line for line in str(self.uuid).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5706
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['name : ' + self.name.decode('utf-8')]             # <<<<<<<<<<<<<<
 *             str_list += ['uuid :\n' + '\n'.join(['    ' + line for line in str(self.uuid).splitlines()])]
 *             str_list += ['luid : ' + self.luid.hex()]
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_decode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_utf_8);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5706, __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_name, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":5707
 *             str_list = []
 *             str_list += ['name : ' + self.name.decode('utf-8')]
 *             str_list += ['uuid :\n' + '\n'.join(['    ' + line for line in str(self.uuid).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['luid : ' + self.luid.hex()]
 *             str_list += ['luidDeviceNodeMask : ' + str(self.luidDeviceNodeMask)]
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5707, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_uuid_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5707, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5707, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5707, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5707, __pyx_L6_error)
        #else
        __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5707, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr23__pyx_v_line, __pyx_t_2);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr23__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5707, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 5707, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr23__pyx_v_line); __pyx_9genexpr23__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr23__pyx_v_line); __pyx_9genexpr23__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_uuid, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":5708
 *             str_list += ['name : ' + self.name.decode('utf-8')]
 *             str_list += ['uuid :\n' + '\n'.join(['    ' + line for line in str(self.uuid).splitlines()])]
 *             str_list += ['luid : ' + self.luid.hex()]             # <<<<<<<<<<<<<<
 *             str_list += ['luidDeviceNodeMask : ' + str(self.luidDeviceNodeMask)]
 *             str_list += ['totalGlobalMem : ' + str(self.totalGlobalMem)]
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_luid_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hex); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5708, __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_luid, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5709
 *             str_list += ['uuid :\n' + '\n'.join(['    ' + line for line in str(self.uuid).splitlines()])]
 *             str_list += ['luid : ' + self.luid.hex()]
 *             str_list += ['luidDeviceNodeMask : ' + str(self.luidDeviceNodeMask)]             # <<<<<<<<<<<<<<
 *             str_list += ['totalGlobalMem : ' + str(self.totalGlobalMem)]
 *             str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_luidDeviceNodeMask_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_luidDeviceNodeMask, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5710
 *             str_list += ['luid : ' + self.luid.hex()]
 *             str_list += ['luidDeviceNodeMask : ' + str(self.luidDeviceNodeMask)]
 *             str_list += ['totalGlobalMem : ' + str(self.totalGlobalMem)]             # <<<<<<<<<<<<<<
 *             str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_totalGlobalMem_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_totalGlobalMem, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5711
 *             str_list += ['luidDeviceNodeMask : ' + str(self.luidDeviceNodeMask)]
 *             str_list += ['totalGlobalMem : ' + str(self.totalGlobalMem)]
 *             str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]             # <<<<<<<<<<<<<<
 *             str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             str_list += ['warpSize : ' + str(self.warpSize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sharedMemPerBlock_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sharedMemPerBlock, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5712
 *             str_list += ['totalGlobalMem : ' + str(self.totalGlobalMem)]
 *             str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]             # <<<<<<<<<<<<<<
 *             str_list += ['warpSize : ' + str(self.warpSize)]
 *             str_list += ['memPitch : ' + str(self.memPitch)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_regsPerBlock_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_regsPerBlock, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5713
 *             str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             str_list += ['warpSize : ' + str(self.warpSize)]             # <<<<<<<<<<<<<<
 *             str_list += ['memPitch : ' + str(self.memPitch)]
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_warpSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_warpSize, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5714
 *             str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             str_list += ['warpSize : ' + str(self.warpSize)]
 *             str_list += ['memPitch : ' + str(self.memPitch)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memPitch, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5715
 *             str_list += ['warpSize : ' + str(self.warpSize)]
 *             str_list += ['memPitch : ' + str(self.memPitch)]
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxThreadsPerBlock_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxThreadsPerBlock, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5716
 *             str_list += ['memPitch : ' + str(self.memPitch)]
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             str_list += ['clockRate : ' + str(self.clockRate)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxThreadsDim_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxThreadsDim, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5717
 *             str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             str_list += ['maxGridSize : ' + str(self.maxGridSize)]             # <<<<<<<<<<<<<<
 *             str_list += ['clockRate : ' + str(self.clockRate)]
 *             str_list += ['totalConstMem : ' + str(self.totalConstMem)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxGridSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxGridSize, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5718
 *             str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             str_list += ['clockRate : ' + str(self.clockRate)]             # <<<<<<<<<<<<<<
 *             str_list += ['totalConstMem : ' + str(self.totalConstMem)]
 *             str_list += ['major : ' + str(self.major)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clockRate_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_clockRate, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5719
 *             str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             str_list += ['clockRate : ' + str(self.clockRate)]
 *             str_list += ['totalConstMem : ' + str(self.totalConstMem)]             # <<<<<<<<<<<<<<
 *             str_list += ['major : ' + str(self.major)]
 *             str_list += ['minor : ' + str(self.minor)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_totalConstMem_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_totalConstMem, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5720
 *             str_list += ['clockRate : ' + str(self.clockRate)]
 *             str_list += ['totalConstMem : ' + str(self.totalConstMem)]
 *             str_list += ['major : ' + str(self.major)]             # <<<<<<<<<<<<<<
 *             str_list += ['minor : ' + str(self.minor)]
 *             str_list += ['textureAlignment : ' + str(self.textureAlignment)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_major_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_major, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5721
 *             str_list += ['totalConstMem : ' + str(self.totalConstMem)]
 *             str_list += ['major : ' + str(self.major)]
 *             str_list += ['minor : ' + str(self.minor)]             # <<<<<<<<<<<<<<
 *             str_list += ['textureAlignment : ' + str(self.textureAlignment)]
 *             str_list += ['texturePitchAlignment : ' + str(self.texturePitchAlignment)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_minor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_minor, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5722
 *             str_list += ['major : ' + str(self.major)]
 *             str_list += ['minor : ' + str(self.minor)]
 *             str_list += ['textureAlignment : ' + str(self.textureAlignment)]             # <<<<<<<<<<<<<<
 *             str_list += ['texturePitchAlignment : ' + str(self.texturePitchAlignment)]
 *             str_list += ['deviceOverlap : ' + str(self.deviceOverlap)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_textureAlignment_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_textureAlignment, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5723
 *             str_list += ['minor : ' + str(self.minor)]
 *             str_list += ['textureAlignment : ' + str(self.textureAlignment)]
 *             str_list += ['texturePitchAlignment : ' + str(self.texturePitchAlignment)]             # <<<<<<<<<<<<<<
 *             str_list += ['deviceOverlap : ' + str(self.deviceOverlap)]
 *             str_list += ['multiProcessorCount : ' + str(self.multiProcessorCount)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_texturePitchAlignment_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_texturePitchAlignment, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5724
 *             str_list += ['textureAlignment : ' + str(self.textureAlignment)]
 *             str_list += ['texturePitchAlignment : ' + str(self.texturePitchAlignment)]
 *             str_list += ['deviceOverlap : ' + str(self.deviceOverlap)]             # <<<<<<<<<<<<<<
 *             str_list += ['multiProcessorCount : ' + str(self.multiProcessorCount)]
 *             str_list += ['kernelExecTimeoutEnabled : ' + str(self.kernelExecTimeoutEnabled)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_deviceOverlap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_deviceOverlap, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5725
 *             str_list += ['texturePitchAlignment : ' + str(self.texturePitchAlignment)]
 *             str_list += ['deviceOverlap : ' + str(self.deviceOverlap)]
 *             str_list += ['multiProcessorCount : ' + str(self.multiProcessorCount)]             # <<<<<<<<<<<<<<
 *             str_list += ['kernelExecTimeoutEnabled : ' + str(self.kernelExecTimeoutEnabled)]
 *             str_list += ['integrated : ' + str(self.integrated)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_multiProcessorCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_multiProcessorCount, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5726
 *             str_list += ['deviceOverlap : ' + str(self.deviceOverlap)]
 *             str_list += ['multiProcessorCount : ' + str(self.multiProcessorCount)]
 *             str_list += ['kernelExecTimeoutEnabled : ' + str(self.kernelExecTimeoutEnabled)]             # <<<<<<<<<<<<<<
 *             str_list += ['integrated : ' + str(self.integrated)]
 *             str_list += ['canMapHostMemory : ' + str(self.canMapHostMemory)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kernelExecTimeoutEnabled_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_kernelExecTimeoutEnabled, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5727
 *             str_list += ['multiProcessorCount : ' + str(self.multiProcessorCount)]
 *             str_list += ['kernelExecTimeoutEnabled : ' + str(self.kernelExecTimeoutEnabled)]
 *             str_list += ['integrated : ' + str(self.integrated)]             # <<<<<<<<<<<<<<
 *             str_list += ['canMapHostMemory : ' + str(self.canMapHostMemory)]
 *             str_list += ['computeMode : ' + str(self.computeMode)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_integrated_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_integrated, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5728
 *             str_list += ['kernelExecTimeoutEnabled : ' + str(self.kernelExecTimeoutEnabled)]
 *             str_list += ['integrated : ' + str(self.integrated)]
 *             str_list += ['canMapHostMemory : ' + str(self.canMapHostMemory)]             # <<<<<<<<<<<<<<
 *             str_list += ['computeMode : ' + str(self.computeMode)]
 *             str_list += ['maxTexture1D : ' + str(self.maxTexture1D)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_canMapHostMemory_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_canMapHostMemory, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5729
 *             str_list += ['integrated : ' + str(self.integrated)]
 *             str_list += ['canMapHostMemory : ' + str(self.canMapHostMemory)]
 *             str_list += ['computeMode : ' + str(self.computeMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture1D : ' + str(self.maxTexture1D)]
 *             str_list += ['maxTexture1DMipmap : ' + str(self.maxTexture1DMipmap)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_computeMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_computeMode, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5730
 *             str_list += ['canMapHostMemory : ' + str(self.canMapHostMemory)]
 *             str_list += ['computeMode : ' + str(self.computeMode)]
 *             str_list += ['maxTexture1D : ' + str(self.maxTexture1D)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture1DMipmap : ' + str(self.maxTexture1DMipmap)]
 *             str_list += ['maxTexture1DLinear : ' + str(self.maxTexture1DLinear)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture1D_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture1D, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5731
 *             str_list += ['computeMode : ' + str(self.computeMode)]
 *             str_list += ['maxTexture1D : ' + str(self.maxTexture1D)]
 *             str_list += ['maxTexture1DMipmap : ' + str(self.maxTexture1DMipmap)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture1DLinear : ' + str(self.maxTexture1DLinear)]
 *             str_list += ['maxTexture2D : ' + str(self.maxTexture2D)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture1DMipmap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture1DMipmap, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5732
 *             str_list += ['maxTexture1D : ' + str(self.maxTexture1D)]
 *             str_list += ['maxTexture1DMipmap : ' + str(self.maxTexture1DMipmap)]
 *             str_list += ['maxTexture1DLinear : ' + str(self.maxTexture1DLinear)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture2D : ' + str(self.maxTexture2D)]
 *             str_list += ['maxTexture2DMipmap : ' + str(self.maxTexture2DMipmap)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture1DLinear_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture1DLinear, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5733
 *             str_list += ['maxTexture1DMipmap : ' + str(self.maxTexture1DMipmap)]
 *             str_list += ['maxTexture1DLinear : ' + str(self.maxTexture1DLinear)]
 *             str_list += ['maxTexture2D : ' + str(self.maxTexture2D)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture2DMipmap : ' + str(self.maxTexture2DMipmap)]
 *             str_list += ['maxTexture2DLinear : ' + str(self.maxTexture2DLinear)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture2D_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture2D, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5734
 *             str_list += ['maxTexture1DLinear : ' + str(self.maxTexture1DLinear)]
 *             str_list += ['maxTexture2D : ' + str(self.maxTexture2D)]
 *             str_list += ['maxTexture2DMipmap : ' + str(self.maxTexture2DMipmap)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture2DLinear : ' + str(self.maxTexture2DLinear)]
 *             str_list += ['maxTexture2DGather : ' + str(self.maxTexture2DGather)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture2DMipmap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture2DMipmap, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5735
 *             str_list += ['maxTexture2D : ' + str(self.maxTexture2D)]
 *             str_list += ['maxTexture2DMipmap : ' + str(self.maxTexture2DMipmap)]
 *             str_list += ['maxTexture2DLinear : ' + str(self.maxTexture2DLinear)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture2DGather : ' + str(self.maxTexture2DGather)]
 *             str_list += ['maxTexture3D : ' + str(self.maxTexture3D)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture2DLinear_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture2DLinear, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5736
 *             str_list += ['maxTexture2DMipmap : ' + str(self.maxTexture2DMipmap)]
 *             str_list += ['maxTexture2DLinear : ' + str(self.maxTexture2DLinear)]
 *             str_list += ['maxTexture2DGather : ' + str(self.maxTexture2DGather)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture3D : ' + str(self.maxTexture3D)]
 *             str_list += ['maxTexture3DAlt : ' + str(self.maxTexture3DAlt)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture2DGather_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture2DGather, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5737
 *             str_list += ['maxTexture2DLinear : ' + str(self.maxTexture2DLinear)]
 *             str_list += ['maxTexture2DGather : ' + str(self.maxTexture2DGather)]
 *             str_list += ['maxTexture3D : ' + str(self.maxTexture3D)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture3DAlt : ' + str(self.maxTexture3DAlt)]
 *             str_list += ['maxTextureCubemap : ' + str(self.maxTextureCubemap)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture3D_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture3D, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5738
 *             str_list += ['maxTexture2DGather : ' + str(self.maxTexture2DGather)]
 *             str_list += ['maxTexture3D : ' + str(self.maxTexture3D)]
 *             str_list += ['maxTexture3DAlt : ' + str(self.maxTexture3DAlt)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTextureCubemap : ' + str(self.maxTextureCubemap)]
 *             str_list += ['maxTexture1DLayered : ' + str(self.maxTexture1DLayered)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture3DAlt_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture3DAlt, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5739
 *             str_list += ['maxTexture3D : ' + str(self.maxTexture3D)]
 *             str_list += ['maxTexture3DAlt : ' + str(self.maxTexture3DAlt)]
 *             str_list += ['maxTextureCubemap : ' + str(self.maxTextureCubemap)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture1DLayered : ' + str(self.maxTexture1DLayered)]
 *             str_list += ['maxTexture2DLayered : ' + str(self.maxTexture2DLayered)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTextureCubemap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTextureCubemap, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5740
 *             str_list += ['maxTexture3DAlt : ' + str(self.maxTexture3DAlt)]
 *             str_list += ['maxTextureCubemap : ' + str(self.maxTextureCubemap)]
 *             str_list += ['maxTexture1DLayered : ' + str(self.maxTexture1DLayered)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTexture2DLayered : ' + str(self.maxTexture2DLayered)]
 *             str_list += ['maxTextureCubemapLayered : ' + str(self.maxTextureCubemapLayered)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture1DLayered_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture1DLayered, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5741
 *             str_list += ['maxTextureCubemap : ' + str(self.maxTextureCubemap)]
 *             str_list += ['maxTexture1DLayered : ' + str(self.maxTexture1DLayered)]
 *             str_list += ['maxTexture2DLayered : ' + str(self.maxTexture2DLayered)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxTextureCubemapLayered : ' + str(self.maxTextureCubemapLayered)]
 *             str_list += ['maxSurface1D : ' + str(self.maxSurface1D)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTexture2DLayered_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTexture2DLayered, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5742
 *             str_list += ['maxTexture1DLayered : ' + str(self.maxTexture1DLayered)]
 *             str_list += ['maxTexture2DLayered : ' + str(self.maxTexture2DLayered)]
 *             str_list += ['maxTextureCubemapLayered : ' + str(self.maxTextureCubemapLayered)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxSurface1D : ' + str(self.maxSurface1D)]
 *             str_list += ['maxSurface2D : ' + str(self.maxSurface2D)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxTextureCubemapLayered_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxTextureCubemapLayered, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5743
 *             str_list += ['maxTexture2DLayered : ' + str(self.maxTexture2DLayered)]
 *             str_list += ['maxTextureCubemapLayered : ' + str(self.maxTextureCubemapLayered)]
 *             str_list += ['maxSurface1D : ' + str(self.maxSurface1D)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxSurface2D : ' + str(self.maxSurface2D)]
 *             str_list += ['maxSurface3D : ' + str(self.maxSurface3D)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxSurface1D_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxSurface1D, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5744
 *             str_list += ['maxTextureCubemapLayered : ' + str(self.maxTextureCubemapLayered)]
 *             str_list += ['maxSurface1D : ' + str(self.maxSurface1D)]
 *             str_list += ['maxSurface2D : ' + str(self.maxSurface2D)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxSurface3D : ' + str(self.maxSurface3D)]
 *             str_list += ['maxSurface1DLayered : ' + str(self.maxSurface1DLayered)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxSurface2D_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxSurface2D, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5745
 *             str_list += ['maxSurface1D : ' + str(self.maxSurface1D)]
 *             str_list += ['maxSurface2D : ' + str(self.maxSurface2D)]
 *             str_list += ['maxSurface3D : ' + str(self.maxSurface3D)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxSurface1DLayered : ' + str(self.maxSurface1DLayered)]
 *             str_list += ['maxSurface2DLayered : ' + str(self.maxSurface2DLayered)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxSurface3D_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxSurface3D, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5746
 *             str_list += ['maxSurface2D : ' + str(self.maxSurface2D)]
 *             str_list += ['maxSurface3D : ' + str(self.maxSurface3D)]
 *             str_list += ['maxSurface1DLayered : ' + str(self.maxSurface1DLayered)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxSurface2DLayered : ' + str(self.maxSurface2DLayered)]
 *             str_list += ['maxSurfaceCubemap : ' + str(self.maxSurfaceCubemap)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxSurface1DLayered_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxSurface1DLayered, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5747
 *             str_list += ['maxSurface3D : ' + str(self.maxSurface3D)]
 *             str_list += ['maxSurface1DLayered : ' + str(self.maxSurface1DLayered)]
 *             str_list += ['maxSurface2DLayered : ' + str(self.maxSurface2DLayered)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxSurfaceCubemap : ' + str(self.maxSurfaceCubemap)]
 *             str_list += ['maxSurfaceCubemapLayered : ' + str(self.maxSurfaceCubemapLayered)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxSurface2DLayered_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxSurface2DLayered, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5748
 *             str_list += ['maxSurface1DLayered : ' + str(self.maxSurface1DLayered)]
 *             str_list += ['maxSurface2DLayered : ' + str(self.maxSurface2DLayered)]
 *             str_list += ['maxSurfaceCubemap : ' + str(self.maxSurfaceCubemap)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxSurfaceCubemapLayered : ' + str(self.maxSurfaceCubemapLayered)]
 *             str_list += ['surfaceAlignment : ' + str(self.surfaceAlignment)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxSurfaceCubemap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxSurfaceCubemap, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5749
 *             str_list += ['maxSurface2DLayered : ' + str(self.maxSurface2DLayered)]
 *             str_list += ['maxSurfaceCubemap : ' + str(self.maxSurfaceCubemap)]
 *             str_list += ['maxSurfaceCubemapLayered : ' + str(self.maxSurfaceCubemapLayered)]             # <<<<<<<<<<<<<<
 *             str_list += ['surfaceAlignment : ' + str(self.surfaceAlignment)]
 *             str_list += ['concurrentKernels : ' + str(self.concurrentKernels)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxSurfaceCubemapLayered_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxSurfaceCubemapLayered, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5750
 *             str_list += ['maxSurfaceCubemap : ' + str(self.maxSurfaceCubemap)]
 *             str_list += ['maxSurfaceCubemapLayered : ' + str(self.maxSurfaceCubemapLayered)]
 *             str_list += ['surfaceAlignment : ' + str(self.surfaceAlignment)]             # <<<<<<<<<<<<<<
 *             str_list += ['concurrentKernels : ' + str(self.concurrentKernels)]
 *             str_list += ['ECCEnabled : ' + str(self.ECCEnabled)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_surfaceAlignment_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_surfaceAlignment, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5751
 *             str_list += ['maxSurfaceCubemapLayered : ' + str(self.maxSurfaceCubemapLayered)]
 *             str_list += ['surfaceAlignment : ' + str(self.surfaceAlignment)]
 *             str_list += ['concurrentKernels : ' + str(self.concurrentKernels)]             # <<<<<<<<<<<<<<
 *             str_list += ['ECCEnabled : ' + str(self.ECCEnabled)]
 *             str_list += ['pciBusID : ' + str(self.pciBusID)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_concurrentKernels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_concurrentKernels, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5752
 *             str_list += ['surfaceAlignment : ' + str(self.surfaceAlignment)]
 *             str_list += ['concurrentKernels : ' + str(self.concurrentKernels)]
 *             str_list += ['ECCEnabled : ' + str(self.ECCEnabled)]             # <<<<<<<<<<<<<<
 *             str_list += ['pciBusID : ' + str(self.pciBusID)]
 *             str_list += ['pciDeviceID : ' + str(self.pciDeviceID)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_ECCEnabled_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_ECCEnabled, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5753
 *             str_list += ['concurrentKernels : ' + str(self.concurrentKernels)]
 *             str_list += ['ECCEnabled : ' + str(self.ECCEnabled)]
 *             str_list += ['pciBusID : ' + str(self.pciBusID)]             # <<<<<<<<<<<<<<
 *             str_list += ['pciDeviceID : ' + str(self.pciDeviceID)]
 *             str_list += ['pciDomainID : ' + str(self.pciDomainID)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pciBusID_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pciBusID, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5754
 *             str_list += ['ECCEnabled : ' + str(self.ECCEnabled)]
 *             str_list += ['pciBusID : ' + str(self.pciBusID)]
 *             str_list += ['pciDeviceID : ' + str(self.pciDeviceID)]             # <<<<<<<<<<<<<<
 *             str_list += ['pciDomainID : ' + str(self.pciDomainID)]
 *             str_list += ['tccDriver : ' + str(self.tccDriver)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pciDeviceID_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pciDeviceID, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5755
 *             str_list += ['pciBusID : ' + str(self.pciBusID)]
 *             str_list += ['pciDeviceID : ' + str(self.pciDeviceID)]
 *             str_list += ['pciDomainID : ' + str(self.pciDomainID)]             # <<<<<<<<<<<<<<
 *             str_list += ['tccDriver : ' + str(self.tccDriver)]
 *             str_list += ['asyncEngineCount : ' + str(self.asyncEngineCount)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pciDomainID_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pciDomainID, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5756
 *             str_list += ['pciDeviceID : ' + str(self.pciDeviceID)]
 *             str_list += ['pciDomainID : ' + str(self.pciDomainID)]
 *             str_list += ['tccDriver : ' + str(self.tccDriver)]             # <<<<<<<<<<<<<<
 *             str_list += ['asyncEngineCount : ' + str(self.asyncEngineCount)]
 *             str_list += ['unifiedAddressing : ' + str(self.unifiedAddressing)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_tccDriver_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_tccDriver, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5757
 *             str_list += ['pciDomainID : ' + str(self.pciDomainID)]
 *             str_list += ['tccDriver : ' + str(self.tccDriver)]
 *             str_list += ['asyncEngineCount : ' + str(self.asyncEngineCount)]             # <<<<<<<<<<<<<<
 *             str_list += ['unifiedAddressing : ' + str(self.unifiedAddressing)]
 *             str_list += ['memoryClockRate : ' + str(self.memoryClockRate)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_asyncEngineCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_asyncEngineCount, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5758
 *             str_list += ['tccDriver : ' + str(self.tccDriver)]
 *             str_list += ['asyncEngineCount : ' + str(self.asyncEngineCount)]
 *             str_list += ['unifiedAddressing : ' + str(self.unifiedAddressing)]             # <<<<<<<<<<<<<<
 *             str_list += ['memoryClockRate : ' + str(self.memoryClockRate)]
 *             str_list += ['memoryBusWidth : ' + str(self.memoryBusWidth)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_unifiedAddressing_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_unifiedAddressing, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5759
 *             str_list += ['asyncEngineCount : ' + str(self.asyncEngineCount)]
 *             str_list += ['unifiedAddressing : ' + str(self.unifiedAddressing)]
 *             str_list += ['memoryClockRate : ' + str(self.memoryClockRate)]             # <<<<<<<<<<<<<<
 *             str_list += ['memoryBusWidth : ' + str(self.memoryBusWidth)]
 *             str_list += ['l2CacheSize : ' + str(self.l2CacheSize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memoryClockRate_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memoryClockRate, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5760
 *             str_list += ['unifiedAddressing : ' + str(self.unifiedAddressing)]
 *             str_list += ['memoryClockRate : ' + str(self.memoryClockRate)]
 *             str_list += ['memoryBusWidth : ' + str(self.memoryBusWidth)]             # <<<<<<<<<<<<<<
 *             str_list += ['l2CacheSize : ' + str(self.l2CacheSize)]
 *             str_list += ['persistingL2CacheMaxSize : ' + str(self.persistingL2CacheMaxSize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memoryBusWidth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memoryBusWidth, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5761
 *             str_list += ['memoryClockRate : ' + str(self.memoryClockRate)]
 *             str_list += ['memoryBusWidth : ' + str(self.memoryBusWidth)]
 *             str_list += ['l2CacheSize : ' + str(self.l2CacheSize)]             # <<<<<<<<<<<<<<
 *             str_list += ['persistingL2CacheMaxSize : ' + str(self.persistingL2CacheMaxSize)]
 *             str_list += ['maxThreadsPerMultiProcessor : ' + str(self.maxThreadsPerMultiProcessor)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_l2CacheSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_l2CacheSize, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5762
 *             str_list += ['memoryBusWidth : ' + str(self.memoryBusWidth)]
 *             str_list += ['l2CacheSize : ' + str(self.l2CacheSize)]
 *             str_list += ['persistingL2CacheMaxSize : ' + str(self.persistingL2CacheMaxSize)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxThreadsPerMultiProcessor : ' + str(self.maxThreadsPerMultiProcessor)]
 *             str_list += ['streamPrioritiesSupported : ' + str(self.streamPrioritiesSupported)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_persistingL2CacheMaxSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_persistingL2CacheMaxSize, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5763
 *             str_list += ['l2CacheSize : ' + str(self.l2CacheSize)]
 *             str_list += ['persistingL2CacheMaxSize : ' + str(self.persistingL2CacheMaxSize)]
 *             str_list += ['maxThreadsPerMultiProcessor : ' + str(self.maxThreadsPerMultiProcessor)]             # <<<<<<<<<<<<<<
 *             str_list += ['streamPrioritiesSupported : ' + str(self.streamPrioritiesSupported)]
 *             str_list += ['globalL1CacheSupported : ' + str(self.globalL1CacheSupported)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxThreadsPerMultiProcessor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxThreadsPerMultiProcessor, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5764
 *             str_list += ['persistingL2CacheMaxSize : ' + str(self.persistingL2CacheMaxSize)]
 *             str_list += ['maxThreadsPerMultiProcessor : ' + str(self.maxThreadsPerMultiProcessor)]
 *             str_list += ['streamPrioritiesSupported : ' + str(self.streamPrioritiesSupported)]             # <<<<<<<<<<<<<<
 *             str_list += ['globalL1CacheSupported : ' + str(self.globalL1CacheSupported)]
 *             str_list += ['localL1CacheSupported : ' + str(self.localL1CacheSupported)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_streamPrioritiesSupported_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_streamPrioritiesSupported, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5765
 *             str_list += ['maxThreadsPerMultiProcessor : ' + str(self.maxThreadsPerMultiProcessor)]
 *             str_list += ['streamPrioritiesSupported : ' + str(self.streamPrioritiesSupported)]
 *             str_list += ['globalL1CacheSupported : ' + str(self.globalL1CacheSupported)]             # <<<<<<<<<<<<<<
 *             str_list += ['localL1CacheSupported : ' + str(self.localL1CacheSupported)]
 *             str_list += ['sharedMemPerMultiprocessor : ' + str(self.sharedMemPerMultiprocessor)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_globalL1CacheSupported_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_globalL1CacheSupported, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5766
 *             str_list += ['streamPrioritiesSupported : ' + str(self.streamPrioritiesSupported)]
 *             str_list += ['globalL1CacheSupported : ' + str(self.globalL1CacheSupported)]
 *             str_list += ['localL1CacheSupported : ' + str(self.localL1CacheSupported)]             # <<<<<<<<<<<<<<
 *             str_list += ['sharedMemPerMultiprocessor : ' + str(self.sharedMemPerMultiprocessor)]
 *             str_list += ['regsPerMultiprocessor : ' + str(self.regsPerMultiprocessor)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_localL1CacheSupported_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_localL1CacheSupported, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5767
 *             str_list += ['globalL1CacheSupported : ' + str(self.globalL1CacheSupported)]
 *             str_list += ['localL1CacheSupported : ' + str(self.localL1CacheSupported)]
 *             str_list += ['sharedMemPerMultiprocessor : ' + str(self.sharedMemPerMultiprocessor)]             # <<<<<<<<<<<<<<
 *             str_list += ['regsPerMultiprocessor : ' + str(self.regsPerMultiprocessor)]
 *             str_list += ['managedMemory : ' + str(self.managedMemory)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sharedMemPerMultiprocessor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sharedMemPerMultiprocessor, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5768
 *             str_list += ['localL1CacheSupported : ' + str(self.localL1CacheSupported)]
 *             str_list += ['sharedMemPerMultiprocessor : ' + str(self.sharedMemPerMultiprocessor)]
 *             str_list += ['regsPerMultiprocessor : ' + str(self.regsPerMultiprocessor)]             # <<<<<<<<<<<<<<
 *             str_list += ['managedMemory : ' + str(self.managedMemory)]
 *             str_list += ['isMultiGpuBoard : ' + str(self.isMultiGpuBoard)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_regsPerMultiprocessor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_regsPerMultiprocessor, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5769
 *             str_list += ['sharedMemPerMultiprocessor : ' + str(self.sharedMemPerMultiprocessor)]
 *             str_list += ['regsPerMultiprocessor : ' + str(self.regsPerMultiprocessor)]
 *             str_list += ['managedMemory : ' + str(self.managedMemory)]             # <<<<<<<<<<<<<<
 *             str_list += ['isMultiGpuBoard : ' + str(self.isMultiGpuBoard)]
 *             str_list += ['multiGpuBoardGroupID : ' + str(self.multiGpuBoardGroupID)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_managedMemory_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_managedMemory, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5770
 *             str_list += ['regsPerMultiprocessor : ' + str(self.regsPerMultiprocessor)]
 *             str_list += ['managedMemory : ' + str(self.managedMemory)]
 *             str_list += ['isMultiGpuBoard : ' + str(self.isMultiGpuBoard)]             # <<<<<<<<<<<<<<
 *             str_list += ['multiGpuBoardGroupID : ' + str(self.multiGpuBoardGroupID)]
 *             str_list += ['hostNativeAtomicSupported : ' + str(self.hostNativeAtomicSupported)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_isMultiGpuBoard_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_isMultiGpuBoard, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5771
 *             str_list += ['managedMemory : ' + str(self.managedMemory)]
 *             str_list += ['isMultiGpuBoard : ' + str(self.isMultiGpuBoard)]
 *             str_list += ['multiGpuBoardGroupID : ' + str(self.multiGpuBoardGroupID)]             # <<<<<<<<<<<<<<
 *             str_list += ['hostNativeAtomicSupported : ' + str(self.hostNativeAtomicSupported)]
 *             str_list += ['singleToDoublePrecisionPerfRatio : ' + str(self.singleToDoublePrecisionPerfRatio)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_multiGpuBoardGroupID_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_multiGpuBoardGroupID, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5772
 *             str_list += ['isMultiGpuBoard : ' + str(self.isMultiGpuBoard)]
 *             str_list += ['multiGpuBoardGroupID : ' + str(self.multiGpuBoardGroupID)]
 *             str_list += ['hostNativeAtomicSupported : ' + str(self.hostNativeAtomicSupported)]             # <<<<<<<<<<<<<<
 *             str_list += ['singleToDoublePrecisionPerfRatio : ' + str(self.singleToDoublePrecisionPerfRatio)]
 *             str_list += ['pageableMemoryAccess : ' + str(self.pageableMemoryAccess)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_hostNativeAtomicSupported_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_hostNativeAtomicSupported, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5773
 *             str_list += ['multiGpuBoardGroupID : ' + str(self.multiGpuBoardGroupID)]
 *             str_list += ['hostNativeAtomicSupported : ' + str(self.hostNativeAtomicSupported)]
 *             str_list += ['singleToDoublePrecisionPerfRatio : ' + str(self.singleToDoublePrecisionPerfRatio)]             # <<<<<<<<<<<<<<
 *             str_list += ['pageableMemoryAccess : ' + str(self.pageableMemoryAccess)]
 *             str_list += ['concurrentManagedAccess : ' + str(self.concurrentManagedAccess)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_singleToDoublePrecisionPerfRatio_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_singleToDoublePrecisionPerfRatio, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5774
 *             str_list += ['hostNativeAtomicSupported : ' + str(self.hostNativeAtomicSupported)]
 *             str_list += ['singleToDoublePrecisionPerfRatio : ' + str(self.singleToDoublePrecisionPerfRatio)]
 *             str_list += ['pageableMemoryAccess : ' + str(self.pageableMemoryAccess)]             # <<<<<<<<<<<<<<
 *             str_list += ['concurrentManagedAccess : ' + str(self.concurrentManagedAccess)]
 *             str_list += ['computePreemptionSupported : ' + str(self.computePreemptionSupported)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pageableMemoryAccess_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pageableMemoryAccess, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5775
 *             str_list += ['singleToDoublePrecisionPerfRatio : ' + str(self.singleToDoublePrecisionPerfRatio)]
 *             str_list += ['pageableMemoryAccess : ' + str(self.pageableMemoryAccess)]
 *             str_list += ['concurrentManagedAccess : ' + str(self.concurrentManagedAccess)]             # <<<<<<<<<<<<<<
 *             str_list += ['computePreemptionSupported : ' + str(self.computePreemptionSupported)]
 *             str_list += ['canUseHostPointerForRegisteredMem : ' + str(self.canUseHostPointerForRegisteredMem)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_concurrentManagedAccess_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_concurrentManagedAccess, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5776
 *             str_list += ['pageableMemoryAccess : ' + str(self.pageableMemoryAccess)]
 *             str_list += ['concurrentManagedAccess : ' + str(self.concurrentManagedAccess)]
 *             str_list += ['computePreemptionSupported : ' + str(self.computePreemptionSupported)]             # <<<<<<<<<<<<<<
 *             str_list += ['canUseHostPointerForRegisteredMem : ' + str(self.canUseHostPointerForRegisteredMem)]
 *             str_list += ['cooperativeLaunch : ' + str(self.cooperativeLaunch)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_computePreemptionSupported_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_computePreemptionSupported, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5777
 *             str_list += ['concurrentManagedAccess : ' + str(self.concurrentManagedAccess)]
 *             str_list += ['computePreemptionSupported : ' + str(self.computePreemptionSupported)]
 *             str_list += ['canUseHostPointerForRegisteredMem : ' + str(self.canUseHostPointerForRegisteredMem)]             # <<<<<<<<<<<<<<
 *             str_list += ['cooperativeLaunch : ' + str(self.cooperativeLaunch)]
 *             str_list += ['cooperativeMultiDeviceLaunch : ' + str(self.cooperativeMultiDeviceLaunch)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_canUseHostPointerForRegisteredMe_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_canUseHostPointerForRegisteredMe, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5778
 *             str_list += ['computePreemptionSupported : ' + str(self.computePreemptionSupported)]
 *             str_list += ['canUseHostPointerForRegisteredMem : ' + str(self.canUseHostPointerForRegisteredMem)]
 *             str_list += ['cooperativeLaunch : ' + str(self.cooperativeLaunch)]             # <<<<<<<<<<<<<<
 *             str_list += ['cooperativeMultiDeviceLaunch : ' + str(self.cooperativeMultiDeviceLaunch)]
 *             str_list += ['sharedMemPerBlockOptin : ' + str(self.sharedMemPerBlockOptin)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cooperativeLaunch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cooperativeLaunch, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5779
 *             str_list += ['canUseHostPointerForRegisteredMem : ' + str(self.canUseHostPointerForRegisteredMem)]
 *             str_list += ['cooperativeLaunch : ' + str(self.cooperativeLaunch)]
 *             str_list += ['cooperativeMultiDeviceLaunch : ' + str(self.cooperativeMultiDeviceLaunch)]             # <<<<<<<<<<<<<<
 *             str_list += ['sharedMemPerBlockOptin : ' + str(self.sharedMemPerBlockOptin)]
 *             str_list += ['pageableMemoryAccessUsesHostPageTables : ' + str(self.pageableMemoryAccessUsesHostPageTables)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cooperativeMultiDeviceLaunch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cooperativeMultiDeviceLaunch, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5780
 *             str_list += ['cooperativeLaunch : ' + str(self.cooperativeLaunch)]
 *             str_list += ['cooperativeMultiDeviceLaunch : ' + str(self.cooperativeMultiDeviceLaunch)]
 *             str_list += ['sharedMemPerBlockOptin : ' + str(self.sharedMemPerBlockOptin)]             # <<<<<<<<<<<<<<
 *             str_list += ['pageableMemoryAccessUsesHostPageTables : ' + str(self.pageableMemoryAccessUsesHostPageTables)]
 *             str_list += ['directManagedMemAccessFromHost : ' + str(self.directManagedMemAccessFromHost)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sharedMemPerBlockOptin_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sharedMemPerBlockOptin, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5781
 *             str_list += ['cooperativeMultiDeviceLaunch : ' + str(self.cooperativeMultiDeviceLaunch)]
 *             str_list += ['sharedMemPerBlockOptin : ' + str(self.sharedMemPerBlockOptin)]
 *             str_list += ['pageableMemoryAccessUsesHostPageTables : ' + str(self.pageableMemoryAccessUsesHostPageTables)]             # <<<<<<<<<<<<<<
 *             str_list += ['directManagedMemAccessFromHost : ' + str(self.directManagedMemAccessFromHost)]
 *             str_list += ['maxBlocksPerMultiProcessor : ' + str(self.maxBlocksPerMultiProcessor)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pageableMemoryAccessUsesHostPage_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pageableMemoryAccessUsesHostPage, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5782
 *             str_list += ['sharedMemPerBlockOptin : ' + str(self.sharedMemPerBlockOptin)]
 *             str_list += ['pageableMemoryAccessUsesHostPageTables : ' + str(self.pageableMemoryAccessUsesHostPageTables)]
 *             str_list += ['directManagedMemAccessFromHost : ' + str(self.directManagedMemAccessFromHost)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxBlocksPerMultiProcessor : ' + str(self.maxBlocksPerMultiProcessor)]
 *             str_list += ['accessPolicyMaxWindowSize : ' + str(self.accessPolicyMaxWindowSize)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_directManagedMemAccessFromHost_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_directManagedMemAccessFromHost, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5783
 *             str_list += ['pageableMemoryAccessUsesHostPageTables : ' + str(self.pageableMemoryAccessUsesHostPageTables)]
 *             str_list += ['directManagedMemAccessFromHost : ' + str(self.directManagedMemAccessFromHost)]
 *             str_list += ['maxBlocksPerMultiProcessor : ' + str(self.maxBlocksPerMultiProcessor)]             # <<<<<<<<<<<<<<
 *             str_list += ['accessPolicyMaxWindowSize : ' + str(self.accessPolicyMaxWindowSize)]
 *             str_list += ['reservedSharedMemPerBlock : ' + str(self.reservedSharedMemPerBlock)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxBlocksPerMultiProcessor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxBlocksPerMultiProcessor, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5784
 *             str_list += ['directManagedMemAccessFromHost : ' + str(self.directManagedMemAccessFromHost)]
 *             str_list += ['maxBlocksPerMultiProcessor : ' + str(self.maxBlocksPerMultiProcessor)]
 *             str_list += ['accessPolicyMaxWindowSize : ' + str(self.accessPolicyMaxWindowSize)]             # <<<<<<<<<<<<<<
 *             str_list += ['reservedSharedMemPerBlock : ' + str(self.reservedSharedMemPerBlock)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accessPolicyMaxWindowSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_accessPolicyMaxWindowSize, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5785
 *             str_list += ['maxBlocksPerMultiProcessor : ' + str(self.maxBlocksPerMultiProcessor)]
 *             str_list += ['accessPolicyMaxWindowSize : ' + str(self.accessPolicyMaxWindowSize)]
 *             str_list += ['reservedSharedMemPerBlock : ' + str(self.reservedSharedMemPerBlock)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reservedSharedMemPerBlock_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reservedSharedMemPerBlock, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5786
 *             str_list += ['accessPolicyMaxWindowSize : ' + str(self.accessPolicyMaxWindowSize)]
 *             str_list += ['reservedSharedMemPerBlock : ' + str(self.reservedSharedMemPerBlock)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5704
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['name : ' + self.name.decode('utf-8')]
 */
  }

  /* "cuda/cudart.pyx":5788
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5703
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.__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/cudart.pyx":5791
 * 
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].name
 *     @name.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_4name_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4name___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_4name___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5791, 0, __PYX_ERR(0, 5791, __pyx_L1_error));

  /* "cuda/cudart.pyx":5792
 *     @property
 *     def name(self):
 *         return self._ptr[0].name             # <<<<<<<<<<<<<<
 *     @name.setter
 *     def name(self, name):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_FromString((__pyx_v_self->_ptr[0]).name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5791
 * 
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].name
 *     @name.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5794
 *         return self._ptr[0].name
 *     @name.setter
 *     def name(self, name):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].name = name
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4name_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4name_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_name) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  char __pyx_t_1[0x100];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5794, 0, __PYX_ERR(0, 5794, __pyx_L1_error));

  /* "cuda/cudart.pyx":5796
 *     def name(self, name):
 *         pass
 *         self._ptr[0].name = name             # <<<<<<<<<<<<<<
 *     @property
 *     def uuid(self):
 */
  if (unlikely(__Pyx_carray_from_py_char(__pyx_v_name, __pyx_t_1, 0x100) < 0)) __PYX_ERR(0, 5796, __pyx_L1_error)
  if (unlikely((0x100) != (0x100))) {
    PyErr_Format(PyExc_ValueError, "Assignment to slice of wrong length, expected %" CYTHON_FORMAT_SSIZE_T "d, got %" CYTHON_FORMAT_SSIZE_T "d", (Py_ssize_t)(0x100), (Py_ssize_t)(0x100));
    __PYX_ERR(0, 5796, __pyx_L1_error)
  }
  memcpy(&((__pyx_v_self->_ptr[0]).name[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).name[0]) * (0x100));

  /* "cuda/cudart.pyx":5794
 *         return self._ptr[0].name
 *     @name.setter
 *     def name(self, name):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].name = name
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5798
 *         self._ptr[0].name = name
 *     @property
 *     def uuid(self):             # <<<<<<<<<<<<<<
 *         return self._uuid
 *     @uuid.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_4uuid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_4uuid_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4uuid___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_4uuid___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5798, 0, __PYX_ERR(0, 5798, __pyx_L1_error));

  /* "cuda/cudart.pyx":5799
 *     @property
 *     def uuid(self):
 *         return self._uuid             # <<<<<<<<<<<<<<
 *     @uuid.setter
 *     def uuid(self, uuid not None : cudaUUID_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_uuid));
  __pyx_r = ((PyObject *)__pyx_v_self->_uuid);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5798
 *         self._ptr[0].name = name
 *     @property
 *     def uuid(self):             # <<<<<<<<<<<<<<
 *         return self._uuid
 *     @uuid.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.uuid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5801
 *         return self._uuid
 *     @uuid.setter
 *     def uuid(self, uuid not None : cudaUUID_t):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(uuid):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4uuid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_uuid); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4uuid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_uuid) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_uuid), __pyx_ptype_4cuda_6cudart_cudaUUID_t, 0, "uuid", 0))) __PYX_ERR(0, 5801, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4uuid_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaUUID_t *)__pyx_v_uuid));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4uuid_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaUUID_t *__pyx_v_uuid) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5801, 0, __PYX_ERR(0, 5801, __pyx_L1_error));

  /* "cuda/cudart.pyx":5803
 *     def uuid(self, uuid not None : cudaUUID_t):
 *         pass
 *         for _attr in dir(uuid):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_uuid)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5803, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5803, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5803, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 5803, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5803, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 5803, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":5804
 *         pass
 *         for _attr in dir(uuid):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5804, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5805
 *         for _attr in dir(uuid):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._uuid, _attr, getattr(uuid, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":5804
 *         pass
 *         for _attr in dir(uuid):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5806
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._uuid, _attr, getattr(uuid, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5806, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":5807
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._uuid, _attr, getattr(uuid, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def luid(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_uuid);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_uuid), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5807, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 5807, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5806
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._uuid, _attr, getattr(uuid, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5803
 *     def uuid(self, uuid not None : cudaUUID_t):
 *         pass
 *         for _attr in dir(uuid):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5801
 *         return self._uuid
 *     @uuid.setter
 *     def uuid(self, uuid not None : cudaUUID_t):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(uuid):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.uuid.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5809
 *                 setattr(self._uuid, _attr, getattr(uuid, _attr))
 *     @property
 *     def luid(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].luid, 8)
 *     @luid.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_4luid_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_4luid_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4luid___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_4luid___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5809, 0, __PYX_ERR(0, 5809, __pyx_L1_error));

  /* "cuda/cudart.pyx":5810
 *     @property
 *     def luid(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].luid, 8)             # <<<<<<<<<<<<<<
 *     @luid.setter
 *     def luid(self, luid):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_ptr[0]).luid, 8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5809
 *                 setattr(self._uuid, _attr, getattr(uuid, _attr))
 *     @property
 *     def luid(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].luid, 8)
 *     @luid.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.luid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5812
 *         return PyBytes_FromStringAndSize(self._ptr[0].luid, 8)
 *     @luid.setter
 *     def luid(self, luid):             # <<<<<<<<<<<<<<
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4luid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_luid); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4luid_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_luid) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4luid_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_luid));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_4luid_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_luid) {
  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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5812, 0, __PYX_ERR(0, 5812, __pyx_L1_error));

  /* "cuda/cudart.pyx":5813
 *     @luid.setter
 *     def luid(self, luid):
 *         if len(luid) != 8:             # <<<<<<<<<<<<<<
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         if CHAR_MIN == 0:
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_luid); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5813, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 8) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":5814
 *     def luid(self, luid):
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))             # <<<<<<<<<<<<<<
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(luid):
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_luid); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5814, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_luid_length_must_be_8_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5814, __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(0, 5814, __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(0, 5814, __pyx_L1_error)

    /* "cuda/cudart.pyx":5813
 *     @luid.setter
 *     def luid(self, luid):
 *         if len(luid) != 8:             # <<<<<<<<<<<<<<
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         if CHAR_MIN == 0:
 */
  }

  /* "cuda/cudart.pyx":5815
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(luid):
 *                 if b < 0 and b > -129:
 */
  __pyx_t_2 = ((CHAR_MIN == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":5816
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(luid):             # <<<<<<<<<<<<<<
 *                 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_luid)) || PyTuple_CheckExact(__pyx_v_luid)) {
      __pyx_t_3 = __pyx_v_luid; __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_luid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5816, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5816, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 5816, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5816, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 5816, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5816, __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(0, 5816, __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(0, 5816, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5817
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(luid):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].luid[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(0, 5817, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5817, __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(0, 5817, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5817, __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/cudart.pyx":5818
 *             for i, b in enumerate(luid):
 *                 if b < 0 and b > -129:
 *                     b = b + 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].luid[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(0, 5818, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":5817
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(luid):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].luid[i] = b
 */
      }

      /* "cuda/cudart.pyx":5819
 *                 if b < 0 and b > -129:
 *                     b = b + 256
 *                 self._ptr[0].luid[i] = b             # <<<<<<<<<<<<<<
 *         else:
 *             for i, b in enumerate(luid):
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 5819, __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(0, 5819, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).luid[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":5816
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(luid):             # <<<<<<<<<<<<<<
 *                 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/cudart.pyx":5815
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         if CHAR_MIN == 0:             # <<<<<<<<<<<<<<
 *             for i, b in enumerate(luid):
 *                 if b < 0 and b > -129:
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":5821
 *                 self._ptr[0].luid[i] = b
 *         else:
 *             for i, b in enumerate(luid):             # <<<<<<<<<<<<<<
 *                 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_luid)) || PyTuple_CheckExact(__pyx_v_luid)) {
      __pyx_t_3 = __pyx_v_luid; __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_luid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5821, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5821, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 5821, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5821, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 5821, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5821, __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(0, 5821, __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(0, 5821, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5822
 *         else:
 *             for i, b in enumerate(luid):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].luid[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(0, 5822, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5822, __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_L13_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(0, 5822, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5822, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L13_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cudart.pyx":5823
 *             for i, b in enumerate(luid):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].luid[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(0, 5823, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":5822
 *         else:
 *             for i, b in enumerate(luid):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].luid[i] = b
 */
      }

      /* "cuda/cudart.pyx":5824
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._ptr[0].luid[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def luidDeviceNodeMask(self):
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 5824, __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(0, 5824, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).luid[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":5821
 *                 self._ptr[0].luid[i] = b
 *         else:
 *             for i, b in enumerate(luid):             # <<<<<<<<<<<<<<
 *                 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/cudart.pyx":5812
 *         return PyBytes_FromStringAndSize(self._ptr[0].luid, 8)
 *     @luid.setter
 *     def luid(self, luid):             # <<<<<<<<<<<<<<
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 */

  /* 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.cudart.cudaDeviceProp.luid.__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/cudart.pyx":5826
 *                 self._ptr[0].luid[i] = b
 *     @property
 *     def luidDeviceNodeMask(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].luidDeviceNodeMask
 *     @luidDeviceNodeMask.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5826, 0, __PYX_ERR(0, 5826, __pyx_L1_error));

  /* "cuda/cudart.pyx":5827
 *     @property
 *     def luidDeviceNodeMask(self):
 *         return self._ptr[0].luidDeviceNodeMask             # <<<<<<<<<<<<<<
 *     @luidDeviceNodeMask.setter
 *     def luidDeviceNodeMask(self, unsigned int luidDeviceNodeMask):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).luidDeviceNodeMask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5826
 *                 self._ptr[0].luid[i] = b
 *     @property
 *     def luidDeviceNodeMask(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].luidDeviceNodeMask
 *     @luidDeviceNodeMask.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.luidDeviceNodeMask.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5829
 *         return self._ptr[0].luidDeviceNodeMask
 *     @luidDeviceNodeMask.setter
 *     def luidDeviceNodeMask(self, unsigned int luidDeviceNodeMask):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].luidDeviceNodeMask = luidDeviceNodeMask
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_luidDeviceNodeMask); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_luidDeviceNodeMask) {
  unsigned int __pyx_v_luidDeviceNodeMask;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_luidDeviceNodeMask); {
    __pyx_v_luidDeviceNodeMask = __Pyx_PyInt_As_unsigned_int(__pyx_arg_luidDeviceNodeMask); if (unlikely((__pyx_v_luidDeviceNodeMask == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5829, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.luidDeviceNodeMask.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((unsigned int)__pyx_v_luidDeviceNodeMask));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, unsigned int __pyx_v_luidDeviceNodeMask) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5829, 0, __PYX_ERR(0, 5829, __pyx_L1_error));

  /* "cuda/cudart.pyx":5831
 *     def luidDeviceNodeMask(self, unsigned int luidDeviceNodeMask):
 *         pass
 *         self._ptr[0].luidDeviceNodeMask = luidDeviceNodeMask             # <<<<<<<<<<<<<<
 *     @property
 *     def totalGlobalMem(self):
 */
  (__pyx_v_self->_ptr[0]).luidDeviceNodeMask = __pyx_v_luidDeviceNodeMask;

  /* "cuda/cudart.pyx":5829
 *         return self._ptr[0].luidDeviceNodeMask
 *     @luidDeviceNodeMask.setter
 *     def luidDeviceNodeMask(self, unsigned int luidDeviceNodeMask):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].luidDeviceNodeMask = luidDeviceNodeMask
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.luidDeviceNodeMask.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5833
 *         self._ptr[0].luidDeviceNodeMask = luidDeviceNodeMask
 *     @property
 *     def totalGlobalMem(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].totalGlobalMem
 *     @totalGlobalMem.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5833, 0, __PYX_ERR(0, 5833, __pyx_L1_error));

  /* "cuda/cudart.pyx":5834
 *     @property
 *     def totalGlobalMem(self):
 *         return self._ptr[0].totalGlobalMem             # <<<<<<<<<<<<<<
 *     @totalGlobalMem.setter
 *     def totalGlobalMem(self, size_t totalGlobalMem):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).totalGlobalMem); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5833
 *         self._ptr[0].luidDeviceNodeMask = luidDeviceNodeMask
 *     @property
 *     def totalGlobalMem(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].totalGlobalMem
 *     @totalGlobalMem.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.totalGlobalMem.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5836
 *         return self._ptr[0].totalGlobalMem
 *     @totalGlobalMem.setter
 *     def totalGlobalMem(self, size_t totalGlobalMem):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].totalGlobalMem = totalGlobalMem
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_totalGlobalMem); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_totalGlobalMem) {
  size_t __pyx_v_totalGlobalMem;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_totalGlobalMem); {
    __pyx_v_totalGlobalMem = __Pyx_PyInt_As_size_t(__pyx_arg_totalGlobalMem); if (unlikely((__pyx_v_totalGlobalMem == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5836, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.totalGlobalMem.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_totalGlobalMem));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_totalGlobalMem) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5836, 0, __PYX_ERR(0, 5836, __pyx_L1_error));

  /* "cuda/cudart.pyx":5838
 *     def totalGlobalMem(self, size_t totalGlobalMem):
 *         pass
 *         self._ptr[0].totalGlobalMem = totalGlobalMem             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemPerBlock(self):
 */
  (__pyx_v_self->_ptr[0]).totalGlobalMem = __pyx_v_totalGlobalMem;

  /* "cuda/cudart.pyx":5836
 *         return self._ptr[0].totalGlobalMem
 *     @totalGlobalMem.setter
 *     def totalGlobalMem(self, size_t totalGlobalMem):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].totalGlobalMem = totalGlobalMem
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.totalGlobalMem.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5840
 *         self._ptr[0].totalGlobalMem = totalGlobalMem
 *     @property
 *     def sharedMemPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5840, 0, __PYX_ERR(0, 5840, __pyx_L1_error));

  /* "cuda/cudart.pyx":5841
 *     @property
 *     def sharedMemPerBlock(self):
 *         return self._ptr[0].sharedMemPerBlock             # <<<<<<<<<<<<<<
 *     @sharedMemPerBlock.setter
 *     def sharedMemPerBlock(self, size_t sharedMemPerBlock):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).sharedMemPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5840
 *         self._ptr[0].totalGlobalMem = totalGlobalMem
 *     @property
 *     def sharedMemPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5843
 *         return self._ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter
 *     def sharedMemPerBlock(self, size_t sharedMemPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerBlock); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerBlock) {
  size_t __pyx_v_sharedMemPerBlock;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_sharedMemPerBlock); {
    __pyx_v_sharedMemPerBlock = __Pyx_PyInt_As_size_t(__pyx_arg_sharedMemPerBlock); if (unlikely((__pyx_v_sharedMemPerBlock == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5843, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_sharedMemPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_sharedMemPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5843, 0, __PYX_ERR(0, 5843, __pyx_L1_error));

  /* "cuda/cudart.pyx":5845
 *     def sharedMemPerBlock(self, size_t sharedMemPerBlock):
 *         pass
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def regsPerBlock(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemPerBlock = __pyx_v_sharedMemPerBlock;

  /* "cuda/cudart.pyx":5843
 *         return self._ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter
 *     def sharedMemPerBlock(self, size_t sharedMemPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5847
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 *     @property
 *     def regsPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].regsPerBlock
 *     @regsPerBlock.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5847, 0, __PYX_ERR(0, 5847, __pyx_L1_error));

  /* "cuda/cudart.pyx":5848
 *     @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(0, 5848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5847
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 *     @property
 *     def regsPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].regsPerBlock
 *     @regsPerBlock.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5850
 *         return self._ptr[0].regsPerBlock
 *     @regsPerBlock.setter
 *     def regsPerBlock(self, int regsPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].regsPerBlock = regsPerBlock
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_regsPerBlock); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_regsPerBlock) {
  int __pyx_v_regsPerBlock;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 5850, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.regsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_regsPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_regsPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5850, 0, __PYX_ERR(0, 5850, __pyx_L1_error));

  /* "cuda/cudart.pyx":5852
 *     def regsPerBlock(self, int regsPerBlock):
 *         pass
 *         self._ptr[0].regsPerBlock = regsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def warpSize(self):
 */
  (__pyx_v_self->_ptr[0]).regsPerBlock = __pyx_v_regsPerBlock;

  /* "cuda/cudart.pyx":5850
 *         return self._ptr[0].regsPerBlock
 *     @regsPerBlock.setter
 *     def regsPerBlock(self, int regsPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].regsPerBlock = regsPerBlock
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.regsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5854
 *         self._ptr[0].regsPerBlock = regsPerBlock
 *     @property
 *     def warpSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].warpSize
 *     @warpSize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_8warpSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_8warpSize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8warpSize___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8warpSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5854, 0, __PYX_ERR(0, 5854, __pyx_L1_error));

  /* "cuda/cudart.pyx":5855
 *     @property
 *     def warpSize(self):
 *         return self._ptr[0].warpSize             # <<<<<<<<<<<<<<
 *     @warpSize.setter
 *     def warpSize(self, int warpSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).warpSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5854
 *         self._ptr[0].regsPerBlock = regsPerBlock
 *     @property
 *     def warpSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].warpSize
 *     @warpSize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.warpSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5857
 *         return self._ptr[0].warpSize
 *     @warpSize.setter
 *     def warpSize(self, int warpSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].warpSize = warpSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8warpSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_warpSize); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8warpSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_warpSize) {
  int __pyx_v_warpSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_warpSize); {
    __pyx_v_warpSize = __Pyx_PyInt_As_int(__pyx_arg_warpSize); if (unlikely((__pyx_v_warpSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5857, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.warpSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8warpSize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_warpSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8warpSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_warpSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5857, 0, __PYX_ERR(0, 5857, __pyx_L1_error));

  /* "cuda/cudart.pyx":5859
 *     def warpSize(self, int warpSize):
 *         pass
 *         self._ptr[0].warpSize = warpSize             # <<<<<<<<<<<<<<
 *     @property
 *     def memPitch(self):
 */
  (__pyx_v_self->_ptr[0]).warpSize = __pyx_v_warpSize;

  /* "cuda/cudart.pyx":5857
 *         return self._ptr[0].warpSize
 *     @warpSize.setter
 *     def warpSize(self, int warpSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].warpSize = warpSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.warpSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5861
 *         self._ptr[0].warpSize = warpSize
 *     @property
 *     def memPitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].memPitch
 *     @memPitch.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_8memPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_8memPitch_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8memPitch___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8memPitch___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5861, 0, __PYX_ERR(0, 5861, __pyx_L1_error));

  /* "cuda/cudart.pyx":5862
 *     @property
 *     def memPitch(self):
 *         return self._ptr[0].memPitch             # <<<<<<<<<<<<<<
 *     @memPitch.setter
 *     def memPitch(self, size_t memPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).memPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5861
 *         self._ptr[0].warpSize = warpSize
 *     @property
 *     def memPitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].memPitch
 *     @memPitch.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5864
 *         return self._ptr[0].memPitch
 *     @memPitch.setter
 *     def memPitch(self, size_t memPitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].memPitch = memPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8memPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memPitch); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8memPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memPitch) {
  size_t __pyx_v_memPitch;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_memPitch); {
    __pyx_v_memPitch = __Pyx_PyInt_As_size_t(__pyx_arg_memPitch); if (unlikely((__pyx_v_memPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5864, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8memPitch_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_memPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8memPitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_memPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5864, 0, __PYX_ERR(0, 5864, __pyx_L1_error));

  /* "cuda/cudart.pyx":5866
 *     def memPitch(self, size_t memPitch):
 *         pass
 *         self._ptr[0].memPitch = memPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsPerBlock(self):
 */
  (__pyx_v_self->_ptr[0]).memPitch = __pyx_v_memPitch;

  /* "cuda/cudart.pyx":5864
 *         return self._ptr[0].memPitch
 *     @memPitch.setter
 *     def memPitch(self, size_t memPitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].memPitch = memPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5868
 *         self._ptr[0].memPitch = memPitch
 *     @property
 *     def maxThreadsPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5868, 0, __PYX_ERR(0, 5868, __pyx_L1_error));

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

  /* "cuda/cudart.pyx":5868
 *         self._ptr[0].memPitch = memPitch
 *     @property
 *     def maxThreadsPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5871
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerBlock); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerBlock) {
  int __pyx_v_maxThreadsPerBlock;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 5871, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxThreadsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxThreadsPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxThreadsPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5871, 0, __PYX_ERR(0, 5871, __pyx_L1_error));

  /* "cuda/cudart.pyx":5873
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         pass
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsDim(self):
 */
  (__pyx_v_self->_ptr[0]).maxThreadsPerBlock = __pyx_v_maxThreadsPerBlock;

  /* "cuda/cudart.pyx":5871
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxThreadsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5875
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property
 *     def maxThreadsDim(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5875, 0, __PYX_ERR(0, 5875, __pyx_L1_error));

  /* "cuda/cudart.pyx":5876
 *     @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(0, 5876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5875
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property
 *     def maxThreadsDim(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5878
 *         return self._ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter
 *     def maxThreadsDim(self, maxThreadsDim):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxThreadsDim));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5878, 0, __PYX_ERR(0, 5878, __pyx_L1_error));

  /* "cuda/cudart.pyx":5880
 *     def maxThreadsDim(self, maxThreadsDim):
 *         pass
 *         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(0, 5880, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxThreadsDim[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxThreadsDim[0]) * (3));

  /* "cuda/cudart.pyx":5878
 *         return self._ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter
 *     def maxThreadsDim(self, maxThreadsDim):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxThreadsDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5882
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 *     @property
 *     def maxGridSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxGridSize
 *     @maxGridSize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11maxGridSize___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11maxGridSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5882, 0, __PYX_ERR(0, 5882, __pyx_L1_error));

  /* "cuda/cudart.pyx":5883
 *     @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(0, 5883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5882
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 *     @property
 *     def maxGridSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxGridSize
 *     @maxGridSize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5885
 *         return self._ptr[0].maxGridSize
 *     @maxGridSize.setter
 *     def maxGridSize(self, maxGridSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxGridSize = maxGridSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxGridSize); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxGridSize) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxGridSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxGridSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5885, 0, __PYX_ERR(0, 5885, __pyx_L1_error));

  /* "cuda/cudart.pyx":5887
 *     def maxGridSize(self, maxGridSize):
 *         pass
 *         self._ptr[0].maxGridSize = maxGridSize             # <<<<<<<<<<<<<<
 *     @property
 *     def clockRate(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxGridSize, __pyx_t_1, 3) < 0)) __PYX_ERR(0, 5887, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxGridSize[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxGridSize[0]) * (3));

  /* "cuda/cudart.pyx":5885
 *         return self._ptr[0].maxGridSize
 *     @maxGridSize.setter
 *     def maxGridSize(self, maxGridSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxGridSize = maxGridSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxGridSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5889
 *         self._ptr[0].maxGridSize = maxGridSize
 *     @property
 *     def clockRate(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clockRate
 *     @clockRate.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_9clockRate_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_9clockRate_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9clockRate___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_9clockRate___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5889, 0, __PYX_ERR(0, 5889, __pyx_L1_error));

  /* "cuda/cudart.pyx":5890
 *     @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(0, 5890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5889
 *         self._ptr[0].maxGridSize = maxGridSize
 *     @property
 *     def clockRate(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clockRate
 *     @clockRate.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.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/cudart.pyx":5892
 *         return self._ptr[0].clockRate
 *     @clockRate.setter
 *     def clockRate(self, int clockRate):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clockRate = clockRate
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9clockRate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_clockRate); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9clockRate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_clockRate) {
  int __pyx_v_clockRate;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 5892, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.clockRate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9clockRate_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_clockRate));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9clockRate_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_clockRate) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5892, 0, __PYX_ERR(0, 5892, __pyx_L1_error));

  /* "cuda/cudart.pyx":5894
 *     def clockRate(self, int clockRate):
 *         pass
 *         self._ptr[0].clockRate = clockRate             # <<<<<<<<<<<<<<
 *     @property
 *     def totalConstMem(self):
 */
  (__pyx_v_self->_ptr[0]).clockRate = __pyx_v_clockRate;

  /* "cuda/cudart.pyx":5892
 *         return self._ptr[0].clockRate
 *     @clockRate.setter
 *     def clockRate(self, int clockRate):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clockRate = clockRate
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.clockRate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5896
 *         self._ptr[0].clockRate = clockRate
 *     @property
 *     def totalConstMem(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].totalConstMem
 *     @totalConstMem.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13totalConstMem___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13totalConstMem___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5896, 0, __PYX_ERR(0, 5896, __pyx_L1_error));

  /* "cuda/cudart.pyx":5897
 *     @property
 *     def totalConstMem(self):
 *         return self._ptr[0].totalConstMem             # <<<<<<<<<<<<<<
 *     @totalConstMem.setter
 *     def totalConstMem(self, size_t totalConstMem):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).totalConstMem); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5896
 *         self._ptr[0].clockRate = clockRate
 *     @property
 *     def totalConstMem(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].totalConstMem
 *     @totalConstMem.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.totalConstMem.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5899
 *         return self._ptr[0].totalConstMem
 *     @totalConstMem.setter
 *     def totalConstMem(self, size_t totalConstMem):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].totalConstMem = totalConstMem
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_totalConstMem); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_totalConstMem) {
  size_t __pyx_v_totalConstMem;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_totalConstMem); {
    __pyx_v_totalConstMem = __Pyx_PyInt_As_size_t(__pyx_arg_totalConstMem); if (unlikely((__pyx_v_totalConstMem == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5899, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.totalConstMem.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_totalConstMem));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_totalConstMem) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5899, 0, __PYX_ERR(0, 5899, __pyx_L1_error));

  /* "cuda/cudart.pyx":5901
 *     def totalConstMem(self, size_t totalConstMem):
 *         pass
 *         self._ptr[0].totalConstMem = totalConstMem             # <<<<<<<<<<<<<<
 *     @property
 *     def major(self):
 */
  (__pyx_v_self->_ptr[0]).totalConstMem = __pyx_v_totalConstMem;

  /* "cuda/cudart.pyx":5899
 *         return self._ptr[0].totalConstMem
 *     @totalConstMem.setter
 *     def totalConstMem(self, size_t totalConstMem):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].totalConstMem = totalConstMem
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.totalConstMem.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5903
 *         self._ptr[0].totalConstMem = totalConstMem
 *     @property
 *     def major(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].major
 *     @major.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_5major_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_5major_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5major___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_5major___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5903, 0, __PYX_ERR(0, 5903, __pyx_L1_error));

  /* "cuda/cudart.pyx":5904
 *     @property
 *     def major(self):
 *         return self._ptr[0].major             # <<<<<<<<<<<<<<
 *     @major.setter
 *     def major(self, int major):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).major); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5903
 *         self._ptr[0].totalConstMem = totalConstMem
 *     @property
 *     def major(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].major
 *     @major.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.major.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5906
 *         return self._ptr[0].major
 *     @major.setter
 *     def major(self, int major):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].major = major
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5major_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_major); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5major_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_major) {
  int __pyx_v_major;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_major); {
    __pyx_v_major = __Pyx_PyInt_As_int(__pyx_arg_major); if (unlikely((__pyx_v_major == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5906, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.major.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5major_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_major));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5major_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_major) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5906, 0, __PYX_ERR(0, 5906, __pyx_L1_error));

  /* "cuda/cudart.pyx":5908
 *     def major(self, int major):
 *         pass
 *         self._ptr[0].major = major             # <<<<<<<<<<<<<<
 *     @property
 *     def minor(self):
 */
  (__pyx_v_self->_ptr[0]).major = __pyx_v_major;

  /* "cuda/cudart.pyx":5906
 *         return self._ptr[0].major
 *     @major.setter
 *     def major(self, int major):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].major = major
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.major.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5910
 *         self._ptr[0].major = major
 *     @property
 *     def minor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].minor
 *     @minor.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_5minor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_5minor_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5minor___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_5minor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5910, 0, __PYX_ERR(0, 5910, __pyx_L1_error));

  /* "cuda/cudart.pyx":5911
 *     @property
 *     def minor(self):
 *         return self._ptr[0].minor             # <<<<<<<<<<<<<<
 *     @minor.setter
 *     def minor(self, int minor):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).minor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5910
 *         self._ptr[0].major = major
 *     @property
 *     def minor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].minor
 *     @minor.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.minor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5913
 *         return self._ptr[0].minor
 *     @minor.setter
 *     def minor(self, int minor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].minor = minor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5minor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minor); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5minor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minor) {
  int __pyx_v_minor;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_minor); {
    __pyx_v_minor = __Pyx_PyInt_As_int(__pyx_arg_minor); if (unlikely((__pyx_v_minor == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5913, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.minor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5minor_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_minor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_5minor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_minor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5913, 0, __PYX_ERR(0, 5913, __pyx_L1_error));

  /* "cuda/cudart.pyx":5915
 *     def minor(self, int minor):
 *         pass
 *         self._ptr[0].minor = minor             # <<<<<<<<<<<<<<
 *     @property
 *     def textureAlignment(self):
 */
  (__pyx_v_self->_ptr[0]).minor = __pyx_v_minor;

  /* "cuda/cudart.pyx":5913
 *         return self._ptr[0].minor
 *     @minor.setter
 *     def minor(self, int minor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].minor = minor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.minor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5917
 *         self._ptr[0].minor = minor
 *     @property
 *     def textureAlignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].textureAlignment
 *     @textureAlignment.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16textureAlignment___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16textureAlignment___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5917, 0, __PYX_ERR(0, 5917, __pyx_L1_error));

  /* "cuda/cudart.pyx":5918
 *     @property
 *     def textureAlignment(self):
 *         return self._ptr[0].textureAlignment             # <<<<<<<<<<<<<<
 *     @textureAlignment.setter
 *     def textureAlignment(self, size_t textureAlignment):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).textureAlignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5917
 *         self._ptr[0].minor = minor
 *     @property
 *     def textureAlignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].textureAlignment
 *     @textureAlignment.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.textureAlignment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5920
 *         return self._ptr[0].textureAlignment
 *     @textureAlignment.setter
 *     def textureAlignment(self, size_t textureAlignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].textureAlignment = textureAlignment
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_textureAlignment); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_textureAlignment) {
  size_t __pyx_v_textureAlignment;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_textureAlignment); {
    __pyx_v_textureAlignment = __Pyx_PyInt_As_size_t(__pyx_arg_textureAlignment); if (unlikely((__pyx_v_textureAlignment == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5920, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.textureAlignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_textureAlignment));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_textureAlignment) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5920, 0, __PYX_ERR(0, 5920, __pyx_L1_error));

  /* "cuda/cudart.pyx":5922
 *     def textureAlignment(self, size_t textureAlignment):
 *         pass
 *         self._ptr[0].textureAlignment = textureAlignment             # <<<<<<<<<<<<<<
 *     @property
 *     def texturePitchAlignment(self):
 */
  (__pyx_v_self->_ptr[0]).textureAlignment = __pyx_v_textureAlignment;

  /* "cuda/cudart.pyx":5920
 *         return self._ptr[0].textureAlignment
 *     @textureAlignment.setter
 *     def textureAlignment(self, size_t textureAlignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].textureAlignment = textureAlignment
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.textureAlignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5924
 *         self._ptr[0].textureAlignment = textureAlignment
 *     @property
 *     def texturePitchAlignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].texturePitchAlignment
 *     @texturePitchAlignment.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5924, 0, __PYX_ERR(0, 5924, __pyx_L1_error));

  /* "cuda/cudart.pyx":5925
 *     @property
 *     def texturePitchAlignment(self):
 *         return self._ptr[0].texturePitchAlignment             # <<<<<<<<<<<<<<
 *     @texturePitchAlignment.setter
 *     def texturePitchAlignment(self, size_t texturePitchAlignment):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).texturePitchAlignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5924
 *         self._ptr[0].textureAlignment = textureAlignment
 *     @property
 *     def texturePitchAlignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].texturePitchAlignment
 *     @texturePitchAlignment.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.texturePitchAlignment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5927
 *         return self._ptr[0].texturePitchAlignment
 *     @texturePitchAlignment.setter
 *     def texturePitchAlignment(self, size_t texturePitchAlignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].texturePitchAlignment = texturePitchAlignment
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_texturePitchAlignment); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_texturePitchAlignment) {
  size_t __pyx_v_texturePitchAlignment;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_texturePitchAlignment); {
    __pyx_v_texturePitchAlignment = __Pyx_PyInt_As_size_t(__pyx_arg_texturePitchAlignment); if (unlikely((__pyx_v_texturePitchAlignment == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 5927, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.texturePitchAlignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_texturePitchAlignment));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_texturePitchAlignment) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5927, 0, __PYX_ERR(0, 5927, __pyx_L1_error));

  /* "cuda/cudart.pyx":5929
 *     def texturePitchAlignment(self, size_t texturePitchAlignment):
 *         pass
 *         self._ptr[0].texturePitchAlignment = texturePitchAlignment             # <<<<<<<<<<<<<<
 *     @property
 *     def deviceOverlap(self):
 */
  (__pyx_v_self->_ptr[0]).texturePitchAlignment = __pyx_v_texturePitchAlignment;

  /* "cuda/cudart.pyx":5927
 *         return self._ptr[0].texturePitchAlignment
 *     @texturePitchAlignment.setter
 *     def texturePitchAlignment(self, size_t texturePitchAlignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].texturePitchAlignment = texturePitchAlignment
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.texturePitchAlignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5931
 *         self._ptr[0].texturePitchAlignment = texturePitchAlignment
 *     @property
 *     def deviceOverlap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].deviceOverlap
 *     @deviceOverlap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5931, 0, __PYX_ERR(0, 5931, __pyx_L1_error));

  /* "cuda/cudart.pyx":5932
 *     @property
 *     def deviceOverlap(self):
 *         return self._ptr[0].deviceOverlap             # <<<<<<<<<<<<<<
 *     @deviceOverlap.setter
 *     def deviceOverlap(self, int deviceOverlap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).deviceOverlap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5931
 *         self._ptr[0].texturePitchAlignment = texturePitchAlignment
 *     @property
 *     def deviceOverlap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].deviceOverlap
 *     @deviceOverlap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.deviceOverlap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5934
 *         return self._ptr[0].deviceOverlap
 *     @deviceOverlap.setter
 *     def deviceOverlap(self, int deviceOverlap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].deviceOverlap = deviceOverlap
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceOverlap); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceOverlap) {
  int __pyx_v_deviceOverlap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_deviceOverlap); {
    __pyx_v_deviceOverlap = __Pyx_PyInt_As_int(__pyx_arg_deviceOverlap); if (unlikely((__pyx_v_deviceOverlap == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5934, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.deviceOverlap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_deviceOverlap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_deviceOverlap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5934, 0, __PYX_ERR(0, 5934, __pyx_L1_error));

  /* "cuda/cudart.pyx":5936
 *     def deviceOverlap(self, int deviceOverlap):
 *         pass
 *         self._ptr[0].deviceOverlap = deviceOverlap             # <<<<<<<<<<<<<<
 *     @property
 *     def multiProcessorCount(self):
 */
  (__pyx_v_self->_ptr[0]).deviceOverlap = __pyx_v_deviceOverlap;

  /* "cuda/cudart.pyx":5934
 *         return self._ptr[0].deviceOverlap
 *     @deviceOverlap.setter
 *     def deviceOverlap(self, int deviceOverlap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].deviceOverlap = deviceOverlap
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.deviceOverlap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5938
 *         self._ptr[0].deviceOverlap = deviceOverlap
 *     @property
 *     def multiProcessorCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].multiProcessorCount
 *     @multiProcessorCount.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5938, 0, __PYX_ERR(0, 5938, __pyx_L1_error));

  /* "cuda/cudart.pyx":5939
 *     @property
 *     def multiProcessorCount(self):
 *         return self._ptr[0].multiProcessorCount             # <<<<<<<<<<<<<<
 *     @multiProcessorCount.setter
 *     def multiProcessorCount(self, int multiProcessorCount):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).multiProcessorCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5938
 *         self._ptr[0].deviceOverlap = deviceOverlap
 *     @property
 *     def multiProcessorCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].multiProcessorCount
 *     @multiProcessorCount.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.multiProcessorCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5941
 *         return self._ptr[0].multiProcessorCount
 *     @multiProcessorCount.setter
 *     def multiProcessorCount(self, int multiProcessorCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].multiProcessorCount = multiProcessorCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_multiProcessorCount); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_multiProcessorCount) {
  int __pyx_v_multiProcessorCount;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_multiProcessorCount); {
    __pyx_v_multiProcessorCount = __Pyx_PyInt_As_int(__pyx_arg_multiProcessorCount); if (unlikely((__pyx_v_multiProcessorCount == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5941, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.multiProcessorCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_multiProcessorCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_multiProcessorCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5941, 0, __PYX_ERR(0, 5941, __pyx_L1_error));

  /* "cuda/cudart.pyx":5943
 *     def multiProcessorCount(self, int multiProcessorCount):
 *         pass
 *         self._ptr[0].multiProcessorCount = multiProcessorCount             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelExecTimeoutEnabled(self):
 */
  (__pyx_v_self->_ptr[0]).multiProcessorCount = __pyx_v_multiProcessorCount;

  /* "cuda/cudart.pyx":5941
 *         return self._ptr[0].multiProcessorCount
 *     @multiProcessorCount.setter
 *     def multiProcessorCount(self, int multiProcessorCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].multiProcessorCount = multiProcessorCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.multiProcessorCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5945
 *         self._ptr[0].multiProcessorCount = multiProcessorCount
 *     @property
 *     def kernelExecTimeoutEnabled(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].kernelExecTimeoutEnabled
 *     @kernelExecTimeoutEnabled.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5945, 0, __PYX_ERR(0, 5945, __pyx_L1_error));

  /* "cuda/cudart.pyx":5946
 *     @property
 *     def kernelExecTimeoutEnabled(self):
 *         return self._ptr[0].kernelExecTimeoutEnabled             # <<<<<<<<<<<<<<
 *     @kernelExecTimeoutEnabled.setter
 *     def kernelExecTimeoutEnabled(self, int kernelExecTimeoutEnabled):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).kernelExecTimeoutEnabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5945
 *         self._ptr[0].multiProcessorCount = multiProcessorCount
 *     @property
 *     def kernelExecTimeoutEnabled(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].kernelExecTimeoutEnabled
 *     @kernelExecTimeoutEnabled.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.kernelExecTimeoutEnabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5948
 *         return self._ptr[0].kernelExecTimeoutEnabled
 *     @kernelExecTimeoutEnabled.setter
 *     def kernelExecTimeoutEnabled(self, int kernelExecTimeoutEnabled):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].kernelExecTimeoutEnabled = kernelExecTimeoutEnabled
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_kernelExecTimeoutEnabled); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_kernelExecTimeoutEnabled) {
  int __pyx_v_kernelExecTimeoutEnabled;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_kernelExecTimeoutEnabled); {
    __pyx_v_kernelExecTimeoutEnabled = __Pyx_PyInt_As_int(__pyx_arg_kernelExecTimeoutEnabled); if (unlikely((__pyx_v_kernelExecTimeoutEnabled == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5948, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.kernelExecTimeoutEnabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_kernelExecTimeoutEnabled));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_kernelExecTimeoutEnabled) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5948, 0, __PYX_ERR(0, 5948, __pyx_L1_error));

  /* "cuda/cudart.pyx":5950
 *     def kernelExecTimeoutEnabled(self, int kernelExecTimeoutEnabled):
 *         pass
 *         self._ptr[0].kernelExecTimeoutEnabled = kernelExecTimeoutEnabled             # <<<<<<<<<<<<<<
 *     @property
 *     def integrated(self):
 */
  (__pyx_v_self->_ptr[0]).kernelExecTimeoutEnabled = __pyx_v_kernelExecTimeoutEnabled;

  /* "cuda/cudart.pyx":5948
 *         return self._ptr[0].kernelExecTimeoutEnabled
 *     @kernelExecTimeoutEnabled.setter
 *     def kernelExecTimeoutEnabled(self, int kernelExecTimeoutEnabled):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].kernelExecTimeoutEnabled = kernelExecTimeoutEnabled
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.kernelExecTimeoutEnabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5952
 *         self._ptr[0].kernelExecTimeoutEnabled = kernelExecTimeoutEnabled
 *     @property
 *     def integrated(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].integrated
 *     @integrated.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_10integrated_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_10integrated_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10integrated___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_10integrated___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5952, 0, __PYX_ERR(0, 5952, __pyx_L1_error));

  /* "cuda/cudart.pyx":5953
 *     @property
 *     def integrated(self):
 *         return self._ptr[0].integrated             # <<<<<<<<<<<<<<
 *     @integrated.setter
 *     def integrated(self, int integrated):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).integrated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5952
 *         self._ptr[0].kernelExecTimeoutEnabled = kernelExecTimeoutEnabled
 *     @property
 *     def integrated(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].integrated
 *     @integrated.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.integrated.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5955
 *         return self._ptr[0].integrated
 *     @integrated.setter
 *     def integrated(self, int integrated):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].integrated = integrated
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10integrated_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_integrated); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10integrated_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_integrated) {
  int __pyx_v_integrated;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_integrated); {
    __pyx_v_integrated = __Pyx_PyInt_As_int(__pyx_arg_integrated); if (unlikely((__pyx_v_integrated == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5955, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.integrated.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10integrated_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_integrated));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10integrated_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_integrated) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5955, 0, __PYX_ERR(0, 5955, __pyx_L1_error));

  /* "cuda/cudart.pyx":5957
 *     def integrated(self, int integrated):
 *         pass
 *         self._ptr[0].integrated = integrated             # <<<<<<<<<<<<<<
 *     @property
 *     def canMapHostMemory(self):
 */
  (__pyx_v_self->_ptr[0]).integrated = __pyx_v_integrated;

  /* "cuda/cudart.pyx":5955
 *         return self._ptr[0].integrated
 *     @integrated.setter
 *     def integrated(self, int integrated):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].integrated = integrated
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.integrated.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5959
 *         self._ptr[0].integrated = integrated
 *     @property
 *     def canMapHostMemory(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].canMapHostMemory
 *     @canMapHostMemory.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5959, 0, __PYX_ERR(0, 5959, __pyx_L1_error));

  /* "cuda/cudart.pyx":5960
 *     @property
 *     def canMapHostMemory(self):
 *         return self._ptr[0].canMapHostMemory             # <<<<<<<<<<<<<<
 *     @canMapHostMemory.setter
 *     def canMapHostMemory(self, int canMapHostMemory):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).canMapHostMemory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5959
 *         self._ptr[0].integrated = integrated
 *     @property
 *     def canMapHostMemory(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].canMapHostMemory
 *     @canMapHostMemory.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.canMapHostMemory.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5962
 *         return self._ptr[0].canMapHostMemory
 *     @canMapHostMemory.setter
 *     def canMapHostMemory(self, int canMapHostMemory):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].canMapHostMemory = canMapHostMemory
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_canMapHostMemory); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_canMapHostMemory) {
  int __pyx_v_canMapHostMemory;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_canMapHostMemory); {
    __pyx_v_canMapHostMemory = __Pyx_PyInt_As_int(__pyx_arg_canMapHostMemory); if (unlikely((__pyx_v_canMapHostMemory == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5962, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.canMapHostMemory.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_canMapHostMemory));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_canMapHostMemory) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5962, 0, __PYX_ERR(0, 5962, __pyx_L1_error));

  /* "cuda/cudart.pyx":5964
 *     def canMapHostMemory(self, int canMapHostMemory):
 *         pass
 *         self._ptr[0].canMapHostMemory = canMapHostMemory             # <<<<<<<<<<<<<<
 *     @property
 *     def computeMode(self):
 */
  (__pyx_v_self->_ptr[0]).canMapHostMemory = __pyx_v_canMapHostMemory;

  /* "cuda/cudart.pyx":5962
 *         return self._ptr[0].canMapHostMemory
 *     @canMapHostMemory.setter
 *     def canMapHostMemory(self, int canMapHostMemory):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].canMapHostMemory = canMapHostMemory
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.canMapHostMemory.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5966
 *         self._ptr[0].canMapHostMemory = canMapHostMemory
 *     @property
 *     def computeMode(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].computeMode
 *     @computeMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11computeMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11computeMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11computeMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11computeMode___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5966, 0, __PYX_ERR(0, 5966, __pyx_L1_error));

  /* "cuda/cudart.pyx":5967
 *     @property
 *     def computeMode(self):
 *         return self._ptr[0].computeMode             # <<<<<<<<<<<<<<
 *     @computeMode.setter
 *     def computeMode(self, int computeMode):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).computeMode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5966
 *         self._ptr[0].canMapHostMemory = canMapHostMemory
 *     @property
 *     def computeMode(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].computeMode
 *     @computeMode.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.computeMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5969
 *         return self._ptr[0].computeMode
 *     @computeMode.setter
 *     def computeMode(self, int computeMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].computeMode = computeMode
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11computeMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_computeMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11computeMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_computeMode) {
  int __pyx_v_computeMode;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_computeMode); {
    __pyx_v_computeMode = __Pyx_PyInt_As_int(__pyx_arg_computeMode); if (unlikely((__pyx_v_computeMode == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5969, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.computeMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11computeMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_computeMode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11computeMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_computeMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5969, 0, __PYX_ERR(0, 5969, __pyx_L1_error));

  /* "cuda/cudart.pyx":5971
 *     def computeMode(self, int computeMode):
 *         pass
 *         self._ptr[0].computeMode = computeMode             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture1D(self):
 */
  (__pyx_v_self->_ptr[0]).computeMode = __pyx_v_computeMode;

  /* "cuda/cudart.pyx":5969
 *         return self._ptr[0].computeMode
 *     @computeMode.setter
 *     def computeMode(self, int computeMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].computeMode = computeMode
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.computeMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5973
 *         self._ptr[0].computeMode = computeMode
 *     @property
 *     def maxTexture1D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1D
 *     @maxTexture1D.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5973, 0, __PYX_ERR(0, 5973, __pyx_L1_error));

  /* "cuda/cudart.pyx":5974
 *     @property
 *     def maxTexture1D(self):
 *         return self._ptr[0].maxTexture1D             # <<<<<<<<<<<<<<
 *     @maxTexture1D.setter
 *     def maxTexture1D(self, int maxTexture1D):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxTexture1D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5973
 *         self._ptr[0].computeMode = computeMode
 *     @property
 *     def maxTexture1D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1D
 *     @maxTexture1D.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5976
 *         return self._ptr[0].maxTexture1D
 *     @maxTexture1D.setter
 *     def maxTexture1D(self, int maxTexture1D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1D = maxTexture1D
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTexture1D); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTexture1D) {
  int __pyx_v_maxTexture1D;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxTexture1D); {
    __pyx_v_maxTexture1D = __Pyx_PyInt_As_int(__pyx_arg_maxTexture1D); if (unlikely((__pyx_v_maxTexture1D == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5976, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxTexture1D));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTexture1D) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5976, 0, __PYX_ERR(0, 5976, __pyx_L1_error));

  /* "cuda/cudart.pyx":5978
 *     def maxTexture1D(self, int maxTexture1D):
 *         pass
 *         self._ptr[0].maxTexture1D = maxTexture1D             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture1DMipmap(self):
 */
  (__pyx_v_self->_ptr[0]).maxTexture1D = __pyx_v_maxTexture1D;

  /* "cuda/cudart.pyx":5976
 *         return self._ptr[0].maxTexture1D
 *     @maxTexture1D.setter
 *     def maxTexture1D(self, int maxTexture1D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1D = maxTexture1D
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5980
 *         self._ptr[0].maxTexture1D = maxTexture1D
 *     @property
 *     def maxTexture1DMipmap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1DMipmap
 *     @maxTexture1DMipmap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5980, 0, __PYX_ERR(0, 5980, __pyx_L1_error));

  /* "cuda/cudart.pyx":5981
 *     @property
 *     def maxTexture1DMipmap(self):
 *         return self._ptr[0].maxTexture1DMipmap             # <<<<<<<<<<<<<<
 *     @maxTexture1DMipmap.setter
 *     def maxTexture1DMipmap(self, int maxTexture1DMipmap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxTexture1DMipmap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5980
 *         self._ptr[0].maxTexture1D = maxTexture1D
 *     @property
 *     def maxTexture1DMipmap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1DMipmap
 *     @maxTexture1DMipmap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DMipmap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5983
 *         return self._ptr[0].maxTexture1DMipmap
 *     @maxTexture1DMipmap.setter
 *     def maxTexture1DMipmap(self, int maxTexture1DMipmap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1DMipmap = maxTexture1DMipmap
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTexture1DMipmap); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTexture1DMipmap) {
  int __pyx_v_maxTexture1DMipmap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxTexture1DMipmap); {
    __pyx_v_maxTexture1DMipmap = __Pyx_PyInt_As_int(__pyx_arg_maxTexture1DMipmap); if (unlikely((__pyx_v_maxTexture1DMipmap == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5983, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DMipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxTexture1DMipmap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTexture1DMipmap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5983, 0, __PYX_ERR(0, 5983, __pyx_L1_error));

  /* "cuda/cudart.pyx":5985
 *     def maxTexture1DMipmap(self, int maxTexture1DMipmap):
 *         pass
 *         self._ptr[0].maxTexture1DMipmap = maxTexture1DMipmap             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture1DLinear(self):
 */
  (__pyx_v_self->_ptr[0]).maxTexture1DMipmap = __pyx_v_maxTexture1DMipmap;

  /* "cuda/cudart.pyx":5983
 *         return self._ptr[0].maxTexture1DMipmap
 *     @maxTexture1DMipmap.setter
 *     def maxTexture1DMipmap(self, int maxTexture1DMipmap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1DMipmap = maxTexture1DMipmap
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DMipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5987
 *         self._ptr[0].maxTexture1DMipmap = maxTexture1DMipmap
 *     @property
 *     def maxTexture1DLinear(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1DLinear
 *     @maxTexture1DLinear.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5987, 0, __PYX_ERR(0, 5987, __pyx_L1_error));

  /* "cuda/cudart.pyx":5988
 *     @property
 *     def maxTexture1DLinear(self):
 *         return self._ptr[0].maxTexture1DLinear             # <<<<<<<<<<<<<<
 *     @maxTexture1DLinear.setter
 *     def maxTexture1DLinear(self, int maxTexture1DLinear):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxTexture1DLinear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5987
 *         self._ptr[0].maxTexture1DMipmap = maxTexture1DMipmap
 *     @property
 *     def maxTexture1DLinear(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1DLinear
 *     @maxTexture1DLinear.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DLinear.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5990
 *         return self._ptr[0].maxTexture1DLinear
 *     @maxTexture1DLinear.setter
 *     def maxTexture1DLinear(self, int maxTexture1DLinear):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1DLinear = maxTexture1DLinear
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTexture1DLinear); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTexture1DLinear) {
  int __pyx_v_maxTexture1DLinear;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxTexture1DLinear); {
    __pyx_v_maxTexture1DLinear = __Pyx_PyInt_As_int(__pyx_arg_maxTexture1DLinear); if (unlikely((__pyx_v_maxTexture1DLinear == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5990, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DLinear.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxTexture1DLinear));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTexture1DLinear) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5990, 0, __PYX_ERR(0, 5990, __pyx_L1_error));

  /* "cuda/cudart.pyx":5992
 *     def maxTexture1DLinear(self, int maxTexture1DLinear):
 *         pass
 *         self._ptr[0].maxTexture1DLinear = maxTexture1DLinear             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture2D(self):
 */
  (__pyx_v_self->_ptr[0]).maxTexture1DLinear = __pyx_v_maxTexture1DLinear;

  /* "cuda/cudart.pyx":5990
 *         return self._ptr[0].maxTexture1DLinear
 *     @maxTexture1DLinear.setter
 *     def maxTexture1DLinear(self, int maxTexture1DLinear):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1DLinear = maxTexture1DLinear
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DLinear.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5994
 *         self._ptr[0].maxTexture1DLinear = maxTexture1DLinear
 *     @property
 *     def maxTexture2D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2D
 *     @maxTexture2D.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5994, 0, __PYX_ERR(0, 5994, __pyx_L1_error));

  /* "cuda/cudart.pyx":5995
 *     @property
 *     def maxTexture2D(self):
 *         return self._ptr[0].maxTexture2D             # <<<<<<<<<<<<<<
 *     @maxTexture2D.setter
 *     def maxTexture2D(self, maxTexture2D):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture2D, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5994
 *         self._ptr[0].maxTexture1DLinear = maxTexture1DLinear
 *     @property
 *     def maxTexture2D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2D
 *     @maxTexture2D.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5997
 *         return self._ptr[0].maxTexture2D
 *     @maxTexture2D.setter
 *     def maxTexture2D(self, maxTexture2D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2D = maxTexture2D
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2D); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2D) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture2D));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2D) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 5997, 0, __PYX_ERR(0, 5997, __pyx_L1_error));

  /* "cuda/cudart.pyx":5999
 *     def maxTexture2D(self, maxTexture2D):
 *         pass
 *         self._ptr[0].maxTexture2D = maxTexture2D             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture2DMipmap(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture2D, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 5999, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture2D[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture2D[0]) * (2));

  /* "cuda/cudart.pyx":5997
 *         return self._ptr[0].maxTexture2D
 *     @maxTexture2D.setter
 *     def maxTexture2D(self, maxTexture2D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2D = maxTexture2D
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6001
 *         self._ptr[0].maxTexture2D = maxTexture2D
 *     @property
 *     def maxTexture2DMipmap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DMipmap
 *     @maxTexture2DMipmap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6001, 0, __PYX_ERR(0, 6001, __pyx_L1_error));

  /* "cuda/cudart.pyx":6002
 *     @property
 *     def maxTexture2DMipmap(self):
 *         return self._ptr[0].maxTexture2DMipmap             # <<<<<<<<<<<<<<
 *     @maxTexture2DMipmap.setter
 *     def maxTexture2DMipmap(self, maxTexture2DMipmap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture2DMipmap, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6001
 *         self._ptr[0].maxTexture2D = maxTexture2D
 *     @property
 *     def maxTexture2DMipmap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DMipmap
 *     @maxTexture2DMipmap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DMipmap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6004
 *         return self._ptr[0].maxTexture2DMipmap
 *     @maxTexture2DMipmap.setter
 *     def maxTexture2DMipmap(self, maxTexture2DMipmap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DMipmap = maxTexture2DMipmap
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DMipmap); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DMipmap) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture2DMipmap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DMipmap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6004, 0, __PYX_ERR(0, 6004, __pyx_L1_error));

  /* "cuda/cudart.pyx":6006
 *     def maxTexture2DMipmap(self, maxTexture2DMipmap):
 *         pass
 *         self._ptr[0].maxTexture2DMipmap = maxTexture2DMipmap             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture2DLinear(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture2DMipmap, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 6006, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture2DMipmap[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture2DMipmap[0]) * (2));

  /* "cuda/cudart.pyx":6004
 *         return self._ptr[0].maxTexture2DMipmap
 *     @maxTexture2DMipmap.setter
 *     def maxTexture2DMipmap(self, maxTexture2DMipmap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DMipmap = maxTexture2DMipmap
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DMipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6008
 *         self._ptr[0].maxTexture2DMipmap = maxTexture2DMipmap
 *     @property
 *     def maxTexture2DLinear(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DLinear
 *     @maxTexture2DLinear.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6008, 0, __PYX_ERR(0, 6008, __pyx_L1_error));

  /* "cuda/cudart.pyx":6009
 *     @property
 *     def maxTexture2DLinear(self):
 *         return self._ptr[0].maxTexture2DLinear             # <<<<<<<<<<<<<<
 *     @maxTexture2DLinear.setter
 *     def maxTexture2DLinear(self, maxTexture2DLinear):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture2DLinear, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6008
 *         self._ptr[0].maxTexture2DMipmap = maxTexture2DMipmap
 *     @property
 *     def maxTexture2DLinear(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DLinear
 *     @maxTexture2DLinear.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DLinear.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6011
 *         return self._ptr[0].maxTexture2DLinear
 *     @maxTexture2DLinear.setter
 *     def maxTexture2DLinear(self, maxTexture2DLinear):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DLinear = maxTexture2DLinear
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLinear); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLinear) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture2DLinear));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLinear) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6011, 0, __PYX_ERR(0, 6011, __pyx_L1_error));

  /* "cuda/cudart.pyx":6013
 *     def maxTexture2DLinear(self, maxTexture2DLinear):
 *         pass
 *         self._ptr[0].maxTexture2DLinear = maxTexture2DLinear             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture2DGather(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture2DLinear, __pyx_t_1, 3) < 0)) __PYX_ERR(0, 6013, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture2DLinear[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture2DLinear[0]) * (3));

  /* "cuda/cudart.pyx":6011
 *         return self._ptr[0].maxTexture2DLinear
 *     @maxTexture2DLinear.setter
 *     def maxTexture2DLinear(self, maxTexture2DLinear):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DLinear = maxTexture2DLinear
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DLinear.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6015
 *         self._ptr[0].maxTexture2DLinear = maxTexture2DLinear
 *     @property
 *     def maxTexture2DGather(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DGather
 *     @maxTexture2DGather.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6015, 0, __PYX_ERR(0, 6015, __pyx_L1_error));

  /* "cuda/cudart.pyx":6016
 *     @property
 *     def maxTexture2DGather(self):
 *         return self._ptr[0].maxTexture2DGather             # <<<<<<<<<<<<<<
 *     @maxTexture2DGather.setter
 *     def maxTexture2DGather(self, maxTexture2DGather):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture2DGather, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6015
 *         self._ptr[0].maxTexture2DLinear = maxTexture2DLinear
 *     @property
 *     def maxTexture2DGather(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DGather
 *     @maxTexture2DGather.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DGather.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6018
 *         return self._ptr[0].maxTexture2DGather
 *     @maxTexture2DGather.setter
 *     def maxTexture2DGather(self, maxTexture2DGather):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DGather = maxTexture2DGather
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DGather); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DGather) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture2DGather));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DGather) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6018, 0, __PYX_ERR(0, 6018, __pyx_L1_error));

  /* "cuda/cudart.pyx":6020
 *     def maxTexture2DGather(self, maxTexture2DGather):
 *         pass
 *         self._ptr[0].maxTexture2DGather = maxTexture2DGather             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture3D(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture2DGather, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 6020, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture2DGather[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture2DGather[0]) * (2));

  /* "cuda/cudart.pyx":6018
 *         return self._ptr[0].maxTexture2DGather
 *     @maxTexture2DGather.setter
 *     def maxTexture2DGather(self, maxTexture2DGather):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DGather = maxTexture2DGather
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DGather.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6022
 *         self._ptr[0].maxTexture2DGather = maxTexture2DGather
 *     @property
 *     def maxTexture3D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture3D
 *     @maxTexture3D.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6022, 0, __PYX_ERR(0, 6022, __pyx_L1_error));

  /* "cuda/cudart.pyx":6023
 *     @property
 *     def maxTexture3D(self):
 *         return self._ptr[0].maxTexture3D             # <<<<<<<<<<<<<<
 *     @maxTexture3D.setter
 *     def maxTexture3D(self, maxTexture3D):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture3D, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6022
 *         self._ptr[0].maxTexture2DGather = maxTexture2DGather
 *     @property
 *     def maxTexture3D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture3D
 *     @maxTexture3D.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture3D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6025
 *         return self._ptr[0].maxTexture3D
 *     @maxTexture3D.setter
 *     def maxTexture3D(self, maxTexture3D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture3D = maxTexture3D
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture3D); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture3D) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture3D));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture3D) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6025, 0, __PYX_ERR(0, 6025, __pyx_L1_error));

  /* "cuda/cudart.pyx":6027
 *     def maxTexture3D(self, maxTexture3D):
 *         pass
 *         self._ptr[0].maxTexture3D = maxTexture3D             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture3DAlt(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture3D, __pyx_t_1, 3) < 0)) __PYX_ERR(0, 6027, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture3D[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture3D[0]) * (3));

  /* "cuda/cudart.pyx":6025
 *         return self._ptr[0].maxTexture3D
 *     @maxTexture3D.setter
 *     def maxTexture3D(self, maxTexture3D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture3D = maxTexture3D
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture3D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6029
 *         self._ptr[0].maxTexture3D = maxTexture3D
 *     @property
 *     def maxTexture3DAlt(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture3DAlt
 *     @maxTexture3DAlt.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6029, 0, __PYX_ERR(0, 6029, __pyx_L1_error));

  /* "cuda/cudart.pyx":6030
 *     @property
 *     def maxTexture3DAlt(self):
 *         return self._ptr[0].maxTexture3DAlt             # <<<<<<<<<<<<<<
 *     @maxTexture3DAlt.setter
 *     def maxTexture3DAlt(self, maxTexture3DAlt):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture3DAlt, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6029
 *         self._ptr[0].maxTexture3D = maxTexture3D
 *     @property
 *     def maxTexture3DAlt(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture3DAlt
 *     @maxTexture3DAlt.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture3DAlt.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6032
 *         return self._ptr[0].maxTexture3DAlt
 *     @maxTexture3DAlt.setter
 *     def maxTexture3DAlt(self, maxTexture3DAlt):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture3DAlt = maxTexture3DAlt
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture3DAlt); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture3DAlt) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture3DAlt));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture3DAlt) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6032, 0, __PYX_ERR(0, 6032, __pyx_L1_error));

  /* "cuda/cudart.pyx":6034
 *     def maxTexture3DAlt(self, maxTexture3DAlt):
 *         pass
 *         self._ptr[0].maxTexture3DAlt = maxTexture3DAlt             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTextureCubemap(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture3DAlt, __pyx_t_1, 3) < 0)) __PYX_ERR(0, 6034, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture3DAlt[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture3DAlt[0]) * (3));

  /* "cuda/cudart.pyx":6032
 *         return self._ptr[0].maxTexture3DAlt
 *     @maxTexture3DAlt.setter
 *     def maxTexture3DAlt(self, maxTexture3DAlt):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture3DAlt = maxTexture3DAlt
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture3DAlt.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6036
 *         self._ptr[0].maxTexture3DAlt = maxTexture3DAlt
 *     @property
 *     def maxTextureCubemap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTextureCubemap
 *     @maxTextureCubemap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6036, 0, __PYX_ERR(0, 6036, __pyx_L1_error));

  /* "cuda/cudart.pyx":6037
 *     @property
 *     def maxTextureCubemap(self):
 *         return self._ptr[0].maxTextureCubemap             # <<<<<<<<<<<<<<
 *     @maxTextureCubemap.setter
 *     def maxTextureCubemap(self, int maxTextureCubemap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxTextureCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6036
 *         self._ptr[0].maxTexture3DAlt = maxTexture3DAlt
 *     @property
 *     def maxTextureCubemap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTextureCubemap
 *     @maxTextureCubemap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTextureCubemap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6039
 *         return self._ptr[0].maxTextureCubemap
 *     @maxTextureCubemap.setter
 *     def maxTextureCubemap(self, int maxTextureCubemap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTextureCubemap = maxTextureCubemap
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTextureCubemap); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxTextureCubemap) {
  int __pyx_v_maxTextureCubemap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxTextureCubemap); {
    __pyx_v_maxTextureCubemap = __Pyx_PyInt_As_int(__pyx_arg_maxTextureCubemap); if (unlikely((__pyx_v_maxTextureCubemap == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6039, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTextureCubemap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxTextureCubemap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxTextureCubemap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6039, 0, __PYX_ERR(0, 6039, __pyx_L1_error));

  /* "cuda/cudart.pyx":6041
 *     def maxTextureCubemap(self, int maxTextureCubemap):
 *         pass
 *         self._ptr[0].maxTextureCubemap = maxTextureCubemap             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture1DLayered(self):
 */
  (__pyx_v_self->_ptr[0]).maxTextureCubemap = __pyx_v_maxTextureCubemap;

  /* "cuda/cudart.pyx":6039
 *         return self._ptr[0].maxTextureCubemap
 *     @maxTextureCubemap.setter
 *     def maxTextureCubemap(self, int maxTextureCubemap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTextureCubemap = maxTextureCubemap
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTextureCubemap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6043
 *         self._ptr[0].maxTextureCubemap = maxTextureCubemap
 *     @property
 *     def maxTexture1DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1DLayered
 *     @maxTexture1DLayered.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6043, 0, __PYX_ERR(0, 6043, __pyx_L1_error));

  /* "cuda/cudart.pyx":6044
 *     @property
 *     def maxTexture1DLayered(self):
 *         return self._ptr[0].maxTexture1DLayered             # <<<<<<<<<<<<<<
 *     @maxTexture1DLayered.setter
 *     def maxTexture1DLayered(self, maxTexture1DLayered):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture1DLayered, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6043
 *         self._ptr[0].maxTextureCubemap = maxTextureCubemap
 *     @property
 *     def maxTexture1DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture1DLayered
 *     @maxTexture1DLayered.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DLayered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6046
 *         return self._ptr[0].maxTexture1DLayered
 *     @maxTexture1DLayered.setter
 *     def maxTexture1DLayered(self, maxTexture1DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1DLayered = maxTexture1DLayered
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture1DLayered); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture1DLayered) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture1DLayered));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture1DLayered) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6046, 0, __PYX_ERR(0, 6046, __pyx_L1_error));

  /* "cuda/cudart.pyx":6048
 *     def maxTexture1DLayered(self, maxTexture1DLayered):
 *         pass
 *         self._ptr[0].maxTexture1DLayered = maxTexture1DLayered             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTexture2DLayered(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture1DLayered, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 6048, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture1DLayered[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture1DLayered[0]) * (2));

  /* "cuda/cudart.pyx":6046
 *         return self._ptr[0].maxTexture1DLayered
 *     @maxTexture1DLayered.setter
 *     def maxTexture1DLayered(self, maxTexture1DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture1DLayered = maxTexture1DLayered
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture1DLayered.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6050
 *         self._ptr[0].maxTexture1DLayered = maxTexture1DLayered
 *     @property
 *     def maxTexture2DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DLayered
 *     @maxTexture2DLayered.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6050, 0, __PYX_ERR(0, 6050, __pyx_L1_error));

  /* "cuda/cudart.pyx":6051
 *     @property
 *     def maxTexture2DLayered(self):
 *         return self._ptr[0].maxTexture2DLayered             # <<<<<<<<<<<<<<
 *     @maxTexture2DLayered.setter
 *     def maxTexture2DLayered(self, maxTexture2DLayered):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTexture2DLayered, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6050
 *         self._ptr[0].maxTexture1DLayered = maxTexture1DLayered
 *     @property
 *     def maxTexture2DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTexture2DLayered
 *     @maxTexture2DLayered.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DLayered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6053
 *         return self._ptr[0].maxTexture2DLayered
 *     @maxTexture2DLayered.setter
 *     def maxTexture2DLayered(self, maxTexture2DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DLayered = maxTexture2DLayered
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLayered); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLayered) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTexture2DLayered));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTexture2DLayered) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6053, 0, __PYX_ERR(0, 6053, __pyx_L1_error));

  /* "cuda/cudart.pyx":6055
 *     def maxTexture2DLayered(self, maxTexture2DLayered):
 *         pass
 *         self._ptr[0].maxTexture2DLayered = maxTexture2DLayered             # <<<<<<<<<<<<<<
 *     @property
 *     def maxTextureCubemapLayered(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTexture2DLayered, __pyx_t_1, 3) < 0)) __PYX_ERR(0, 6055, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTexture2DLayered[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTexture2DLayered[0]) * (3));

  /* "cuda/cudart.pyx":6053
 *         return self._ptr[0].maxTexture2DLayered
 *     @maxTexture2DLayered.setter
 *     def maxTexture2DLayered(self, maxTexture2DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTexture2DLayered = maxTexture2DLayered
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTexture2DLayered.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6057
 *         self._ptr[0].maxTexture2DLayered = maxTexture2DLayered
 *     @property
 *     def maxTextureCubemapLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTextureCubemapLayered
 *     @maxTextureCubemapLayered.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6057, 0, __PYX_ERR(0, 6057, __pyx_L1_error));

  /* "cuda/cudart.pyx":6058
 *     @property
 *     def maxTextureCubemapLayered(self):
 *         return self._ptr[0].maxTextureCubemapLayered             # <<<<<<<<<<<<<<
 *     @maxTextureCubemapLayered.setter
 *     def maxTextureCubemapLayered(self, maxTextureCubemapLayered):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxTextureCubemapLayered, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6057
 *         self._ptr[0].maxTexture2DLayered = maxTexture2DLayered
 *     @property
 *     def maxTextureCubemapLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxTextureCubemapLayered
 *     @maxTextureCubemapLayered.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTextureCubemapLayered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6060
 *         return self._ptr[0].maxTextureCubemapLayered
 *     @maxTextureCubemapLayered.setter
 *     def maxTextureCubemapLayered(self, maxTextureCubemapLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTextureCubemapLayered = maxTextureCubemapLayered
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTextureCubemapLayered); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxTextureCubemapLayered) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxTextureCubemapLayered));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxTextureCubemapLayered) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6060, 0, __PYX_ERR(0, 6060, __pyx_L1_error));

  /* "cuda/cudart.pyx":6062
 *     def maxTextureCubemapLayered(self, maxTextureCubemapLayered):
 *         pass
 *         self._ptr[0].maxTextureCubemapLayered = maxTextureCubemapLayered             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSurface1D(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxTextureCubemapLayered, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 6062, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxTextureCubemapLayered[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxTextureCubemapLayered[0]) * (2));

  /* "cuda/cudart.pyx":6060
 *         return self._ptr[0].maxTextureCubemapLayered
 *     @maxTextureCubemapLayered.setter
 *     def maxTextureCubemapLayered(self, maxTextureCubemapLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxTextureCubemapLayered = maxTextureCubemapLayered
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxTextureCubemapLayered.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6064
 *         self._ptr[0].maxTextureCubemapLayered = maxTextureCubemapLayered
 *     @property
 *     def maxSurface1D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface1D
 *     @maxSurface1D.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6064, 0, __PYX_ERR(0, 6064, __pyx_L1_error));

  /* "cuda/cudart.pyx":6065
 *     @property
 *     def maxSurface1D(self):
 *         return self._ptr[0].maxSurface1D             # <<<<<<<<<<<<<<
 *     @maxSurface1D.setter
 *     def maxSurface1D(self, int maxSurface1D):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxSurface1D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6064
 *         self._ptr[0].maxTextureCubemapLayered = maxTextureCubemapLayered
 *     @property
 *     def maxSurface1D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface1D
 *     @maxSurface1D.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface1D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6067
 *         return self._ptr[0].maxSurface1D
 *     @maxSurface1D.setter
 *     def maxSurface1D(self, int maxSurface1D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface1D = maxSurface1D
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxSurface1D); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxSurface1D) {
  int __pyx_v_maxSurface1D;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxSurface1D); {
    __pyx_v_maxSurface1D = __Pyx_PyInt_As_int(__pyx_arg_maxSurface1D); if (unlikely((__pyx_v_maxSurface1D == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6067, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface1D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxSurface1D));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxSurface1D) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6067, 0, __PYX_ERR(0, 6067, __pyx_L1_error));

  /* "cuda/cudart.pyx":6069
 *     def maxSurface1D(self, int maxSurface1D):
 *         pass
 *         self._ptr[0].maxSurface1D = maxSurface1D             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSurface2D(self):
 */
  (__pyx_v_self->_ptr[0]).maxSurface1D = __pyx_v_maxSurface1D;

  /* "cuda/cudart.pyx":6067
 *         return self._ptr[0].maxSurface1D
 *     @maxSurface1D.setter
 *     def maxSurface1D(self, int maxSurface1D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface1D = maxSurface1D
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface1D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6071
 *         self._ptr[0].maxSurface1D = maxSurface1D
 *     @property
 *     def maxSurface2D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface2D
 *     @maxSurface2D.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6071, 0, __PYX_ERR(0, 6071, __pyx_L1_error));

  /* "cuda/cudart.pyx":6072
 *     @property
 *     def maxSurface2D(self):
 *         return self._ptr[0].maxSurface2D             # <<<<<<<<<<<<<<
 *     @maxSurface2D.setter
 *     def maxSurface2D(self, maxSurface2D):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxSurface2D, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6071
 *         self._ptr[0].maxSurface1D = maxSurface1D
 *     @property
 *     def maxSurface2D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface2D
 *     @maxSurface2D.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface2D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6074
 *         return self._ptr[0].maxSurface2D
 *     @maxSurface2D.setter
 *     def maxSurface2D(self, maxSurface2D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface2D = maxSurface2D
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface2D); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface2D) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxSurface2D));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface2D) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6074, 0, __PYX_ERR(0, 6074, __pyx_L1_error));

  /* "cuda/cudart.pyx":6076
 *     def maxSurface2D(self, maxSurface2D):
 *         pass
 *         self._ptr[0].maxSurface2D = maxSurface2D             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSurface3D(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxSurface2D, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 6076, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxSurface2D[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxSurface2D[0]) * (2));

  /* "cuda/cudart.pyx":6074
 *         return self._ptr[0].maxSurface2D
 *     @maxSurface2D.setter
 *     def maxSurface2D(self, maxSurface2D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface2D = maxSurface2D
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface2D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6078
 *         self._ptr[0].maxSurface2D = maxSurface2D
 *     @property
 *     def maxSurface3D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface3D
 *     @maxSurface3D.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6078, 0, __PYX_ERR(0, 6078, __pyx_L1_error));

  /* "cuda/cudart.pyx":6079
 *     @property
 *     def maxSurface3D(self):
 *         return self._ptr[0].maxSurface3D             # <<<<<<<<<<<<<<
 *     @maxSurface3D.setter
 *     def maxSurface3D(self, maxSurface3D):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxSurface3D, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6078
 *         self._ptr[0].maxSurface2D = maxSurface2D
 *     @property
 *     def maxSurface3D(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface3D
 *     @maxSurface3D.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface3D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6081
 *         return self._ptr[0].maxSurface3D
 *     @maxSurface3D.setter
 *     def maxSurface3D(self, maxSurface3D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface3D = maxSurface3D
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface3D); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface3D) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxSurface3D));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface3D) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6081, 0, __PYX_ERR(0, 6081, __pyx_L1_error));

  /* "cuda/cudart.pyx":6083
 *     def maxSurface3D(self, maxSurface3D):
 *         pass
 *         self._ptr[0].maxSurface3D = maxSurface3D             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSurface1DLayered(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxSurface3D, __pyx_t_1, 3) < 0)) __PYX_ERR(0, 6083, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxSurface3D[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxSurface3D[0]) * (3));

  /* "cuda/cudart.pyx":6081
 *         return self._ptr[0].maxSurface3D
 *     @maxSurface3D.setter
 *     def maxSurface3D(self, maxSurface3D):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface3D = maxSurface3D
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface3D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6085
 *         self._ptr[0].maxSurface3D = maxSurface3D
 *     @property
 *     def maxSurface1DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface1DLayered
 *     @maxSurface1DLayered.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6085, 0, __PYX_ERR(0, 6085, __pyx_L1_error));

  /* "cuda/cudart.pyx":6086
 *     @property
 *     def maxSurface1DLayered(self):
 *         return self._ptr[0].maxSurface1DLayered             # <<<<<<<<<<<<<<
 *     @maxSurface1DLayered.setter
 *     def maxSurface1DLayered(self, maxSurface1DLayered):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxSurface1DLayered, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6085
 *         self._ptr[0].maxSurface3D = maxSurface3D
 *     @property
 *     def maxSurface1DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface1DLayered
 *     @maxSurface1DLayered.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface1DLayered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6088
 *         return self._ptr[0].maxSurface1DLayered
 *     @maxSurface1DLayered.setter
 *     def maxSurface1DLayered(self, maxSurface1DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface1DLayered = maxSurface1DLayered
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface1DLayered); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface1DLayered) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxSurface1DLayered));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface1DLayered) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6088, 0, __PYX_ERR(0, 6088, __pyx_L1_error));

  /* "cuda/cudart.pyx":6090
 *     def maxSurface1DLayered(self, maxSurface1DLayered):
 *         pass
 *         self._ptr[0].maxSurface1DLayered = maxSurface1DLayered             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSurface2DLayered(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxSurface1DLayered, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 6090, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxSurface1DLayered[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxSurface1DLayered[0]) * (2));

  /* "cuda/cudart.pyx":6088
 *         return self._ptr[0].maxSurface1DLayered
 *     @maxSurface1DLayered.setter
 *     def maxSurface1DLayered(self, maxSurface1DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface1DLayered = maxSurface1DLayered
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface1DLayered.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6092
 *         self._ptr[0].maxSurface1DLayered = maxSurface1DLayered
 *     @property
 *     def maxSurface2DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface2DLayered
 *     @maxSurface2DLayered.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6092, 0, __PYX_ERR(0, 6092, __pyx_L1_error));

  /* "cuda/cudart.pyx":6093
 *     @property
 *     def maxSurface2DLayered(self):
 *         return self._ptr[0].maxSurface2DLayered             # <<<<<<<<<<<<<<
 *     @maxSurface2DLayered.setter
 *     def maxSurface2DLayered(self, maxSurface2DLayered):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxSurface2DLayered, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6092
 *         self._ptr[0].maxSurface1DLayered = maxSurface1DLayered
 *     @property
 *     def maxSurface2DLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurface2DLayered
 *     @maxSurface2DLayered.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface2DLayered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6095
 *         return self._ptr[0].maxSurface2DLayered
 *     @maxSurface2DLayered.setter
 *     def maxSurface2DLayered(self, maxSurface2DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface2DLayered = maxSurface2DLayered
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface2DLayered); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurface2DLayered) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxSurface2DLayered));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurface2DLayered) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6095, 0, __PYX_ERR(0, 6095, __pyx_L1_error));

  /* "cuda/cudart.pyx":6097
 *     def maxSurface2DLayered(self, maxSurface2DLayered):
 *         pass
 *         self._ptr[0].maxSurface2DLayered = maxSurface2DLayered             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSurfaceCubemap(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxSurface2DLayered, __pyx_t_1, 3) < 0)) __PYX_ERR(0, 6097, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxSurface2DLayered[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxSurface2DLayered[0]) * (3));

  /* "cuda/cudart.pyx":6095
 *         return self._ptr[0].maxSurface2DLayered
 *     @maxSurface2DLayered.setter
 *     def maxSurface2DLayered(self, maxSurface2DLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurface2DLayered = maxSurface2DLayered
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurface2DLayered.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6099
 *         self._ptr[0].maxSurface2DLayered = maxSurface2DLayered
 *     @property
 *     def maxSurfaceCubemap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurfaceCubemap
 *     @maxSurfaceCubemap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6099, 0, __PYX_ERR(0, 6099, __pyx_L1_error));

  /* "cuda/cudart.pyx":6100
 *     @property
 *     def maxSurfaceCubemap(self):
 *         return self._ptr[0].maxSurfaceCubemap             # <<<<<<<<<<<<<<
 *     @maxSurfaceCubemap.setter
 *     def maxSurfaceCubemap(self, int maxSurfaceCubemap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxSurfaceCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6099
 *         self._ptr[0].maxSurface2DLayered = maxSurface2DLayered
 *     @property
 *     def maxSurfaceCubemap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurfaceCubemap
 *     @maxSurfaceCubemap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurfaceCubemap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6102
 *         return self._ptr[0].maxSurfaceCubemap
 *     @maxSurfaceCubemap.setter
 *     def maxSurfaceCubemap(self, int maxSurfaceCubemap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurfaceCubemap = maxSurfaceCubemap
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxSurfaceCubemap); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxSurfaceCubemap) {
  int __pyx_v_maxSurfaceCubemap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxSurfaceCubemap); {
    __pyx_v_maxSurfaceCubemap = __Pyx_PyInt_As_int(__pyx_arg_maxSurfaceCubemap); if (unlikely((__pyx_v_maxSurfaceCubemap == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6102, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurfaceCubemap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxSurfaceCubemap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxSurfaceCubemap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6102, 0, __PYX_ERR(0, 6102, __pyx_L1_error));

  /* "cuda/cudart.pyx":6104
 *     def maxSurfaceCubemap(self, int maxSurfaceCubemap):
 *         pass
 *         self._ptr[0].maxSurfaceCubemap = maxSurfaceCubemap             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSurfaceCubemapLayered(self):
 */
  (__pyx_v_self->_ptr[0]).maxSurfaceCubemap = __pyx_v_maxSurfaceCubemap;

  /* "cuda/cudart.pyx":6102
 *         return self._ptr[0].maxSurfaceCubemap
 *     @maxSurfaceCubemap.setter
 *     def maxSurfaceCubemap(self, int maxSurfaceCubemap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurfaceCubemap = maxSurfaceCubemap
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurfaceCubemap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6106
 *         self._ptr[0].maxSurfaceCubemap = maxSurfaceCubemap
 *     @property
 *     def maxSurfaceCubemapLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurfaceCubemapLayered
 *     @maxSurfaceCubemapLayered.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6106, 0, __PYX_ERR(0, 6106, __pyx_L1_error));

  /* "cuda/cudart.pyx":6107
 *     @property
 *     def maxSurfaceCubemapLayered(self):
 *         return self._ptr[0].maxSurfaceCubemapLayered             # <<<<<<<<<<<<<<
 *     @maxSurfaceCubemapLayered.setter
 *     def maxSurfaceCubemapLayered(self, maxSurfaceCubemapLayered):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxSurfaceCubemapLayered, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6106
 *         self._ptr[0].maxSurfaceCubemap = maxSurfaceCubemap
 *     @property
 *     def maxSurfaceCubemapLayered(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxSurfaceCubemapLayered
 *     @maxSurfaceCubemapLayered.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurfaceCubemapLayered.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6109
 *         return self._ptr[0].maxSurfaceCubemapLayered
 *     @maxSurfaceCubemapLayered.setter
 *     def maxSurfaceCubemapLayered(self, maxSurfaceCubemapLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurfaceCubemapLayered = maxSurfaceCubemapLayered
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurfaceCubemapLayered); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxSurfaceCubemapLayered) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v_maxSurfaceCubemapLayered));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, PyObject *__pyx_v_maxSurfaceCubemapLayered) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6109, 0, __PYX_ERR(0, 6109, __pyx_L1_error));

  /* "cuda/cudart.pyx":6111
 *     def maxSurfaceCubemapLayered(self, maxSurfaceCubemapLayered):
 *         pass
 *         self._ptr[0].maxSurfaceCubemapLayered = maxSurfaceCubemapLayered             # <<<<<<<<<<<<<<
 *     @property
 *     def surfaceAlignment(self):
 */
  if (unlikely(__Pyx_carray_from_py_int(__pyx_v_maxSurfaceCubemapLayered, __pyx_t_1, 2) < 0)) __PYX_ERR(0, 6111, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxSurfaceCubemapLayered[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxSurfaceCubemapLayered[0]) * (2));

  /* "cuda/cudart.pyx":6109
 *         return self._ptr[0].maxSurfaceCubemapLayered
 *     @maxSurfaceCubemapLayered.setter
 *     def maxSurfaceCubemapLayered(self, maxSurfaceCubemapLayered):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxSurfaceCubemapLayered = maxSurfaceCubemapLayered
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxSurfaceCubemapLayered.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6113
 *         self._ptr[0].maxSurfaceCubemapLayered = maxSurfaceCubemapLayered
 *     @property
 *     def surfaceAlignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].surfaceAlignment
 *     @surfaceAlignment.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6113, 0, __PYX_ERR(0, 6113, __pyx_L1_error));

  /* "cuda/cudart.pyx":6114
 *     @property
 *     def surfaceAlignment(self):
 *         return self._ptr[0].surfaceAlignment             # <<<<<<<<<<<<<<
 *     @surfaceAlignment.setter
 *     def surfaceAlignment(self, size_t surfaceAlignment):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).surfaceAlignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6113
 *         self._ptr[0].maxSurfaceCubemapLayered = maxSurfaceCubemapLayered
 *     @property
 *     def surfaceAlignment(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].surfaceAlignment
 *     @surfaceAlignment.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.surfaceAlignment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6116
 *         return self._ptr[0].surfaceAlignment
 *     @surfaceAlignment.setter
 *     def surfaceAlignment(self, size_t surfaceAlignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].surfaceAlignment = surfaceAlignment
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_surfaceAlignment); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_surfaceAlignment) {
  size_t __pyx_v_surfaceAlignment;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_surfaceAlignment); {
    __pyx_v_surfaceAlignment = __Pyx_PyInt_As_size_t(__pyx_arg_surfaceAlignment); if (unlikely((__pyx_v_surfaceAlignment == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6116, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.surfaceAlignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_surfaceAlignment));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_surfaceAlignment) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6116, 0, __PYX_ERR(0, 6116, __pyx_L1_error));

  /* "cuda/cudart.pyx":6118
 *     def surfaceAlignment(self, size_t surfaceAlignment):
 *         pass
 *         self._ptr[0].surfaceAlignment = surfaceAlignment             # <<<<<<<<<<<<<<
 *     @property
 *     def concurrentKernels(self):
 */
  (__pyx_v_self->_ptr[0]).surfaceAlignment = __pyx_v_surfaceAlignment;

  /* "cuda/cudart.pyx":6116
 *         return self._ptr[0].surfaceAlignment
 *     @surfaceAlignment.setter
 *     def surfaceAlignment(self, size_t surfaceAlignment):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].surfaceAlignment = surfaceAlignment
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.surfaceAlignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6120
 *         self._ptr[0].surfaceAlignment = surfaceAlignment
 *     @property
 *     def concurrentKernels(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].concurrentKernels
 *     @concurrentKernels.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6120, 0, __PYX_ERR(0, 6120, __pyx_L1_error));

  /* "cuda/cudart.pyx":6121
 *     @property
 *     def concurrentKernels(self):
 *         return self._ptr[0].concurrentKernels             # <<<<<<<<<<<<<<
 *     @concurrentKernels.setter
 *     def concurrentKernels(self, int concurrentKernels):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).concurrentKernels); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6120
 *         self._ptr[0].surfaceAlignment = surfaceAlignment
 *     @property
 *     def concurrentKernels(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].concurrentKernels
 *     @concurrentKernels.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.concurrentKernels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6123
 *         return self._ptr[0].concurrentKernels
 *     @concurrentKernels.setter
 *     def concurrentKernels(self, int concurrentKernels):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].concurrentKernels = concurrentKernels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_concurrentKernels); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_concurrentKernels) {
  int __pyx_v_concurrentKernels;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_concurrentKernels); {
    __pyx_v_concurrentKernels = __Pyx_PyInt_As_int(__pyx_arg_concurrentKernels); if (unlikely((__pyx_v_concurrentKernels == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6123, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.concurrentKernels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_concurrentKernels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_concurrentKernels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6123, 0, __PYX_ERR(0, 6123, __pyx_L1_error));

  /* "cuda/cudart.pyx":6125
 *     def concurrentKernels(self, int concurrentKernels):
 *         pass
 *         self._ptr[0].concurrentKernels = concurrentKernels             # <<<<<<<<<<<<<<
 *     @property
 *     def ECCEnabled(self):
 */
  (__pyx_v_self->_ptr[0]).concurrentKernels = __pyx_v_concurrentKernels;

  /* "cuda/cudart.pyx":6123
 *         return self._ptr[0].concurrentKernels
 *     @concurrentKernels.setter
 *     def concurrentKernels(self, int concurrentKernels):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].concurrentKernels = concurrentKernels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.concurrentKernels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6127
 *         self._ptr[0].concurrentKernels = concurrentKernels
 *     @property
 *     def ECCEnabled(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].ECCEnabled
 *     @ECCEnabled.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6127, 0, __PYX_ERR(0, 6127, __pyx_L1_error));

  /* "cuda/cudart.pyx":6128
 *     @property
 *     def ECCEnabled(self):
 *         return self._ptr[0].ECCEnabled             # <<<<<<<<<<<<<<
 *     @ECCEnabled.setter
 *     def ECCEnabled(self, int ECCEnabled):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).ECCEnabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6127
 *         self._ptr[0].concurrentKernels = concurrentKernels
 *     @property
 *     def ECCEnabled(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].ECCEnabled
 *     @ECCEnabled.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.ECCEnabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6130
 *         return self._ptr[0].ECCEnabled
 *     @ECCEnabled.setter
 *     def ECCEnabled(self, int ECCEnabled):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].ECCEnabled = ECCEnabled
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_ECCEnabled); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_ECCEnabled) {
  int __pyx_v_ECCEnabled;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_ECCEnabled); {
    __pyx_v_ECCEnabled = __Pyx_PyInt_As_int(__pyx_arg_ECCEnabled); if (unlikely((__pyx_v_ECCEnabled == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6130, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.ECCEnabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_ECCEnabled));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_ECCEnabled) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6130, 0, __PYX_ERR(0, 6130, __pyx_L1_error));

  /* "cuda/cudart.pyx":6132
 *     def ECCEnabled(self, int ECCEnabled):
 *         pass
 *         self._ptr[0].ECCEnabled = ECCEnabled             # <<<<<<<<<<<<<<
 *     @property
 *     def pciBusID(self):
 */
  (__pyx_v_self->_ptr[0]).ECCEnabled = __pyx_v_ECCEnabled;

  /* "cuda/cudart.pyx":6130
 *         return self._ptr[0].ECCEnabled
 *     @ECCEnabled.setter
 *     def ECCEnabled(self, int ECCEnabled):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].ECCEnabled = ECCEnabled
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.ECCEnabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6134
 *         self._ptr[0].ECCEnabled = ECCEnabled
 *     @property
 *     def pciBusID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pciBusID
 *     @pciBusID.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_8pciBusID_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_8pciBusID_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8pciBusID___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_8pciBusID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6134, 0, __PYX_ERR(0, 6134, __pyx_L1_error));

  /* "cuda/cudart.pyx":6135
 *     @property
 *     def pciBusID(self):
 *         return self._ptr[0].pciBusID             # <<<<<<<<<<<<<<
 *     @pciBusID.setter
 *     def pciBusID(self, int pciBusID):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).pciBusID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6134
 *         self._ptr[0].ECCEnabled = ECCEnabled
 *     @property
 *     def pciBusID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pciBusID
 *     @pciBusID.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciBusID.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6137
 *         return self._ptr[0].pciBusID
 *     @pciBusID.setter
 *     def pciBusID(self, int pciBusID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pciBusID = pciBusID
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8pciBusID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pciBusID); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8pciBusID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pciBusID) {
  int __pyx_v_pciBusID;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_pciBusID); {
    __pyx_v_pciBusID = __Pyx_PyInt_As_int(__pyx_arg_pciBusID); if (unlikely((__pyx_v_pciBusID == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6137, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciBusID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8pciBusID_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_pciBusID));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_8pciBusID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pciBusID) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6137, 0, __PYX_ERR(0, 6137, __pyx_L1_error));

  /* "cuda/cudart.pyx":6139
 *     def pciBusID(self, int pciBusID):
 *         pass
 *         self._ptr[0].pciBusID = pciBusID             # <<<<<<<<<<<<<<
 *     @property
 *     def pciDeviceID(self):
 */
  (__pyx_v_self->_ptr[0]).pciBusID = __pyx_v_pciBusID;

  /* "cuda/cudart.pyx":6137
 *         return self._ptr[0].pciBusID
 *     @pciBusID.setter
 *     def pciBusID(self, int pciBusID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pciBusID = pciBusID
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciBusID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6141
 *         self._ptr[0].pciBusID = pciBusID
 *     @property
 *     def pciDeviceID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pciDeviceID
 *     @pciDeviceID.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6141, 0, __PYX_ERR(0, 6141, __pyx_L1_error));

  /* "cuda/cudart.pyx":6142
 *     @property
 *     def pciDeviceID(self):
 *         return self._ptr[0].pciDeviceID             # <<<<<<<<<<<<<<
 *     @pciDeviceID.setter
 *     def pciDeviceID(self, int pciDeviceID):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).pciDeviceID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6141
 *         self._ptr[0].pciBusID = pciBusID
 *     @property
 *     def pciDeviceID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pciDeviceID
 *     @pciDeviceID.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciDeviceID.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6144
 *         return self._ptr[0].pciDeviceID
 *     @pciDeviceID.setter
 *     def pciDeviceID(self, int pciDeviceID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pciDeviceID = pciDeviceID
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pciDeviceID); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pciDeviceID) {
  int __pyx_v_pciDeviceID;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_pciDeviceID); {
    __pyx_v_pciDeviceID = __Pyx_PyInt_As_int(__pyx_arg_pciDeviceID); if (unlikely((__pyx_v_pciDeviceID == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6144, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciDeviceID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_pciDeviceID));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pciDeviceID) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6144, 0, __PYX_ERR(0, 6144, __pyx_L1_error));

  /* "cuda/cudart.pyx":6146
 *     def pciDeviceID(self, int pciDeviceID):
 *         pass
 *         self._ptr[0].pciDeviceID = pciDeviceID             # <<<<<<<<<<<<<<
 *     @property
 *     def pciDomainID(self):
 */
  (__pyx_v_self->_ptr[0]).pciDeviceID = __pyx_v_pciDeviceID;

  /* "cuda/cudart.pyx":6144
 *         return self._ptr[0].pciDeviceID
 *     @pciDeviceID.setter
 *     def pciDeviceID(self, int pciDeviceID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pciDeviceID = pciDeviceID
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciDeviceID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6148
 *         self._ptr[0].pciDeviceID = pciDeviceID
 *     @property
 *     def pciDomainID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pciDomainID
 *     @pciDomainID.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDomainID___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDomainID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6148, 0, __PYX_ERR(0, 6148, __pyx_L1_error));

  /* "cuda/cudart.pyx":6149
 *     @property
 *     def pciDomainID(self):
 *         return self._ptr[0].pciDomainID             # <<<<<<<<<<<<<<
 *     @pciDomainID.setter
 *     def pciDomainID(self, int pciDomainID):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).pciDomainID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6148
 *         self._ptr[0].pciDeviceID = pciDeviceID
 *     @property
 *     def pciDomainID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pciDomainID
 *     @pciDomainID.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciDomainID.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6151
 *         return self._ptr[0].pciDomainID
 *     @pciDomainID.setter
 *     def pciDomainID(self, int pciDomainID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pciDomainID = pciDomainID
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pciDomainID); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pciDomainID) {
  int __pyx_v_pciDomainID;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_pciDomainID); {
    __pyx_v_pciDomainID = __Pyx_PyInt_As_int(__pyx_arg_pciDomainID); if (unlikely((__pyx_v_pciDomainID == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6151, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciDomainID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_pciDomainID));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pciDomainID) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6151, 0, __PYX_ERR(0, 6151, __pyx_L1_error));

  /* "cuda/cudart.pyx":6153
 *     def pciDomainID(self, int pciDomainID):
 *         pass
 *         self._ptr[0].pciDomainID = pciDomainID             # <<<<<<<<<<<<<<
 *     @property
 *     def tccDriver(self):
 */
  (__pyx_v_self->_ptr[0]).pciDomainID = __pyx_v_pciDomainID;

  /* "cuda/cudart.pyx":6151
 *         return self._ptr[0].pciDomainID
 *     @pciDomainID.setter
 *     def pciDomainID(self, int pciDomainID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pciDomainID = pciDomainID
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pciDomainID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6155
 *         self._ptr[0].pciDomainID = pciDomainID
 *     @property
 *     def tccDriver(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tccDriver
 *     @tccDriver.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_9tccDriver_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_9tccDriver_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9tccDriver___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_9tccDriver___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6155, 0, __PYX_ERR(0, 6155, __pyx_L1_error));

  /* "cuda/cudart.pyx":6156
 *     @property
 *     def tccDriver(self):
 *         return self._ptr[0].tccDriver             # <<<<<<<<<<<<<<
 *     @tccDriver.setter
 *     def tccDriver(self, int tccDriver):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).tccDriver); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6155
 *         self._ptr[0].pciDomainID = pciDomainID
 *     @property
 *     def tccDriver(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].tccDriver
 *     @tccDriver.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.tccDriver.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6158
 *         return self._ptr[0].tccDriver
 *     @tccDriver.setter
 *     def tccDriver(self, int tccDriver):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tccDriver = tccDriver
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9tccDriver_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_tccDriver); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9tccDriver_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_tccDriver) {
  int __pyx_v_tccDriver;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_tccDriver); {
    __pyx_v_tccDriver = __Pyx_PyInt_As_int(__pyx_arg_tccDriver); if (unlikely((__pyx_v_tccDriver == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6158, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.tccDriver.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9tccDriver_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_tccDriver));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_9tccDriver_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_tccDriver) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6158, 0, __PYX_ERR(0, 6158, __pyx_L1_error));

  /* "cuda/cudart.pyx":6160
 *     def tccDriver(self, int tccDriver):
 *         pass
 *         self._ptr[0].tccDriver = tccDriver             # <<<<<<<<<<<<<<
 *     @property
 *     def asyncEngineCount(self):
 */
  (__pyx_v_self->_ptr[0]).tccDriver = __pyx_v_tccDriver;

  /* "cuda/cudart.pyx":6158
 *         return self._ptr[0].tccDriver
 *     @tccDriver.setter
 *     def tccDriver(self, int tccDriver):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].tccDriver = tccDriver
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.tccDriver.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6162
 *         self._ptr[0].tccDriver = tccDriver
 *     @property
 *     def asyncEngineCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].asyncEngineCount
 *     @asyncEngineCount.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6162, 0, __PYX_ERR(0, 6162, __pyx_L1_error));

  /* "cuda/cudart.pyx":6163
 *     @property
 *     def asyncEngineCount(self):
 *         return self._ptr[0].asyncEngineCount             # <<<<<<<<<<<<<<
 *     @asyncEngineCount.setter
 *     def asyncEngineCount(self, int asyncEngineCount):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).asyncEngineCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6162
 *         self._ptr[0].tccDriver = tccDriver
 *     @property
 *     def asyncEngineCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].asyncEngineCount
 *     @asyncEngineCount.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.asyncEngineCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6165
 *         return self._ptr[0].asyncEngineCount
 *     @asyncEngineCount.setter
 *     def asyncEngineCount(self, int asyncEngineCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].asyncEngineCount = asyncEngineCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_asyncEngineCount); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_asyncEngineCount) {
  int __pyx_v_asyncEngineCount;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_asyncEngineCount); {
    __pyx_v_asyncEngineCount = __Pyx_PyInt_As_int(__pyx_arg_asyncEngineCount); if (unlikely((__pyx_v_asyncEngineCount == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6165, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.asyncEngineCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_asyncEngineCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_asyncEngineCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6165, 0, __PYX_ERR(0, 6165, __pyx_L1_error));

  /* "cuda/cudart.pyx":6167
 *     def asyncEngineCount(self, int asyncEngineCount):
 *         pass
 *         self._ptr[0].asyncEngineCount = asyncEngineCount             # <<<<<<<<<<<<<<
 *     @property
 *     def unifiedAddressing(self):
 */
  (__pyx_v_self->_ptr[0]).asyncEngineCount = __pyx_v_asyncEngineCount;

  /* "cuda/cudart.pyx":6165
 *         return self._ptr[0].asyncEngineCount
 *     @asyncEngineCount.setter
 *     def asyncEngineCount(self, int asyncEngineCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].asyncEngineCount = asyncEngineCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.asyncEngineCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6169
 *         self._ptr[0].asyncEngineCount = asyncEngineCount
 *     @property
 *     def unifiedAddressing(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].unifiedAddressing
 *     @unifiedAddressing.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6169, 0, __PYX_ERR(0, 6169, __pyx_L1_error));

  /* "cuda/cudart.pyx":6170
 *     @property
 *     def unifiedAddressing(self):
 *         return self._ptr[0].unifiedAddressing             # <<<<<<<<<<<<<<
 *     @unifiedAddressing.setter
 *     def unifiedAddressing(self, int unifiedAddressing):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).unifiedAddressing); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6169
 *         self._ptr[0].asyncEngineCount = asyncEngineCount
 *     @property
 *     def unifiedAddressing(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].unifiedAddressing
 *     @unifiedAddressing.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.unifiedAddressing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6172
 *         return self._ptr[0].unifiedAddressing
 *     @unifiedAddressing.setter
 *     def unifiedAddressing(self, int unifiedAddressing):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].unifiedAddressing = unifiedAddressing
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_unifiedAddressing); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_unifiedAddressing) {
  int __pyx_v_unifiedAddressing;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_unifiedAddressing); {
    __pyx_v_unifiedAddressing = __Pyx_PyInt_As_int(__pyx_arg_unifiedAddressing); if (unlikely((__pyx_v_unifiedAddressing == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6172, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.unifiedAddressing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_unifiedAddressing));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_unifiedAddressing) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6172, 0, __PYX_ERR(0, 6172, __pyx_L1_error));

  /* "cuda/cudart.pyx":6174
 *     def unifiedAddressing(self, int unifiedAddressing):
 *         pass
 *         self._ptr[0].unifiedAddressing = unifiedAddressing             # <<<<<<<<<<<<<<
 *     @property
 *     def memoryClockRate(self):
 */
  (__pyx_v_self->_ptr[0]).unifiedAddressing = __pyx_v_unifiedAddressing;

  /* "cuda/cudart.pyx":6172
 *         return self._ptr[0].unifiedAddressing
 *     @unifiedAddressing.setter
 *     def unifiedAddressing(self, int unifiedAddressing):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].unifiedAddressing = unifiedAddressing
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.unifiedAddressing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6176
 *         self._ptr[0].unifiedAddressing = unifiedAddressing
 *     @property
 *     def memoryClockRate(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].memoryClockRate
 *     @memoryClockRate.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6176, 0, __PYX_ERR(0, 6176, __pyx_L1_error));

  /* "cuda/cudart.pyx":6177
 *     @property
 *     def memoryClockRate(self):
 *         return self._ptr[0].memoryClockRate             # <<<<<<<<<<<<<<
 *     @memoryClockRate.setter
 *     def memoryClockRate(self, int memoryClockRate):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).memoryClockRate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6176
 *         self._ptr[0].unifiedAddressing = unifiedAddressing
 *     @property
 *     def memoryClockRate(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].memoryClockRate
 *     @memoryClockRate.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memoryClockRate.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6179
 *         return self._ptr[0].memoryClockRate
 *     @memoryClockRate.setter
 *     def memoryClockRate(self, int memoryClockRate):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].memoryClockRate = memoryClockRate
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memoryClockRate); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memoryClockRate) {
  int __pyx_v_memoryClockRate;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_memoryClockRate); {
    __pyx_v_memoryClockRate = __Pyx_PyInt_As_int(__pyx_arg_memoryClockRate); if (unlikely((__pyx_v_memoryClockRate == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6179, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memoryClockRate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_memoryClockRate));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_memoryClockRate) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6179, 0, __PYX_ERR(0, 6179, __pyx_L1_error));

  /* "cuda/cudart.pyx":6181
 *     def memoryClockRate(self, int memoryClockRate):
 *         pass
 *         self._ptr[0].memoryClockRate = memoryClockRate             # <<<<<<<<<<<<<<
 *     @property
 *     def memoryBusWidth(self):
 */
  (__pyx_v_self->_ptr[0]).memoryClockRate = __pyx_v_memoryClockRate;

  /* "cuda/cudart.pyx":6179
 *         return self._ptr[0].memoryClockRate
 *     @memoryClockRate.setter
 *     def memoryClockRate(self, int memoryClockRate):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].memoryClockRate = memoryClockRate
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memoryClockRate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6183
 *         self._ptr[0].memoryClockRate = memoryClockRate
 *     @property
 *     def memoryBusWidth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].memoryBusWidth
 *     @memoryBusWidth.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6183, 0, __PYX_ERR(0, 6183, __pyx_L1_error));

  /* "cuda/cudart.pyx":6184
 *     @property
 *     def memoryBusWidth(self):
 *         return self._ptr[0].memoryBusWidth             # <<<<<<<<<<<<<<
 *     @memoryBusWidth.setter
 *     def memoryBusWidth(self, int memoryBusWidth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).memoryBusWidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6183
 *         self._ptr[0].memoryClockRate = memoryClockRate
 *     @property
 *     def memoryBusWidth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].memoryBusWidth
 *     @memoryBusWidth.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memoryBusWidth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6186
 *         return self._ptr[0].memoryBusWidth
 *     @memoryBusWidth.setter
 *     def memoryBusWidth(self, int memoryBusWidth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].memoryBusWidth = memoryBusWidth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memoryBusWidth); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memoryBusWidth) {
  int __pyx_v_memoryBusWidth;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_memoryBusWidth); {
    __pyx_v_memoryBusWidth = __Pyx_PyInt_As_int(__pyx_arg_memoryBusWidth); if (unlikely((__pyx_v_memoryBusWidth == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6186, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memoryBusWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_memoryBusWidth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_memoryBusWidth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6186, 0, __PYX_ERR(0, 6186, __pyx_L1_error));

  /* "cuda/cudart.pyx":6188
 *     def memoryBusWidth(self, int memoryBusWidth):
 *         pass
 *         self._ptr[0].memoryBusWidth = memoryBusWidth             # <<<<<<<<<<<<<<
 *     @property
 *     def l2CacheSize(self):
 */
  (__pyx_v_self->_ptr[0]).memoryBusWidth = __pyx_v_memoryBusWidth;

  /* "cuda/cudart.pyx":6186
 *         return self._ptr[0].memoryBusWidth
 *     @memoryBusWidth.setter
 *     def memoryBusWidth(self, int memoryBusWidth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].memoryBusWidth = memoryBusWidth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.memoryBusWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6190
 *         self._ptr[0].memoryBusWidth = memoryBusWidth
 *     @property
 *     def l2CacheSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].l2CacheSize
 *     @l2CacheSize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6190, 0, __PYX_ERR(0, 6190, __pyx_L1_error));

  /* "cuda/cudart.pyx":6191
 *     @property
 *     def l2CacheSize(self):
 *         return self._ptr[0].l2CacheSize             # <<<<<<<<<<<<<<
 *     @l2CacheSize.setter
 *     def l2CacheSize(self, int l2CacheSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).l2CacheSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6190
 *         self._ptr[0].memoryBusWidth = memoryBusWidth
 *     @property
 *     def l2CacheSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].l2CacheSize
 *     @l2CacheSize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.l2CacheSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6193
 *         return self._ptr[0].l2CacheSize
 *     @l2CacheSize.setter
 *     def l2CacheSize(self, int l2CacheSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].l2CacheSize = l2CacheSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_l2CacheSize); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_l2CacheSize) {
  int __pyx_v_l2CacheSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_l2CacheSize); {
    __pyx_v_l2CacheSize = __Pyx_PyInt_As_int(__pyx_arg_l2CacheSize); if (unlikely((__pyx_v_l2CacheSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6193, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.l2CacheSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_l2CacheSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_l2CacheSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6193, 0, __PYX_ERR(0, 6193, __pyx_L1_error));

  /* "cuda/cudart.pyx":6195
 *     def l2CacheSize(self, int l2CacheSize):
 *         pass
 *         self._ptr[0].l2CacheSize = l2CacheSize             # <<<<<<<<<<<<<<
 *     @property
 *     def persistingL2CacheMaxSize(self):
 */
  (__pyx_v_self->_ptr[0]).l2CacheSize = __pyx_v_l2CacheSize;

  /* "cuda/cudart.pyx":6193
 *         return self._ptr[0].l2CacheSize
 *     @l2CacheSize.setter
 *     def l2CacheSize(self, int l2CacheSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].l2CacheSize = l2CacheSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.l2CacheSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6197
 *         self._ptr[0].l2CacheSize = l2CacheSize
 *     @property
 *     def persistingL2CacheMaxSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].persistingL2CacheMaxSize
 *     @persistingL2CacheMaxSize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6197, 0, __PYX_ERR(0, 6197, __pyx_L1_error));

  /* "cuda/cudart.pyx":6198
 *     @property
 *     def persistingL2CacheMaxSize(self):
 *         return self._ptr[0].persistingL2CacheMaxSize             # <<<<<<<<<<<<<<
 *     @persistingL2CacheMaxSize.setter
 *     def persistingL2CacheMaxSize(self, int persistingL2CacheMaxSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).persistingL2CacheMaxSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6197
 *         self._ptr[0].l2CacheSize = l2CacheSize
 *     @property
 *     def persistingL2CacheMaxSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].persistingL2CacheMaxSize
 *     @persistingL2CacheMaxSize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.persistingL2CacheMaxSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6200
 *         return self._ptr[0].persistingL2CacheMaxSize
 *     @persistingL2CacheMaxSize.setter
 *     def persistingL2CacheMaxSize(self, int persistingL2CacheMaxSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].persistingL2CacheMaxSize = persistingL2CacheMaxSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_persistingL2CacheMaxSize); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_persistingL2CacheMaxSize) {
  int __pyx_v_persistingL2CacheMaxSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_persistingL2CacheMaxSize); {
    __pyx_v_persistingL2CacheMaxSize = __Pyx_PyInt_As_int(__pyx_arg_persistingL2CacheMaxSize); if (unlikely((__pyx_v_persistingL2CacheMaxSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6200, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.persistingL2CacheMaxSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_persistingL2CacheMaxSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_persistingL2CacheMaxSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6200, 0, __PYX_ERR(0, 6200, __pyx_L1_error));

  /* "cuda/cudart.pyx":6202
 *     def persistingL2CacheMaxSize(self, int persistingL2CacheMaxSize):
 *         pass
 *         self._ptr[0].persistingL2CacheMaxSize = persistingL2CacheMaxSize             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsPerMultiProcessor(self):
 */
  (__pyx_v_self->_ptr[0]).persistingL2CacheMaxSize = __pyx_v_persistingL2CacheMaxSize;

  /* "cuda/cudart.pyx":6200
 *         return self._ptr[0].persistingL2CacheMaxSize
 *     @persistingL2CacheMaxSize.setter
 *     def persistingL2CacheMaxSize(self, int persistingL2CacheMaxSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].persistingL2CacheMaxSize = persistingL2CacheMaxSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.persistingL2CacheMaxSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6204
 *         self._ptr[0].persistingL2CacheMaxSize = persistingL2CacheMaxSize
 *     @property
 *     def maxThreadsPerMultiProcessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsPerMultiProcessor
 *     @maxThreadsPerMultiProcessor.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6204, 0, __PYX_ERR(0, 6204, __pyx_L1_error));

  /* "cuda/cudart.pyx":6205
 *     @property
 *     def maxThreadsPerMultiProcessor(self):
 *         return self._ptr[0].maxThreadsPerMultiProcessor             # <<<<<<<<<<<<<<
 *     @maxThreadsPerMultiProcessor.setter
 *     def maxThreadsPerMultiProcessor(self, int maxThreadsPerMultiProcessor):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxThreadsPerMultiProcessor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6204
 *         self._ptr[0].persistingL2CacheMaxSize = persistingL2CacheMaxSize
 *     @property
 *     def maxThreadsPerMultiProcessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxThreadsPerMultiProcessor
 *     @maxThreadsPerMultiProcessor.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxThreadsPerMultiProcessor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6207
 *         return self._ptr[0].maxThreadsPerMultiProcessor
 *     @maxThreadsPerMultiProcessor.setter
 *     def maxThreadsPerMultiProcessor(self, int maxThreadsPerMultiProcessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxThreadsPerMultiProcessor = maxThreadsPerMultiProcessor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerMultiProcessor); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerMultiProcessor) {
  int __pyx_v_maxThreadsPerMultiProcessor;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxThreadsPerMultiProcessor); {
    __pyx_v_maxThreadsPerMultiProcessor = __Pyx_PyInt_As_int(__pyx_arg_maxThreadsPerMultiProcessor); if (unlikely((__pyx_v_maxThreadsPerMultiProcessor == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6207, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxThreadsPerMultiProcessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxThreadsPerMultiProcessor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxThreadsPerMultiProcessor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6207, 0, __PYX_ERR(0, 6207, __pyx_L1_error));

  /* "cuda/cudart.pyx":6209
 *     def maxThreadsPerMultiProcessor(self, int maxThreadsPerMultiProcessor):
 *         pass
 *         self._ptr[0].maxThreadsPerMultiProcessor = maxThreadsPerMultiProcessor             # <<<<<<<<<<<<<<
 *     @property
 *     def streamPrioritiesSupported(self):
 */
  (__pyx_v_self->_ptr[0]).maxThreadsPerMultiProcessor = __pyx_v_maxThreadsPerMultiProcessor;

  /* "cuda/cudart.pyx":6207
 *         return self._ptr[0].maxThreadsPerMultiProcessor
 *     @maxThreadsPerMultiProcessor.setter
 *     def maxThreadsPerMultiProcessor(self, int maxThreadsPerMultiProcessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxThreadsPerMultiProcessor = maxThreadsPerMultiProcessor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxThreadsPerMultiProcessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6211
 *         self._ptr[0].maxThreadsPerMultiProcessor = maxThreadsPerMultiProcessor
 *     @property
 *     def streamPrioritiesSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].streamPrioritiesSupported
 *     @streamPrioritiesSupported.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6211, 0, __PYX_ERR(0, 6211, __pyx_L1_error));

  /* "cuda/cudart.pyx":6212
 *     @property
 *     def streamPrioritiesSupported(self):
 *         return self._ptr[0].streamPrioritiesSupported             # <<<<<<<<<<<<<<
 *     @streamPrioritiesSupported.setter
 *     def streamPrioritiesSupported(self, int streamPrioritiesSupported):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).streamPrioritiesSupported); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6211
 *         self._ptr[0].maxThreadsPerMultiProcessor = maxThreadsPerMultiProcessor
 *     @property
 *     def streamPrioritiesSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].streamPrioritiesSupported
 *     @streamPrioritiesSupported.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.streamPrioritiesSupported.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6214
 *         return self._ptr[0].streamPrioritiesSupported
 *     @streamPrioritiesSupported.setter
 *     def streamPrioritiesSupported(self, int streamPrioritiesSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].streamPrioritiesSupported = streamPrioritiesSupported
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_streamPrioritiesSupported); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_streamPrioritiesSupported) {
  int __pyx_v_streamPrioritiesSupported;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_streamPrioritiesSupported); {
    __pyx_v_streamPrioritiesSupported = __Pyx_PyInt_As_int(__pyx_arg_streamPrioritiesSupported); if (unlikely((__pyx_v_streamPrioritiesSupported == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6214, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.streamPrioritiesSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_streamPrioritiesSupported));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_streamPrioritiesSupported) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6214, 0, __PYX_ERR(0, 6214, __pyx_L1_error));

  /* "cuda/cudart.pyx":6216
 *     def streamPrioritiesSupported(self, int streamPrioritiesSupported):
 *         pass
 *         self._ptr[0].streamPrioritiesSupported = streamPrioritiesSupported             # <<<<<<<<<<<<<<
 *     @property
 *     def globalL1CacheSupported(self):
 */
  (__pyx_v_self->_ptr[0]).streamPrioritiesSupported = __pyx_v_streamPrioritiesSupported;

  /* "cuda/cudart.pyx":6214
 *         return self._ptr[0].streamPrioritiesSupported
 *     @streamPrioritiesSupported.setter
 *     def streamPrioritiesSupported(self, int streamPrioritiesSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].streamPrioritiesSupported = streamPrioritiesSupported
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.streamPrioritiesSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6218
 *         self._ptr[0].streamPrioritiesSupported = streamPrioritiesSupported
 *     @property
 *     def globalL1CacheSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].globalL1CacheSupported
 *     @globalL1CacheSupported.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6218, 0, __PYX_ERR(0, 6218, __pyx_L1_error));

  /* "cuda/cudart.pyx":6219
 *     @property
 *     def globalL1CacheSupported(self):
 *         return self._ptr[0].globalL1CacheSupported             # <<<<<<<<<<<<<<
 *     @globalL1CacheSupported.setter
 *     def globalL1CacheSupported(self, int globalL1CacheSupported):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).globalL1CacheSupported); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6218
 *         self._ptr[0].streamPrioritiesSupported = streamPrioritiesSupported
 *     @property
 *     def globalL1CacheSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].globalL1CacheSupported
 *     @globalL1CacheSupported.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.globalL1CacheSupported.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6221
 *         return self._ptr[0].globalL1CacheSupported
 *     @globalL1CacheSupported.setter
 *     def globalL1CacheSupported(self, int globalL1CacheSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].globalL1CacheSupported = globalL1CacheSupported
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_globalL1CacheSupported); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_globalL1CacheSupported) {
  int __pyx_v_globalL1CacheSupported;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_globalL1CacheSupported); {
    __pyx_v_globalL1CacheSupported = __Pyx_PyInt_As_int(__pyx_arg_globalL1CacheSupported); if (unlikely((__pyx_v_globalL1CacheSupported == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6221, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.globalL1CacheSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_globalL1CacheSupported));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_globalL1CacheSupported) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6221, 0, __PYX_ERR(0, 6221, __pyx_L1_error));

  /* "cuda/cudart.pyx":6223
 *     def globalL1CacheSupported(self, int globalL1CacheSupported):
 *         pass
 *         self._ptr[0].globalL1CacheSupported = globalL1CacheSupported             # <<<<<<<<<<<<<<
 *     @property
 *     def localL1CacheSupported(self):
 */
  (__pyx_v_self->_ptr[0]).globalL1CacheSupported = __pyx_v_globalL1CacheSupported;

  /* "cuda/cudart.pyx":6221
 *         return self._ptr[0].globalL1CacheSupported
 *     @globalL1CacheSupported.setter
 *     def globalL1CacheSupported(self, int globalL1CacheSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].globalL1CacheSupported = globalL1CacheSupported
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.globalL1CacheSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6225
 *         self._ptr[0].globalL1CacheSupported = globalL1CacheSupported
 *     @property
 *     def localL1CacheSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].localL1CacheSupported
 *     @localL1CacheSupported.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6225, 0, __PYX_ERR(0, 6225, __pyx_L1_error));

  /* "cuda/cudart.pyx":6226
 *     @property
 *     def localL1CacheSupported(self):
 *         return self._ptr[0].localL1CacheSupported             # <<<<<<<<<<<<<<
 *     @localL1CacheSupported.setter
 *     def localL1CacheSupported(self, int localL1CacheSupported):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).localL1CacheSupported); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6225
 *         self._ptr[0].globalL1CacheSupported = globalL1CacheSupported
 *     @property
 *     def localL1CacheSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].localL1CacheSupported
 *     @localL1CacheSupported.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.localL1CacheSupported.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6228
 *         return self._ptr[0].localL1CacheSupported
 *     @localL1CacheSupported.setter
 *     def localL1CacheSupported(self, int localL1CacheSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].localL1CacheSupported = localL1CacheSupported
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_localL1CacheSupported); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_localL1CacheSupported) {
  int __pyx_v_localL1CacheSupported;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_localL1CacheSupported); {
    __pyx_v_localL1CacheSupported = __Pyx_PyInt_As_int(__pyx_arg_localL1CacheSupported); if (unlikely((__pyx_v_localL1CacheSupported == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6228, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.localL1CacheSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_localL1CacheSupported));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_localL1CacheSupported) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6228, 0, __PYX_ERR(0, 6228, __pyx_L1_error));

  /* "cuda/cudart.pyx":6230
 *     def localL1CacheSupported(self, int localL1CacheSupported):
 *         pass
 *         self._ptr[0].localL1CacheSupported = localL1CacheSupported             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemPerMultiprocessor(self):
 */
  (__pyx_v_self->_ptr[0]).localL1CacheSupported = __pyx_v_localL1CacheSupported;

  /* "cuda/cudart.pyx":6228
 *         return self._ptr[0].localL1CacheSupported
 *     @localL1CacheSupported.setter
 *     def localL1CacheSupported(self, int localL1CacheSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].localL1CacheSupported = localL1CacheSupported
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.localL1CacheSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6232
 *         self._ptr[0].localL1CacheSupported = localL1CacheSupported
 *     @property
 *     def sharedMemPerMultiprocessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemPerMultiprocessor
 *     @sharedMemPerMultiprocessor.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6232, 0, __PYX_ERR(0, 6232, __pyx_L1_error));

  /* "cuda/cudart.pyx":6233
 *     @property
 *     def sharedMemPerMultiprocessor(self):
 *         return self._ptr[0].sharedMemPerMultiprocessor             # <<<<<<<<<<<<<<
 *     @sharedMemPerMultiprocessor.setter
 *     def sharedMemPerMultiprocessor(self, size_t sharedMemPerMultiprocessor):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).sharedMemPerMultiprocessor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6232
 *         self._ptr[0].localL1CacheSupported = localL1CacheSupported
 *     @property
 *     def sharedMemPerMultiprocessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemPerMultiprocessor
 *     @sharedMemPerMultiprocessor.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerMultiprocessor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6235
 *         return self._ptr[0].sharedMemPerMultiprocessor
 *     @sharedMemPerMultiprocessor.setter
 *     def sharedMemPerMultiprocessor(self, size_t sharedMemPerMultiprocessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemPerMultiprocessor = sharedMemPerMultiprocessor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerMultiprocessor); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerMultiprocessor) {
  size_t __pyx_v_sharedMemPerMultiprocessor;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_sharedMemPerMultiprocessor); {
    __pyx_v_sharedMemPerMultiprocessor = __Pyx_PyInt_As_size_t(__pyx_arg_sharedMemPerMultiprocessor); if (unlikely((__pyx_v_sharedMemPerMultiprocessor == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6235, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerMultiprocessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_sharedMemPerMultiprocessor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_sharedMemPerMultiprocessor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6235, 0, __PYX_ERR(0, 6235, __pyx_L1_error));

  /* "cuda/cudart.pyx":6237
 *     def sharedMemPerMultiprocessor(self, size_t sharedMemPerMultiprocessor):
 *         pass
 *         self._ptr[0].sharedMemPerMultiprocessor = sharedMemPerMultiprocessor             # <<<<<<<<<<<<<<
 *     @property
 *     def regsPerMultiprocessor(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemPerMultiprocessor = __pyx_v_sharedMemPerMultiprocessor;

  /* "cuda/cudart.pyx":6235
 *         return self._ptr[0].sharedMemPerMultiprocessor
 *     @sharedMemPerMultiprocessor.setter
 *     def sharedMemPerMultiprocessor(self, size_t sharedMemPerMultiprocessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemPerMultiprocessor = sharedMemPerMultiprocessor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerMultiprocessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6239
 *         self._ptr[0].sharedMemPerMultiprocessor = sharedMemPerMultiprocessor
 *     @property
 *     def regsPerMultiprocessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].regsPerMultiprocessor
 *     @regsPerMultiprocessor.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6239, 0, __PYX_ERR(0, 6239, __pyx_L1_error));

  /* "cuda/cudart.pyx":6240
 *     @property
 *     def regsPerMultiprocessor(self):
 *         return self._ptr[0].regsPerMultiprocessor             # <<<<<<<<<<<<<<
 *     @regsPerMultiprocessor.setter
 *     def regsPerMultiprocessor(self, int regsPerMultiprocessor):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).regsPerMultiprocessor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6239
 *         self._ptr[0].sharedMemPerMultiprocessor = sharedMemPerMultiprocessor
 *     @property
 *     def regsPerMultiprocessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].regsPerMultiprocessor
 *     @regsPerMultiprocessor.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.regsPerMultiprocessor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6242
 *         return self._ptr[0].regsPerMultiprocessor
 *     @regsPerMultiprocessor.setter
 *     def regsPerMultiprocessor(self, int regsPerMultiprocessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].regsPerMultiprocessor = regsPerMultiprocessor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_regsPerMultiprocessor); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_regsPerMultiprocessor) {
  int __pyx_v_regsPerMultiprocessor;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_regsPerMultiprocessor); {
    __pyx_v_regsPerMultiprocessor = __Pyx_PyInt_As_int(__pyx_arg_regsPerMultiprocessor); if (unlikely((__pyx_v_regsPerMultiprocessor == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6242, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.regsPerMultiprocessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_regsPerMultiprocessor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_regsPerMultiprocessor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6242, 0, __PYX_ERR(0, 6242, __pyx_L1_error));

  /* "cuda/cudart.pyx":6244
 *     def regsPerMultiprocessor(self, int regsPerMultiprocessor):
 *         pass
 *         self._ptr[0].regsPerMultiprocessor = regsPerMultiprocessor             # <<<<<<<<<<<<<<
 *     @property
 *     def managedMemory(self):
 */
  (__pyx_v_self->_ptr[0]).regsPerMultiprocessor = __pyx_v_regsPerMultiprocessor;

  /* "cuda/cudart.pyx":6242
 *         return self._ptr[0].regsPerMultiprocessor
 *     @regsPerMultiprocessor.setter
 *     def regsPerMultiprocessor(self, int regsPerMultiprocessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].regsPerMultiprocessor = regsPerMultiprocessor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.regsPerMultiprocessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6246
 *         self._ptr[0].regsPerMultiprocessor = regsPerMultiprocessor
 *     @property
 *     def managedMemory(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].managedMemory
 *     @managedMemory.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13managedMemory_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13managedMemory_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13managedMemory___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_13managedMemory___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6246, 0, __PYX_ERR(0, 6246, __pyx_L1_error));

  /* "cuda/cudart.pyx":6247
 *     @property
 *     def managedMemory(self):
 *         return self._ptr[0].managedMemory             # <<<<<<<<<<<<<<
 *     @managedMemory.setter
 *     def managedMemory(self, int managedMemory):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).managedMemory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6246
 *         self._ptr[0].regsPerMultiprocessor = regsPerMultiprocessor
 *     @property
 *     def managedMemory(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].managedMemory
 *     @managedMemory.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.managedMemory.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6249
 *         return self._ptr[0].managedMemory
 *     @managedMemory.setter
 *     def managedMemory(self, int managedMemory):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].managedMemory = managedMemory
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13managedMemory_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_managedMemory); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13managedMemory_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_managedMemory) {
  int __pyx_v_managedMemory;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_managedMemory); {
    __pyx_v_managedMemory = __Pyx_PyInt_As_int(__pyx_arg_managedMemory); if (unlikely((__pyx_v_managedMemory == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6249, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.managedMemory.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13managedMemory_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_managedMemory));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_13managedMemory_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_managedMemory) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6249, 0, __PYX_ERR(0, 6249, __pyx_L1_error));

  /* "cuda/cudart.pyx":6251
 *     def managedMemory(self, int managedMemory):
 *         pass
 *         self._ptr[0].managedMemory = managedMemory             # <<<<<<<<<<<<<<
 *     @property
 *     def isMultiGpuBoard(self):
 */
  (__pyx_v_self->_ptr[0]).managedMemory = __pyx_v_managedMemory;

  /* "cuda/cudart.pyx":6249
 *         return self._ptr[0].managedMemory
 *     @managedMemory.setter
 *     def managedMemory(self, int managedMemory):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].managedMemory = managedMemory
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.managedMemory.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6253
 *         self._ptr[0].managedMemory = managedMemory
 *     @property
 *     def isMultiGpuBoard(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].isMultiGpuBoard
 *     @isMultiGpuBoard.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6253, 0, __PYX_ERR(0, 6253, __pyx_L1_error));

  /* "cuda/cudart.pyx":6254
 *     @property
 *     def isMultiGpuBoard(self):
 *         return self._ptr[0].isMultiGpuBoard             # <<<<<<<<<<<<<<
 *     @isMultiGpuBoard.setter
 *     def isMultiGpuBoard(self, int isMultiGpuBoard):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).isMultiGpuBoard); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6253
 *         self._ptr[0].managedMemory = managedMemory
 *     @property
 *     def isMultiGpuBoard(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].isMultiGpuBoard
 *     @isMultiGpuBoard.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.isMultiGpuBoard.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6256
 *         return self._ptr[0].isMultiGpuBoard
 *     @isMultiGpuBoard.setter
 *     def isMultiGpuBoard(self, int isMultiGpuBoard):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].isMultiGpuBoard = isMultiGpuBoard
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_isMultiGpuBoard); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_isMultiGpuBoard) {
  int __pyx_v_isMultiGpuBoard;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_isMultiGpuBoard); {
    __pyx_v_isMultiGpuBoard = __Pyx_PyInt_As_int(__pyx_arg_isMultiGpuBoard); if (unlikely((__pyx_v_isMultiGpuBoard == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6256, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.isMultiGpuBoard.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_isMultiGpuBoard));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_isMultiGpuBoard) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6256, 0, __PYX_ERR(0, 6256, __pyx_L1_error));

  /* "cuda/cudart.pyx":6258
 *     def isMultiGpuBoard(self, int isMultiGpuBoard):
 *         pass
 *         self._ptr[0].isMultiGpuBoard = isMultiGpuBoard             # <<<<<<<<<<<<<<
 *     @property
 *     def multiGpuBoardGroupID(self):
 */
  (__pyx_v_self->_ptr[0]).isMultiGpuBoard = __pyx_v_isMultiGpuBoard;

  /* "cuda/cudart.pyx":6256
 *         return self._ptr[0].isMultiGpuBoard
 *     @isMultiGpuBoard.setter
 *     def isMultiGpuBoard(self, int isMultiGpuBoard):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].isMultiGpuBoard = isMultiGpuBoard
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.isMultiGpuBoard.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6260
 *         self._ptr[0].isMultiGpuBoard = isMultiGpuBoard
 *     @property
 *     def multiGpuBoardGroupID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].multiGpuBoardGroupID
 *     @multiGpuBoardGroupID.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6260, 0, __PYX_ERR(0, 6260, __pyx_L1_error));

  /* "cuda/cudart.pyx":6261
 *     @property
 *     def multiGpuBoardGroupID(self):
 *         return self._ptr[0].multiGpuBoardGroupID             # <<<<<<<<<<<<<<
 *     @multiGpuBoardGroupID.setter
 *     def multiGpuBoardGroupID(self, int multiGpuBoardGroupID):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).multiGpuBoardGroupID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6260
 *         self._ptr[0].isMultiGpuBoard = isMultiGpuBoard
 *     @property
 *     def multiGpuBoardGroupID(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].multiGpuBoardGroupID
 *     @multiGpuBoardGroupID.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.multiGpuBoardGroupID.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6263
 *         return self._ptr[0].multiGpuBoardGroupID
 *     @multiGpuBoardGroupID.setter
 *     def multiGpuBoardGroupID(self, int multiGpuBoardGroupID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].multiGpuBoardGroupID = multiGpuBoardGroupID
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_multiGpuBoardGroupID); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_multiGpuBoardGroupID) {
  int __pyx_v_multiGpuBoardGroupID;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_multiGpuBoardGroupID); {
    __pyx_v_multiGpuBoardGroupID = __Pyx_PyInt_As_int(__pyx_arg_multiGpuBoardGroupID); if (unlikely((__pyx_v_multiGpuBoardGroupID == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6263, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.multiGpuBoardGroupID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_multiGpuBoardGroupID));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_multiGpuBoardGroupID) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6263, 0, __PYX_ERR(0, 6263, __pyx_L1_error));

  /* "cuda/cudart.pyx":6265
 *     def multiGpuBoardGroupID(self, int multiGpuBoardGroupID):
 *         pass
 *         self._ptr[0].multiGpuBoardGroupID = multiGpuBoardGroupID             # <<<<<<<<<<<<<<
 *     @property
 *     def hostNativeAtomicSupported(self):
 */
  (__pyx_v_self->_ptr[0]).multiGpuBoardGroupID = __pyx_v_multiGpuBoardGroupID;

  /* "cuda/cudart.pyx":6263
 *         return self._ptr[0].multiGpuBoardGroupID
 *     @multiGpuBoardGroupID.setter
 *     def multiGpuBoardGroupID(self, int multiGpuBoardGroupID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].multiGpuBoardGroupID = multiGpuBoardGroupID
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.multiGpuBoardGroupID.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6267
 *         self._ptr[0].multiGpuBoardGroupID = multiGpuBoardGroupID
 *     @property
 *     def hostNativeAtomicSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].hostNativeAtomicSupported
 *     @hostNativeAtomicSupported.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6267, 0, __PYX_ERR(0, 6267, __pyx_L1_error));

  /* "cuda/cudart.pyx":6268
 *     @property
 *     def hostNativeAtomicSupported(self):
 *         return self._ptr[0].hostNativeAtomicSupported             # <<<<<<<<<<<<<<
 *     @hostNativeAtomicSupported.setter
 *     def hostNativeAtomicSupported(self, int hostNativeAtomicSupported):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).hostNativeAtomicSupported); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6267
 *         self._ptr[0].multiGpuBoardGroupID = multiGpuBoardGroupID
 *     @property
 *     def hostNativeAtomicSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].hostNativeAtomicSupported
 *     @hostNativeAtomicSupported.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.hostNativeAtomicSupported.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6270
 *         return self._ptr[0].hostNativeAtomicSupported
 *     @hostNativeAtomicSupported.setter
 *     def hostNativeAtomicSupported(self, int hostNativeAtomicSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].hostNativeAtomicSupported = hostNativeAtomicSupported
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_hostNativeAtomicSupported); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_hostNativeAtomicSupported) {
  int __pyx_v_hostNativeAtomicSupported;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_hostNativeAtomicSupported); {
    __pyx_v_hostNativeAtomicSupported = __Pyx_PyInt_As_int(__pyx_arg_hostNativeAtomicSupported); if (unlikely((__pyx_v_hostNativeAtomicSupported == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6270, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.hostNativeAtomicSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_hostNativeAtomicSupported));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_hostNativeAtomicSupported) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6270, 0, __PYX_ERR(0, 6270, __pyx_L1_error));

  /* "cuda/cudart.pyx":6272
 *     def hostNativeAtomicSupported(self, int hostNativeAtomicSupported):
 *         pass
 *         self._ptr[0].hostNativeAtomicSupported = hostNativeAtomicSupported             # <<<<<<<<<<<<<<
 *     @property
 *     def singleToDoublePrecisionPerfRatio(self):
 */
  (__pyx_v_self->_ptr[0]).hostNativeAtomicSupported = __pyx_v_hostNativeAtomicSupported;

  /* "cuda/cudart.pyx":6270
 *         return self._ptr[0].hostNativeAtomicSupported
 *     @hostNativeAtomicSupported.setter
 *     def hostNativeAtomicSupported(self, int hostNativeAtomicSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].hostNativeAtomicSupported = hostNativeAtomicSupported
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.hostNativeAtomicSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6274
 *         self._ptr[0].hostNativeAtomicSupported = hostNativeAtomicSupported
 *     @property
 *     def singleToDoublePrecisionPerfRatio(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].singleToDoublePrecisionPerfRatio
 *     @singleToDoublePrecisionPerfRatio.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6274, 0, __PYX_ERR(0, 6274, __pyx_L1_error));

  /* "cuda/cudart.pyx":6275
 *     @property
 *     def singleToDoublePrecisionPerfRatio(self):
 *         return self._ptr[0].singleToDoublePrecisionPerfRatio             # <<<<<<<<<<<<<<
 *     @singleToDoublePrecisionPerfRatio.setter
 *     def singleToDoublePrecisionPerfRatio(self, int singleToDoublePrecisionPerfRatio):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).singleToDoublePrecisionPerfRatio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6274
 *         self._ptr[0].hostNativeAtomicSupported = hostNativeAtomicSupported
 *     @property
 *     def singleToDoublePrecisionPerfRatio(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].singleToDoublePrecisionPerfRatio
 *     @singleToDoublePrecisionPerfRatio.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.singleToDoublePrecisionPerfRatio.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6277
 *         return self._ptr[0].singleToDoublePrecisionPerfRatio
 *     @singleToDoublePrecisionPerfRatio.setter
 *     def singleToDoublePrecisionPerfRatio(self, int singleToDoublePrecisionPerfRatio):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].singleToDoublePrecisionPerfRatio = singleToDoublePrecisionPerfRatio
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_singleToDoublePrecisionPerfRatio); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_singleToDoublePrecisionPerfRatio) {
  int __pyx_v_singleToDoublePrecisionPerfRatio;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_singleToDoublePrecisionPerfRatio); {
    __pyx_v_singleToDoublePrecisionPerfRatio = __Pyx_PyInt_As_int(__pyx_arg_singleToDoublePrecisionPerfRatio); if (unlikely((__pyx_v_singleToDoublePrecisionPerfRatio == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6277, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.singleToDoublePrecisionPerfRatio.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_singleToDoublePrecisionPerfRatio));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_singleToDoublePrecisionPerfRatio) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6277, 0, __PYX_ERR(0, 6277, __pyx_L1_error));

  /* "cuda/cudart.pyx":6279
 *     def singleToDoublePrecisionPerfRatio(self, int singleToDoublePrecisionPerfRatio):
 *         pass
 *         self._ptr[0].singleToDoublePrecisionPerfRatio = singleToDoublePrecisionPerfRatio             # <<<<<<<<<<<<<<
 *     @property
 *     def pageableMemoryAccess(self):
 */
  (__pyx_v_self->_ptr[0]).singleToDoublePrecisionPerfRatio = __pyx_v_singleToDoublePrecisionPerfRatio;

  /* "cuda/cudart.pyx":6277
 *         return self._ptr[0].singleToDoublePrecisionPerfRatio
 *     @singleToDoublePrecisionPerfRatio.setter
 *     def singleToDoublePrecisionPerfRatio(self, int singleToDoublePrecisionPerfRatio):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].singleToDoublePrecisionPerfRatio = singleToDoublePrecisionPerfRatio
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.singleToDoublePrecisionPerfRatio.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6281
 *         self._ptr[0].singleToDoublePrecisionPerfRatio = singleToDoublePrecisionPerfRatio
 *     @property
 *     def pageableMemoryAccess(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pageableMemoryAccess
 *     @pageableMemoryAccess.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6281, 0, __PYX_ERR(0, 6281, __pyx_L1_error));

  /* "cuda/cudart.pyx":6282
 *     @property
 *     def pageableMemoryAccess(self):
 *         return self._ptr[0].pageableMemoryAccess             # <<<<<<<<<<<<<<
 *     @pageableMemoryAccess.setter
 *     def pageableMemoryAccess(self, int pageableMemoryAccess):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).pageableMemoryAccess); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6281
 *         self._ptr[0].singleToDoublePrecisionPerfRatio = singleToDoublePrecisionPerfRatio
 *     @property
 *     def pageableMemoryAccess(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pageableMemoryAccess
 *     @pageableMemoryAccess.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pageableMemoryAccess.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6284
 *         return self._ptr[0].pageableMemoryAccess
 *     @pageableMemoryAccess.setter
 *     def pageableMemoryAccess(self, int pageableMemoryAccess):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pageableMemoryAccess = pageableMemoryAccess
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pageableMemoryAccess); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pageableMemoryAccess) {
  int __pyx_v_pageableMemoryAccess;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_pageableMemoryAccess); {
    __pyx_v_pageableMemoryAccess = __Pyx_PyInt_As_int(__pyx_arg_pageableMemoryAccess); if (unlikely((__pyx_v_pageableMemoryAccess == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6284, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pageableMemoryAccess.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_pageableMemoryAccess));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pageableMemoryAccess) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6284, 0, __PYX_ERR(0, 6284, __pyx_L1_error));

  /* "cuda/cudart.pyx":6286
 *     def pageableMemoryAccess(self, int pageableMemoryAccess):
 *         pass
 *         self._ptr[0].pageableMemoryAccess = pageableMemoryAccess             # <<<<<<<<<<<<<<
 *     @property
 *     def concurrentManagedAccess(self):
 */
  (__pyx_v_self->_ptr[0]).pageableMemoryAccess = __pyx_v_pageableMemoryAccess;

  /* "cuda/cudart.pyx":6284
 *         return self._ptr[0].pageableMemoryAccess
 *     @pageableMemoryAccess.setter
 *     def pageableMemoryAccess(self, int pageableMemoryAccess):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pageableMemoryAccess = pageableMemoryAccess
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pageableMemoryAccess.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6288
 *         self._ptr[0].pageableMemoryAccess = pageableMemoryAccess
 *     @property
 *     def concurrentManagedAccess(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].concurrentManagedAccess
 *     @concurrentManagedAccess.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6288, 0, __PYX_ERR(0, 6288, __pyx_L1_error));

  /* "cuda/cudart.pyx":6289
 *     @property
 *     def concurrentManagedAccess(self):
 *         return self._ptr[0].concurrentManagedAccess             # <<<<<<<<<<<<<<
 *     @concurrentManagedAccess.setter
 *     def concurrentManagedAccess(self, int concurrentManagedAccess):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).concurrentManagedAccess); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6288
 *         self._ptr[0].pageableMemoryAccess = pageableMemoryAccess
 *     @property
 *     def concurrentManagedAccess(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].concurrentManagedAccess
 *     @concurrentManagedAccess.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.concurrentManagedAccess.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6291
 *         return self._ptr[0].concurrentManagedAccess
 *     @concurrentManagedAccess.setter
 *     def concurrentManagedAccess(self, int concurrentManagedAccess):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].concurrentManagedAccess = concurrentManagedAccess
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_concurrentManagedAccess); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_concurrentManagedAccess) {
  int __pyx_v_concurrentManagedAccess;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_concurrentManagedAccess); {
    __pyx_v_concurrentManagedAccess = __Pyx_PyInt_As_int(__pyx_arg_concurrentManagedAccess); if (unlikely((__pyx_v_concurrentManagedAccess == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6291, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.concurrentManagedAccess.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_concurrentManagedAccess));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_concurrentManagedAccess) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6291, 0, __PYX_ERR(0, 6291, __pyx_L1_error));

  /* "cuda/cudart.pyx":6293
 *     def concurrentManagedAccess(self, int concurrentManagedAccess):
 *         pass
 *         self._ptr[0].concurrentManagedAccess = concurrentManagedAccess             # <<<<<<<<<<<<<<
 *     @property
 *     def computePreemptionSupported(self):
 */
  (__pyx_v_self->_ptr[0]).concurrentManagedAccess = __pyx_v_concurrentManagedAccess;

  /* "cuda/cudart.pyx":6291
 *         return self._ptr[0].concurrentManagedAccess
 *     @concurrentManagedAccess.setter
 *     def concurrentManagedAccess(self, int concurrentManagedAccess):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].concurrentManagedAccess = concurrentManagedAccess
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.concurrentManagedAccess.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6295
 *         self._ptr[0].concurrentManagedAccess = concurrentManagedAccess
 *     @property
 *     def computePreemptionSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].computePreemptionSupported
 *     @computePreemptionSupported.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6295, 0, __PYX_ERR(0, 6295, __pyx_L1_error));

  /* "cuda/cudart.pyx":6296
 *     @property
 *     def computePreemptionSupported(self):
 *         return self._ptr[0].computePreemptionSupported             # <<<<<<<<<<<<<<
 *     @computePreemptionSupported.setter
 *     def computePreemptionSupported(self, int computePreemptionSupported):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).computePreemptionSupported); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6295
 *         self._ptr[0].concurrentManagedAccess = concurrentManagedAccess
 *     @property
 *     def computePreemptionSupported(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].computePreemptionSupported
 *     @computePreemptionSupported.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.computePreemptionSupported.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6298
 *         return self._ptr[0].computePreemptionSupported
 *     @computePreemptionSupported.setter
 *     def computePreemptionSupported(self, int computePreemptionSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].computePreemptionSupported = computePreemptionSupported
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_computePreemptionSupported); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_computePreemptionSupported) {
  int __pyx_v_computePreemptionSupported;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_computePreemptionSupported); {
    __pyx_v_computePreemptionSupported = __Pyx_PyInt_As_int(__pyx_arg_computePreemptionSupported); if (unlikely((__pyx_v_computePreemptionSupported == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6298, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.computePreemptionSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_computePreemptionSupported));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_computePreemptionSupported) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6298, 0, __PYX_ERR(0, 6298, __pyx_L1_error));

  /* "cuda/cudart.pyx":6300
 *     def computePreemptionSupported(self, int computePreemptionSupported):
 *         pass
 *         self._ptr[0].computePreemptionSupported = computePreemptionSupported             # <<<<<<<<<<<<<<
 *     @property
 *     def canUseHostPointerForRegisteredMem(self):
 */
  (__pyx_v_self->_ptr[0]).computePreemptionSupported = __pyx_v_computePreemptionSupported;

  /* "cuda/cudart.pyx":6298
 *         return self._ptr[0].computePreemptionSupported
 *     @computePreemptionSupported.setter
 *     def computePreemptionSupported(self, int computePreemptionSupported):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].computePreemptionSupported = computePreemptionSupported
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.computePreemptionSupported.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6302
 *         self._ptr[0].computePreemptionSupported = computePreemptionSupported
 *     @property
 *     def canUseHostPointerForRegisteredMem(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].canUseHostPointerForRegisteredMem
 *     @canUseHostPointerForRegisteredMem.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6302, 0, __PYX_ERR(0, 6302, __pyx_L1_error));

  /* "cuda/cudart.pyx":6303
 *     @property
 *     def canUseHostPointerForRegisteredMem(self):
 *         return self._ptr[0].canUseHostPointerForRegisteredMem             # <<<<<<<<<<<<<<
 *     @canUseHostPointerForRegisteredMem.setter
 *     def canUseHostPointerForRegisteredMem(self, int canUseHostPointerForRegisteredMem):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).canUseHostPointerForRegisteredMem); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6302
 *         self._ptr[0].computePreemptionSupported = computePreemptionSupported
 *     @property
 *     def canUseHostPointerForRegisteredMem(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].canUseHostPointerForRegisteredMem
 *     @canUseHostPointerForRegisteredMem.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.canUseHostPointerForRegisteredMem.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6305
 *         return self._ptr[0].canUseHostPointerForRegisteredMem
 *     @canUseHostPointerForRegisteredMem.setter
 *     def canUseHostPointerForRegisteredMem(self, int canUseHostPointerForRegisteredMem):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].canUseHostPointerForRegisteredMem = canUseHostPointerForRegisteredMem
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_canUseHostPointerForRegisteredMem); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_canUseHostPointerForRegisteredMem) {
  int __pyx_v_canUseHostPointerForRegisteredMem;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_canUseHostPointerForRegisteredMem); {
    __pyx_v_canUseHostPointerForRegisteredMem = __Pyx_PyInt_As_int(__pyx_arg_canUseHostPointerForRegisteredMem); if (unlikely((__pyx_v_canUseHostPointerForRegisteredMem == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6305, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.canUseHostPointerForRegisteredMem.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_canUseHostPointerForRegisteredMem));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_canUseHostPointerForRegisteredMem) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6305, 0, __PYX_ERR(0, 6305, __pyx_L1_error));

  /* "cuda/cudart.pyx":6307
 *     def canUseHostPointerForRegisteredMem(self, int canUseHostPointerForRegisteredMem):
 *         pass
 *         self._ptr[0].canUseHostPointerForRegisteredMem = canUseHostPointerForRegisteredMem             # <<<<<<<<<<<<<<
 *     @property
 *     def cooperativeLaunch(self):
 */
  (__pyx_v_self->_ptr[0]).canUseHostPointerForRegisteredMem = __pyx_v_canUseHostPointerForRegisteredMem;

  /* "cuda/cudart.pyx":6305
 *         return self._ptr[0].canUseHostPointerForRegisteredMem
 *     @canUseHostPointerForRegisteredMem.setter
 *     def canUseHostPointerForRegisteredMem(self, int canUseHostPointerForRegisteredMem):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].canUseHostPointerForRegisteredMem = canUseHostPointerForRegisteredMem
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.canUseHostPointerForRegisteredMem.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6309
 *         self._ptr[0].canUseHostPointerForRegisteredMem = canUseHostPointerForRegisteredMem
 *     @property
 *     def cooperativeLaunch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cooperativeLaunch
 *     @cooperativeLaunch.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6309, 0, __PYX_ERR(0, 6309, __pyx_L1_error));

  /* "cuda/cudart.pyx":6310
 *     @property
 *     def cooperativeLaunch(self):
 *         return self._ptr[0].cooperativeLaunch             # <<<<<<<<<<<<<<
 *     @cooperativeLaunch.setter
 *     def cooperativeLaunch(self, int cooperativeLaunch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).cooperativeLaunch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6309
 *         self._ptr[0].canUseHostPointerForRegisteredMem = canUseHostPointerForRegisteredMem
 *     @property
 *     def cooperativeLaunch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cooperativeLaunch
 *     @cooperativeLaunch.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.cooperativeLaunch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6312
 *         return self._ptr[0].cooperativeLaunch
 *     @cooperativeLaunch.setter
 *     def cooperativeLaunch(self, int cooperativeLaunch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cooperativeLaunch = cooperativeLaunch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperativeLaunch); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperativeLaunch) {
  int __pyx_v_cooperativeLaunch;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_cooperativeLaunch); {
    __pyx_v_cooperativeLaunch = __Pyx_PyInt_As_int(__pyx_arg_cooperativeLaunch); if (unlikely((__pyx_v_cooperativeLaunch == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6312, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.cooperativeLaunch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_cooperativeLaunch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_cooperativeLaunch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6312, 0, __PYX_ERR(0, 6312, __pyx_L1_error));

  /* "cuda/cudart.pyx":6314
 *     def cooperativeLaunch(self, int cooperativeLaunch):
 *         pass
 *         self._ptr[0].cooperativeLaunch = cooperativeLaunch             # <<<<<<<<<<<<<<
 *     @property
 *     def cooperativeMultiDeviceLaunch(self):
 */
  (__pyx_v_self->_ptr[0]).cooperativeLaunch = __pyx_v_cooperativeLaunch;

  /* "cuda/cudart.pyx":6312
 *         return self._ptr[0].cooperativeLaunch
 *     @cooperativeLaunch.setter
 *     def cooperativeLaunch(self, int cooperativeLaunch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cooperativeLaunch = cooperativeLaunch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.cooperativeLaunch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6316
 *         self._ptr[0].cooperativeLaunch = cooperativeLaunch
 *     @property
 *     def cooperativeMultiDeviceLaunch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cooperativeMultiDeviceLaunch
 *     @cooperativeMultiDeviceLaunch.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6316, 0, __PYX_ERR(0, 6316, __pyx_L1_error));

  /* "cuda/cudart.pyx":6317
 *     @property
 *     def cooperativeMultiDeviceLaunch(self):
 *         return self._ptr[0].cooperativeMultiDeviceLaunch             # <<<<<<<<<<<<<<
 *     @cooperativeMultiDeviceLaunch.setter
 *     def cooperativeMultiDeviceLaunch(self, int cooperativeMultiDeviceLaunch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).cooperativeMultiDeviceLaunch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6316
 *         self._ptr[0].cooperativeLaunch = cooperativeLaunch
 *     @property
 *     def cooperativeMultiDeviceLaunch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cooperativeMultiDeviceLaunch
 *     @cooperativeMultiDeviceLaunch.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.cooperativeMultiDeviceLaunch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6319
 *         return self._ptr[0].cooperativeMultiDeviceLaunch
 *     @cooperativeMultiDeviceLaunch.setter
 *     def cooperativeMultiDeviceLaunch(self, int cooperativeMultiDeviceLaunch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cooperativeMultiDeviceLaunch = cooperativeMultiDeviceLaunch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperativeMultiDeviceLaunch); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperativeMultiDeviceLaunch) {
  int __pyx_v_cooperativeMultiDeviceLaunch;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_cooperativeMultiDeviceLaunch); {
    __pyx_v_cooperativeMultiDeviceLaunch = __Pyx_PyInt_As_int(__pyx_arg_cooperativeMultiDeviceLaunch); if (unlikely((__pyx_v_cooperativeMultiDeviceLaunch == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6319, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.cooperativeMultiDeviceLaunch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_cooperativeMultiDeviceLaunch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_cooperativeMultiDeviceLaunch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6319, 0, __PYX_ERR(0, 6319, __pyx_L1_error));

  /* "cuda/cudart.pyx":6321
 *     def cooperativeMultiDeviceLaunch(self, int cooperativeMultiDeviceLaunch):
 *         pass
 *         self._ptr[0].cooperativeMultiDeviceLaunch = cooperativeMultiDeviceLaunch             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemPerBlockOptin(self):
 */
  (__pyx_v_self->_ptr[0]).cooperativeMultiDeviceLaunch = __pyx_v_cooperativeMultiDeviceLaunch;

  /* "cuda/cudart.pyx":6319
 *         return self._ptr[0].cooperativeMultiDeviceLaunch
 *     @cooperativeMultiDeviceLaunch.setter
 *     def cooperativeMultiDeviceLaunch(self, int cooperativeMultiDeviceLaunch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cooperativeMultiDeviceLaunch = cooperativeMultiDeviceLaunch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.cooperativeMultiDeviceLaunch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6323
 *         self._ptr[0].cooperativeMultiDeviceLaunch = cooperativeMultiDeviceLaunch
 *     @property
 *     def sharedMemPerBlockOptin(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemPerBlockOptin
 *     @sharedMemPerBlockOptin.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6323, 0, __PYX_ERR(0, 6323, __pyx_L1_error));

  /* "cuda/cudart.pyx":6324
 *     @property
 *     def sharedMemPerBlockOptin(self):
 *         return self._ptr[0].sharedMemPerBlockOptin             # <<<<<<<<<<<<<<
 *     @sharedMemPerBlockOptin.setter
 *     def sharedMemPerBlockOptin(self, size_t sharedMemPerBlockOptin):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).sharedMemPerBlockOptin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6323
 *         self._ptr[0].cooperativeMultiDeviceLaunch = cooperativeMultiDeviceLaunch
 *     @property
 *     def sharedMemPerBlockOptin(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemPerBlockOptin
 *     @sharedMemPerBlockOptin.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerBlockOptin.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6326
 *         return self._ptr[0].sharedMemPerBlockOptin
 *     @sharedMemPerBlockOptin.setter
 *     def sharedMemPerBlockOptin(self, size_t sharedMemPerBlockOptin):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemPerBlockOptin = sharedMemPerBlockOptin
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerBlockOptin); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerBlockOptin) {
  size_t __pyx_v_sharedMemPerBlockOptin;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_sharedMemPerBlockOptin); {
    __pyx_v_sharedMemPerBlockOptin = __Pyx_PyInt_As_size_t(__pyx_arg_sharedMemPerBlockOptin); if (unlikely((__pyx_v_sharedMemPerBlockOptin == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6326, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerBlockOptin.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_sharedMemPerBlockOptin));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_sharedMemPerBlockOptin) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6326, 0, __PYX_ERR(0, 6326, __pyx_L1_error));

  /* "cuda/cudart.pyx":6328
 *     def sharedMemPerBlockOptin(self, size_t sharedMemPerBlockOptin):
 *         pass
 *         self._ptr[0].sharedMemPerBlockOptin = sharedMemPerBlockOptin             # <<<<<<<<<<<<<<
 *     @property
 *     def pageableMemoryAccessUsesHostPageTables(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemPerBlockOptin = __pyx_v_sharedMemPerBlockOptin;

  /* "cuda/cudart.pyx":6326
 *         return self._ptr[0].sharedMemPerBlockOptin
 *     @sharedMemPerBlockOptin.setter
 *     def sharedMemPerBlockOptin(self, size_t sharedMemPerBlockOptin):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemPerBlockOptin = sharedMemPerBlockOptin
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.sharedMemPerBlockOptin.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6330
 *         self._ptr[0].sharedMemPerBlockOptin = sharedMemPerBlockOptin
 *     @property
 *     def pageableMemoryAccessUsesHostPageTables(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pageableMemoryAccessUsesHostPageTables
 *     @pageableMemoryAccessUsesHostPageTables.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6330, 0, __PYX_ERR(0, 6330, __pyx_L1_error));

  /* "cuda/cudart.pyx":6331
 *     @property
 *     def pageableMemoryAccessUsesHostPageTables(self):
 *         return self._ptr[0].pageableMemoryAccessUsesHostPageTables             # <<<<<<<<<<<<<<
 *     @pageableMemoryAccessUsesHostPageTables.setter
 *     def pageableMemoryAccessUsesHostPageTables(self, int pageableMemoryAccessUsesHostPageTables):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).pageableMemoryAccessUsesHostPageTables); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6330
 *         self._ptr[0].sharedMemPerBlockOptin = sharedMemPerBlockOptin
 *     @property
 *     def pageableMemoryAccessUsesHostPageTables(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pageableMemoryAccessUsesHostPageTables
 *     @pageableMemoryAccessUsesHostPageTables.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pageableMemoryAccessUsesHostPageTables.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6333
 *         return self._ptr[0].pageableMemoryAccessUsesHostPageTables
 *     @pageableMemoryAccessUsesHostPageTables.setter
 *     def pageableMemoryAccessUsesHostPageTables(self, int pageableMemoryAccessUsesHostPageTables):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pageableMemoryAccessUsesHostPageTables = pageableMemoryAccessUsesHostPageTables
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pageableMemoryAccessUsesHostPageTables); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pageableMemoryAccessUsesHostPageTables) {
  int __pyx_v_pageableMemoryAccessUsesHostPageTables;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_pageableMemoryAccessUsesHostPageTables); {
    __pyx_v_pageableMemoryAccessUsesHostPageTables = __Pyx_PyInt_As_int(__pyx_arg_pageableMemoryAccessUsesHostPageTables); if (unlikely((__pyx_v_pageableMemoryAccessUsesHostPageTables == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6333, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pageableMemoryAccessUsesHostPageTables.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_pageableMemoryAccessUsesHostPageTables));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_pageableMemoryAccessUsesHostPageTables) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6333, 0, __PYX_ERR(0, 6333, __pyx_L1_error));

  /* "cuda/cudart.pyx":6335
 *     def pageableMemoryAccessUsesHostPageTables(self, int pageableMemoryAccessUsesHostPageTables):
 *         pass
 *         self._ptr[0].pageableMemoryAccessUsesHostPageTables = pageableMemoryAccessUsesHostPageTables             # <<<<<<<<<<<<<<
 *     @property
 *     def directManagedMemAccessFromHost(self):
 */
  (__pyx_v_self->_ptr[0]).pageableMemoryAccessUsesHostPageTables = __pyx_v_pageableMemoryAccessUsesHostPageTables;

  /* "cuda/cudart.pyx":6333
 *         return self._ptr[0].pageableMemoryAccessUsesHostPageTables
 *     @pageableMemoryAccessUsesHostPageTables.setter
 *     def pageableMemoryAccessUsesHostPageTables(self, int pageableMemoryAccessUsesHostPageTables):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pageableMemoryAccessUsesHostPageTables = pageableMemoryAccessUsesHostPageTables
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.pageableMemoryAccessUsesHostPageTables.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6337
 *         self._ptr[0].pageableMemoryAccessUsesHostPageTables = pageableMemoryAccessUsesHostPageTables
 *     @property
 *     def directManagedMemAccessFromHost(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].directManagedMemAccessFromHost
 *     @directManagedMemAccessFromHost.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6337, 0, __PYX_ERR(0, 6337, __pyx_L1_error));

  /* "cuda/cudart.pyx":6338
 *     @property
 *     def directManagedMemAccessFromHost(self):
 *         return self._ptr[0].directManagedMemAccessFromHost             # <<<<<<<<<<<<<<
 *     @directManagedMemAccessFromHost.setter
 *     def directManagedMemAccessFromHost(self, int directManagedMemAccessFromHost):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).directManagedMemAccessFromHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6337
 *         self._ptr[0].pageableMemoryAccessUsesHostPageTables = pageableMemoryAccessUsesHostPageTables
 *     @property
 *     def directManagedMemAccessFromHost(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].directManagedMemAccessFromHost
 *     @directManagedMemAccessFromHost.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.directManagedMemAccessFromHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6340
 *         return self._ptr[0].directManagedMemAccessFromHost
 *     @directManagedMemAccessFromHost.setter
 *     def directManagedMemAccessFromHost(self, int directManagedMemAccessFromHost):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].directManagedMemAccessFromHost = directManagedMemAccessFromHost
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_directManagedMemAccessFromHost); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_directManagedMemAccessFromHost) {
  int __pyx_v_directManagedMemAccessFromHost;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_directManagedMemAccessFromHost); {
    __pyx_v_directManagedMemAccessFromHost = __Pyx_PyInt_As_int(__pyx_arg_directManagedMemAccessFromHost); if (unlikely((__pyx_v_directManagedMemAccessFromHost == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6340, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.directManagedMemAccessFromHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_directManagedMemAccessFromHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_directManagedMemAccessFromHost) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6340, 0, __PYX_ERR(0, 6340, __pyx_L1_error));

  /* "cuda/cudart.pyx":6342
 *     def directManagedMemAccessFromHost(self, int directManagedMemAccessFromHost):
 *         pass
 *         self._ptr[0].directManagedMemAccessFromHost = directManagedMemAccessFromHost             # <<<<<<<<<<<<<<
 *     @property
 *     def maxBlocksPerMultiProcessor(self):
 */
  (__pyx_v_self->_ptr[0]).directManagedMemAccessFromHost = __pyx_v_directManagedMemAccessFromHost;

  /* "cuda/cudart.pyx":6340
 *         return self._ptr[0].directManagedMemAccessFromHost
 *     @directManagedMemAccessFromHost.setter
 *     def directManagedMemAccessFromHost(self, int directManagedMemAccessFromHost):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].directManagedMemAccessFromHost = directManagedMemAccessFromHost
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.directManagedMemAccessFromHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6344
 *         self._ptr[0].directManagedMemAccessFromHost = directManagedMemAccessFromHost
 *     @property
 *     def maxBlocksPerMultiProcessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxBlocksPerMultiProcessor
 *     @maxBlocksPerMultiProcessor.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6344, 0, __PYX_ERR(0, 6344, __pyx_L1_error));

  /* "cuda/cudart.pyx":6345
 *     @property
 *     def maxBlocksPerMultiProcessor(self):
 *         return self._ptr[0].maxBlocksPerMultiProcessor             # <<<<<<<<<<<<<<
 *     @maxBlocksPerMultiProcessor.setter
 *     def maxBlocksPerMultiProcessor(self, int maxBlocksPerMultiProcessor):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxBlocksPerMultiProcessor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6344
 *         self._ptr[0].directManagedMemAccessFromHost = directManagedMemAccessFromHost
 *     @property
 *     def maxBlocksPerMultiProcessor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxBlocksPerMultiProcessor
 *     @maxBlocksPerMultiProcessor.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxBlocksPerMultiProcessor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6347
 *         return self._ptr[0].maxBlocksPerMultiProcessor
 *     @maxBlocksPerMultiProcessor.setter
 *     def maxBlocksPerMultiProcessor(self, int maxBlocksPerMultiProcessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxBlocksPerMultiProcessor = maxBlocksPerMultiProcessor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxBlocksPerMultiProcessor); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxBlocksPerMultiProcessor) {
  int __pyx_v_maxBlocksPerMultiProcessor;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxBlocksPerMultiProcessor); {
    __pyx_v_maxBlocksPerMultiProcessor = __Pyx_PyInt_As_int(__pyx_arg_maxBlocksPerMultiProcessor); if (unlikely((__pyx_v_maxBlocksPerMultiProcessor == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6347, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxBlocksPerMultiProcessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_maxBlocksPerMultiProcessor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_maxBlocksPerMultiProcessor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6347, 0, __PYX_ERR(0, 6347, __pyx_L1_error));

  /* "cuda/cudart.pyx":6349
 *     def maxBlocksPerMultiProcessor(self, int maxBlocksPerMultiProcessor):
 *         pass
 *         self._ptr[0].maxBlocksPerMultiProcessor = maxBlocksPerMultiProcessor             # <<<<<<<<<<<<<<
 *     @property
 *     def accessPolicyMaxWindowSize(self):
 */
  (__pyx_v_self->_ptr[0]).maxBlocksPerMultiProcessor = __pyx_v_maxBlocksPerMultiProcessor;

  /* "cuda/cudart.pyx":6347
 *         return self._ptr[0].maxBlocksPerMultiProcessor
 *     @maxBlocksPerMultiProcessor.setter
 *     def maxBlocksPerMultiProcessor(self, int maxBlocksPerMultiProcessor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxBlocksPerMultiProcessor = maxBlocksPerMultiProcessor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.maxBlocksPerMultiProcessor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6351
 *         self._ptr[0].maxBlocksPerMultiProcessor = maxBlocksPerMultiProcessor
 *     @property
 *     def accessPolicyMaxWindowSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].accessPolicyMaxWindowSize
 *     @accessPolicyMaxWindowSize.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6351, 0, __PYX_ERR(0, 6351, __pyx_L1_error));

  /* "cuda/cudart.pyx":6352
 *     @property
 *     def accessPolicyMaxWindowSize(self):
 *         return self._ptr[0].accessPolicyMaxWindowSize             # <<<<<<<<<<<<<<
 *     @accessPolicyMaxWindowSize.setter
 *     def accessPolicyMaxWindowSize(self, int accessPolicyMaxWindowSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).accessPolicyMaxWindowSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6351
 *         self._ptr[0].maxBlocksPerMultiProcessor = maxBlocksPerMultiProcessor
 *     @property
 *     def accessPolicyMaxWindowSize(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].accessPolicyMaxWindowSize
 *     @accessPolicyMaxWindowSize.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.accessPolicyMaxWindowSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6354
 *         return self._ptr[0].accessPolicyMaxWindowSize
 *     @accessPolicyMaxWindowSize.setter
 *     def accessPolicyMaxWindowSize(self, int accessPolicyMaxWindowSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].accessPolicyMaxWindowSize = accessPolicyMaxWindowSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessPolicyMaxWindowSize); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessPolicyMaxWindowSize) {
  int __pyx_v_accessPolicyMaxWindowSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_accessPolicyMaxWindowSize); {
    __pyx_v_accessPolicyMaxWindowSize = __Pyx_PyInt_As_int(__pyx_arg_accessPolicyMaxWindowSize); if (unlikely((__pyx_v_accessPolicyMaxWindowSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6354, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.accessPolicyMaxWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((int)__pyx_v_accessPolicyMaxWindowSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, int __pyx_v_accessPolicyMaxWindowSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6354, 0, __PYX_ERR(0, 6354, __pyx_L1_error));

  /* "cuda/cudart.pyx":6356
 *     def accessPolicyMaxWindowSize(self, int accessPolicyMaxWindowSize):
 *         pass
 *         self._ptr[0].accessPolicyMaxWindowSize = accessPolicyMaxWindowSize             # <<<<<<<<<<<<<<
 *     @property
 *     def reservedSharedMemPerBlock(self):
 */
  (__pyx_v_self->_ptr[0]).accessPolicyMaxWindowSize = __pyx_v_accessPolicyMaxWindowSize;

  /* "cuda/cudart.pyx":6354
 *         return self._ptr[0].accessPolicyMaxWindowSize
 *     @accessPolicyMaxWindowSize.setter
 *     def accessPolicyMaxWindowSize(self, int accessPolicyMaxWindowSize):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].accessPolicyMaxWindowSize = accessPolicyMaxWindowSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.accessPolicyMaxWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6358
 *         self._ptr[0].accessPolicyMaxWindowSize = accessPolicyMaxWindowSize
 *     @property
 *     def reservedSharedMemPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reservedSharedMemPerBlock
 *     @reservedSharedMemPerBlock.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock___get__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock___get__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6358, 0, __PYX_ERR(0, 6358, __pyx_L1_error));

  /* "cuda/cudart.pyx":6359
 *     @property
 *     def reservedSharedMemPerBlock(self):
 *         return self._ptr[0].reservedSharedMemPerBlock             # <<<<<<<<<<<<<<
 *     @reservedSharedMemPerBlock.setter
 *     def reservedSharedMemPerBlock(self, size_t reservedSharedMemPerBlock):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).reservedSharedMemPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6358
 *         self._ptr[0].accessPolicyMaxWindowSize = accessPolicyMaxWindowSize
 *     @property
 *     def reservedSharedMemPerBlock(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reservedSharedMemPerBlock
 *     @reservedSharedMemPerBlock.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.reservedSharedMemPerBlock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6361
 *         return self._ptr[0].reservedSharedMemPerBlock
 *     @reservedSharedMemPerBlock.setter
 *     def reservedSharedMemPerBlock(self, size_t reservedSharedMemPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reservedSharedMemPerBlock = reservedSharedMemPerBlock
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reservedSharedMemPerBlock); /*proto*/
static int __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reservedSharedMemPerBlock) {
  size_t __pyx_v_reservedSharedMemPerBlock;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_reservedSharedMemPerBlock); {
    __pyx_v_reservedSharedMemPerBlock = __Pyx_PyInt_As_size_t(__pyx_arg_reservedSharedMemPerBlock); if (unlikely((__pyx_v_reservedSharedMemPerBlock == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 6361, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.reservedSharedMemPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((size_t)__pyx_v_reservedSharedMemPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, size_t __pyx_v_reservedSharedMemPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6361, 0, __PYX_ERR(0, 6361, __pyx_L1_error));

  /* "cuda/cudart.pyx":6363
 *     def reservedSharedMemPerBlock(self, size_t reservedSharedMemPerBlock):
 *         pass
 *         self._ptr[0].reservedSharedMemPerBlock = reservedSharedMemPerBlock             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaIpcEventHandle_st:
 */
  (__pyx_v_self->_ptr[0]).reservedSharedMemPerBlock = __pyx_v_reservedSharedMemPerBlock;

  /* "cuda/cudart.pyx":6361
 *         return self._ptr[0].reservedSharedMemPerBlock
 *     @reservedSharedMemPerBlock.setter
 *     def reservedSharedMemPerBlock(self, size_t reservedSharedMemPerBlock):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reservedSharedMemPerBlock = reservedSharedMemPerBlock
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.reservedSharedMemPerBlock.__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_6cudart_14cudaDeviceProp_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaDeviceProp_10__reduce_cython__[] = "cudaDeviceProp.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_14cudaDeviceProp_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaDeviceProp_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  PyObject *__pyx_r = 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__207)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__208, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.__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_6cudart_14cudaDeviceProp_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaDeviceProp_12__setstate_cython__[] = "cudaDeviceProp.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_14cudaDeviceProp_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_14cudaDeviceProp_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceProp_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceProp_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__210, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceProp.__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/cudart.pyx":6380
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6380, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6380, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6380, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaIpcEventHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6380, 0, __PYX_ERR(0, 6380, __pyx_L1_error));

  /* "cuda/cudart.pyx":6381
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6382
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":6381
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":6384
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaIpcEventHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":6380
 * 
 *     """
 *     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.cudart.cudaIpcEventHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6385
 *         else:
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6385, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6385, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6385, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaIpcEventHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6385, 0, __PYX_ERR(0, 6385, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaIpcEventHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6387
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 6387, 0, __PYX_ERR(0, 6387, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaIpcEventHandle_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":6389
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_6getPtr[] = "cudaIpcEventHandle_st.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaIpcEventHandle_st_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = 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__211)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6389, 0, __PYX_ERR(0, 6389, __pyx_L1_error));

  /* "cuda/cudart.pyx":6390
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6389
 *     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.cudart.cudaIpcEventHandle_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/cudart.pyx":6391
 *     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_6cudart_21cudaIpcEventHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6391, 0, __PYX_ERR(0, 6391, __pyx_L1_error));

  /* "cuda/cudart.pyx":6392
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6393
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6394
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6395
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6392
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
  }

  /* "cuda/cudart.pyx":6397
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6391
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcEventHandle_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/cudart.pyx":6400
 * 
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6400, 0, __PYX_ERR(0, 6400, __pyx_L1_error));

  /* "cuda/cudart.pyx":6401
 *     @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(0, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6400
 * 
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcEventHandle_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/cudart.pyx":6403
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6403, 0, __PYX_ERR(0, 6403, __pyx_L1_error));

  /* "cuda/cudart.pyx":6404
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6404, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":6405
 *     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(0, 6405, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6405, __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(0, 6405, __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(0, 6405, __pyx_L1_error)

    /* "cuda/cudart.pyx":6404
 *     @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/cudart.pyx":6406
 *         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) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":6407
 *             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(0, 6407, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6407, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 6407, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6407, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 6407, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6407, __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(0, 6407, __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(0, 6407, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6408
 *         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(0, 6408, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6408, __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(0, 6408, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6408, __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/cudart.pyx":6409
 *             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(0, 6409, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":6408
 *         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/cudart.pyx":6410
 *                 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(0, 6410, __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(0, 6410, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":6407
 *             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/cudart.pyx":6406
 *         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/cudart.pyx":6412
 *                 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(0, 6412, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6412, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 6412, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6412, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 6412, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6412, __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(0, 6412, __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(0, 6412, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6413
 *         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(0, 6413, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6413, __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_L13_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(0, 6413, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6413, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L13_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cudart.pyx":6414
 *             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(0, 6414, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":6413
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b
 */
      }

      /* "cuda/cudart.pyx":6415
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaIpcMemHandle_st:
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6415, __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(0, 6415, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":6412
 *                 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/cudart.pyx":6403
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

  /* 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.cudart.cudaIpcEventHandle_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_6cudart_21cudaIpcEventHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_10__reduce_cython__[] = "cudaIpcEventHandle_st.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaIpcEventHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__213, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcEventHandle_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_6cudart_21cudaIpcEventHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_12__setstate_cython__[] = "cudaIpcEventHandle_st.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaIpcEventHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_21cudaIpcEventHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__214)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__215, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcEventHandle_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/cudart.pyx":6432
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6432, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6432, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6432, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaIpcMemHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6432, 0, __PYX_ERR(0, 6432, __pyx_L1_error));

  /* "cuda/cudart.pyx":6433
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6434
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":6433
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":6436
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaIpcMemHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":6432
 * 
 *     """
 *     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.cudart.cudaIpcMemHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6437
 *         else:
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6437, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6437, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6437, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaIpcMemHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6437, 0, __PYX_ERR(0, 6437, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaIpcMemHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6439
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 6439, 0, __PYX_ERR(0, 6439, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaIpcMemHandle_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":6441
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_6getPtr[] = "cudaIpcMemHandle_st.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaIpcMemHandle_st_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = 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__216)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6441, 0, __PYX_ERR(0, 6441, __pyx_L1_error));

  /* "cuda/cudart.pyx":6442
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6441
 *     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.cudart.cudaIpcMemHandle_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/cudart.pyx":6443
 *     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_6cudart_19cudaIpcMemHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6443, 0, __PYX_ERR(0, 6443, __pyx_L1_error));

  /* "cuda/cudart.pyx":6444
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6445
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6446
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6447
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6444
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
  }

  /* "cuda/cudart.pyx":6449
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6443
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcMemHandle_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/cudart.pyx":6452
 * 
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6452, 0, __PYX_ERR(0, 6452, __pyx_L1_error));

  /* "cuda/cudart.pyx":6453
 *     @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(0, 6453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6452
 * 
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcMemHandle_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/cudart.pyx":6455
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6455, 0, __PYX_ERR(0, 6455, __pyx_L1_error));

  /* "cuda/cudart.pyx":6456
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         if CHAR_MIN == 0:
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 6456, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":6457
 *     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(0, 6457, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6457, __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(0, 6457, __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(0, 6457, __pyx_L1_error)

    /* "cuda/cudart.pyx":6456
 *     @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/cudart.pyx":6458
 *         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) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":6459
 *             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(0, 6459, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6459, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 6459, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6459, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 6459, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6459, __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(0, 6459, __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(0, 6459, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6460
 *         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(0, 6460, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6460, __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(0, 6460, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6460, __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/cudart.pyx":6461
 *             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(0, 6461, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":6460
 *         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/cudart.pyx":6462
 *                 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(0, 6462, __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(0, 6462, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":6459
 *             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/cudart.pyx":6458
 *         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/cudart.pyx":6464
 *                 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(0, 6464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6464, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 6464, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6464, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 6464, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6464, __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(0, 6464, __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(0, 6464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6465
 *         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(0, 6465, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6465, __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_L13_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(0, 6465, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 6465, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L13_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cudart.pyx":6466
 *             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(0, 6466, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":6465
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b
 */
      }

      /* "cuda/cudart.pyx":6467
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalMemoryHandleDesc_handle_handle_win32_s:
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 6467, __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(0, 6467, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":6464
 *                 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/cudart.pyx":6455
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 */

  /* 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.cudart.cudaIpcMemHandle_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_6cudart_19cudaIpcMemHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_10__reduce_cython__[] = "cudaIpcMemHandle_st.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaIpcMemHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = 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__217)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__218, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcMemHandle_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_6cudart_19cudaIpcMemHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_12__setstate_cython__[] = "cudaIpcMemHandle_st.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaIpcMemHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaIpcMemHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__219)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__220, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcMemHandle_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/cudart.pyx":6485
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6485, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6485, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6485, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6485, 0, __PYX_ERR(0, 6485, __pyx_L1_error));

  /* "cuda/cudart.pyx":6486
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalMemoryHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":6485
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6487
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6487, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6487, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6487, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6487, 0, __PYX_ERR(0, 6487, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6489
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4getPtr[] = "_cudaExternalMemoryHandleDesc_handle_handle_win32_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6489, 0, __PYX_ERR(0, 6489, __pyx_L1_error));

  /* "cuda/cudart.pyx":6490
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6489
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.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/cudart.pyx":6491
 *     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_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6491, 0, __PYX_ERR(0, 6491, __pyx_L1_error));

  /* "cuda/cudart.pyx":6492
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6493
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['handle : ' + hex(self.handle)]
 *             str_list += ['name : ' + hex(self.name)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6494
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]             # <<<<<<<<<<<<<<
 *             str_list += ['name : ' + hex(self.name)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_handle, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6495
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]
 *             str_list += ['name : ' + hex(self.name)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_name, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6496
 *             str_list += ['handle : ' + hex(self.handle)]
 *             str_list += ['name : ' + hex(self.name)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6492
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]
 */
  }

  /* "cuda/cudart.pyx":6498
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6491
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.__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/cudart.pyx":6501
 * 
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6501, 0, __PYX_ERR(0, 6501, __pyx_L1_error));

  /* "cuda/cudart.pyx":6502
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6501
 * 
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.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/cudart.pyx":6504
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 *     def handle(self, handle):             # <<<<<<<<<<<<<<
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6504, 0, __PYX_ERR(0, 6504, __pyx_L1_error));

  /* "cuda/cudart.pyx":6505
 *     @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(0, 6505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6506
 *     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(0, 6506, __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(0, 6506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.handle = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":6504
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 *     def handle(self, handle):             # <<<<<<<<<<<<<<
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.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/cudart.pyx":6508
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6508, 0, __PYX_ERR(0, 6508, __pyx_L1_error));

  /* "cuda/cudart.pyx":6509
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6508
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.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/cudart.pyx":6511
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 *     def name(self, name):             # <<<<<<<<<<<<<<
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static int __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6511, 0, __PYX_ERR(0, 6511, __pyx_L1_error));

  /* "cuda/cudart.pyx":6512
 *     @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(0, 6512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6513
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalMemoryHandleDesc_handle_u:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cname, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6513, __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(0, 6513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.name = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":6511
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 *     def name(self, name):             # <<<<<<<<<<<<<<
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.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_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_8__reduce_cython__[] = "_cudaExternalMemoryHandleDesc_handle_handle_win32_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__222)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__223, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.__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_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_10__setstate_cython__[] = "_cudaExternalMemoryHandleDesc_handle_handle_win32_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__225, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s.__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/cudart.pyx":6533
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6533, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6533, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6533, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6533, 0, __PYX_ERR(0, 6533, __pyx_L1_error));

  /* "cuda/cudart.pyx":6534
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_v_self->_ptr = ((struct cudaExternalMemoryHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":6533
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6535
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6535, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6535, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6535, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6535, 0, __PYX_ERR(0, 6535, __pyx_L1_error));

  /* "cuda/cudart.pyx":6536
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 6536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_win32);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_win32));
  __pyx_v_self->_win32 = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6535
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(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.cudart._cudaExternalMemoryHandleDesc_handle_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6537
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_4getPtr[] = "_cudaExternalMemoryHandleDesc_handle_u.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = 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__226)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6537, 0, __PYX_ERR(0, 6537, __pyx_L1_error));

  /* "cuda/cudart.pyx":6538
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6537
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._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.cudart._cudaExternalMemoryHandleDesc_handle_u.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/cudart.pyx":6539
 *     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_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6539, 0, __PYX_ERR(0, 6539, __pyx_L1_error));

  /* "cuda/cudart.pyx":6540
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6541
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['fd : ' + str(self.fd)]
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6542
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]             # <<<<<<<<<<<<<<
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fd_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fd, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6543
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6543, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_win32_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6543, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6543, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6543, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 6543, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6543, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr24__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr24__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6543, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 6543, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr24__pyx_v_line); __pyx_9genexpr24__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr24__pyx_v_line); __pyx_9genexpr24__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_win32, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6544
 *             str_list += ['fd : ' + str(self.fd)]
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_nvSciBufObject_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6544, __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_nvSciBufObject, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6545
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6540
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]
 */
  }

  /* "cuda/cudart.pyx":6547
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6539
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.__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/cudart.pyx":6550
 * 
 *     @property
 *     def fd(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6550, 0, __PYX_ERR(0, 6550, __pyx_L1_error));

  /* "cuda/cudart.pyx":6551
 *     @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(0, 6551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6550
 * 
 *     @property
 *     def fd(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.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/cudart.pyx":6553
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 *     def fd(self, int fd):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].handle.fd = fd
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd) {
  int __pyx_v_fd;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6553, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self), ((int)__pyx_v_fd));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, int __pyx_v_fd) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6553, 0, __PYX_ERR(0, 6553, __pyx_L1_error));

  /* "cuda/cudart.pyx":6555
 *     def fd(self, int fd):
 *         pass
 *         self._ptr[0].handle.fd = fd             # <<<<<<<<<<<<<<
 *     @property
 *     def win32(self):
 */
  (__pyx_v_self->_ptr[0]).handle.fd = __pyx_v_fd;

  /* "cuda/cudart.pyx":6553
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 *     def fd(self, int fd):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].handle.fd = fd
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6557
 *         self._ptr[0].handle.fd = fd
 *     @property
 *     def win32(self):             # <<<<<<<<<<<<<<
 *         return self._win32
 *     @win32.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6557, 0, __PYX_ERR(0, 6557, __pyx_L1_error));

  /* "cuda/cudart.pyx":6558
 *     @property
 *     def win32(self):
 *         return self._win32             # <<<<<<<<<<<<<<
 *     @win32.setter
 *     def win32(self, win32 not None : _cudaExternalMemoryHandleDesc_handle_handle_win32_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_win32));
  __pyx_r = ((PyObject *)__pyx_v_self->_win32);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6557
 *         self._ptr[0].handle.fd = fd
 *     @property
 *     def win32(self):             # <<<<<<<<<<<<<<
 *         return self._win32
 *     @win32.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.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/cudart.pyx":6560
 *         return self._win32
 *     @win32.setter
 *     def win32(self, win32 not None : _cudaExternalMemoryHandleDesc_handle_handle_win32_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(win32):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32); /*proto*/
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_win32), __pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s, 0, "win32", 0))) __PYX_ERR(0, 6560, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)__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_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *__pyx_v_win32) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6560, 0, __PYX_ERR(0, 6560, __pyx_L1_error));

  /* "cuda/cudart.pyx":6562
 *     def win32(self, win32 not None : _cudaExternalMemoryHandleDesc_handle_handle_win32_s):
 *         pass
 *         for _attr in dir(win32):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_win32)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6562, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6562, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6562, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6562, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6562, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 6562, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":6563
 *         pass
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6563, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":6564
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":6563
 *         pass
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":6565
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6565, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":6566
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._win32, _attr, getattr(win32, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciBufObject(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_win32);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_win32), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 6566, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6565
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":6562
 *     def win32(self, win32 not None : _cudaExternalMemoryHandleDesc_handle_handle_win32_s):
 *         pass
 *         for _attr in dir(win32):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6560
 *         return self._win32
 *     @win32.setter
 *     def win32(self, win32 not None : _cudaExternalMemoryHandleDesc_handle_handle_win32_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.win32.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6568
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 *     def nvSciBufObject(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6568, 0, __PYX_ERR(0, 6568, __pyx_L1_error));

  /* "cuda/cudart.pyx":6569
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).handle.nvSciBufObject)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6568
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 *     def nvSciBufObject(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.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/cudart.pyx":6571
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter
 *     def nvSciBufObject(self, nvSciBufObject):             # <<<<<<<<<<<<<<
 *         _cnvSciBufObject = utils.HelperInputVoidPtr(nvSciBufObject)
 *         self._ptr[0].handle.nvSciBufObject = <void*><void_ptr>_cnvSciBufObject.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject); /*proto*/
static int __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self), ((PyObject *)__pyx_v_nvSciBufObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6571, 0, __PYX_ERR(0, 6571, __pyx_L1_error));

  /* "cuda/cudart.pyx":6572
 *     @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(0, 6572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cnvSciBufObject = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6573
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = utils.HelperInputVoidPtr(nvSciBufObject)
 *         self._ptr[0].handle.nvSciBufObject = <void*><void_ptr>_cnvSciBufObject.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalMemoryHandleDesc:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cnvSciBufObject, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6573, __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(0, 6573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.nvSciBufObject = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":6571
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter
 *     def nvSciBufObject(self, nvSciBufObject):             # <<<<<<<<<<<<<<
 *         _cnvSciBufObject = utils.HelperInputVoidPtr(nvSciBufObject)
 *         self._ptr[0].handle.nvSciBufObject = <void*><void_ptr>_cnvSciBufObject.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.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_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_8__reduce_cython__[] = "_cudaExternalMemoryHandleDesc_handle_u.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__228, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.__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_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_10__setstate_cython__[] = "_cudaExternalMemoryHandleDesc_handle_u.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__229)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__230, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalMemoryHandleDesc_handle_u.__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/cudart.pyx":6596
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6596, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6596, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6596, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6596, 0, __PYX_ERR(0, 6596, __pyx_L1_error));

  /* "cuda/cudart.pyx":6597
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6598
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":6597
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":6600
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalMemoryHandleDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":6596
 * 
 *     """
 *     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.cudart.cudaExternalMemoryHandleDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6601
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6601, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6601, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6601, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6601, 0, __PYX_ERR(0, 6601, __pyx_L1_error));

  /* "cuda/cudart.pyx":6602
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 6602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_handle);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_handle));
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6601
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_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.cudart.cudaExternalMemoryHandleDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6603
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 6603, 0, __PYX_ERR(0, 6603, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalMemoryHandleDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":6605
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6getPtr[] = "cudaExternalMemoryHandleDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_28cudaExternalMemoryHandleDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__231)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6605, 0, __PYX_ERR(0, 6605, __pyx_L1_error));

  /* "cuda/cudart.pyx":6606
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6605
 *     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.cudart.cudaExternalMemoryHandleDesc.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/cudart.pyx":6607
 *     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_6cudart_28cudaExternalMemoryHandleDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6607, 0, __PYX_ERR(0, 6607, __pyx_L1_error));

  /* "cuda/cudart.pyx":6608
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6609
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6610
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             str_list += ['size : ' + str(self.size)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_type, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6611
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6611, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6611, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6611, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6611, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 6611, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6611, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr25__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr25__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6611, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 6611, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr25__pyx_v_line); __pyx_9genexpr25__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr25__pyx_v_line); __pyx_9genexpr25__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_handle_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6612
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_size, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6613
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6614
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6608
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  }

  /* "cuda/cudart.pyx":6616
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6607
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.__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/cudart.pyx":6619
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaExternalMemoryHandleType(self._ptr[0].type)
 *     @type.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6619, 0, __PYX_ERR(0, 6619, __pyx_L1_error));

  /* "cuda/cudart.pyx":6620
 *     @property
 *     def type(self):
 *         return cudaExternalMemoryHandleType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : cudaExternalMemoryHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaExternalMemoryHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 6620, __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/cudart.pyx":6619
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaExternalMemoryHandleType(self._ptr[0].type)
 *     @type.setter
 */

  /* 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.cudart.cudaExternalMemoryHandleDesc.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/cudart.pyx":6622
 *         return cudaExternalMemoryHandleType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaExternalMemoryHandleType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 6622, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__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_6cudart_28cudaExternalMemoryHandleDesc_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaExternalMemoryHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6622, 0, __PYX_ERR(0, 6622, __pyx_L1_error));

  /* "cuda/cudart.pyx":6624
 *     def type(self, type not None : cudaExternalMemoryHandleType):
 *         pass
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaExternalMemoryHandleType)__Pyx_PyInt_As_enum__cudaExternalMemoryHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":6622
 *         return cudaExternalMemoryHandleType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaExternalMemoryHandleType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaExternalMemoryHandleDesc.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6626
 *         self._ptr[0].type = type.value
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return self._handle
 *     @handle.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6626, 0, __PYX_ERR(0, 6626, __pyx_L1_error));

  /* "cuda/cudart.pyx":6627
 *     @property
 *     def handle(self):
 *         return self._handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle not None : _cudaExternalMemoryHandleDesc_handle_u):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_handle));
  __pyx_r = ((PyObject *)__pyx_v_self->_handle);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6626
 *         self._ptr[0].type = type.value
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return self._handle
 *     @handle.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.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/cudart.pyx":6629
 *         return self._handle
 *     @handle.setter
 *     def handle(self, handle not None : _cudaExternalMemoryHandleDesc_handle_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(handle):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handle), __pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u, 0, "handle", 0))) __PYX_ERR(0, 6629, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)__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_6cudart_28cudaExternalMemoryHandleDesc_6handle_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *__pyx_v_handle) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6629, 0, __PYX_ERR(0, 6629, __pyx_L1_error));

  /* "cuda/cudart.pyx":6631
 *     def handle(self, handle not None : _cudaExternalMemoryHandleDesc_handle_u):
 *         pass
 *         for _attr in dir(handle):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6631, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6631, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6631, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6631, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6631, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6631, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 6631, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":6632
 *         pass
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6632, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":6633
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":6632
 *         pass
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":6634
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6634, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":6635
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._handle, _attr, getattr(handle, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_handle);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_handle), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6635, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 6635, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6634
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":6631
 *     def handle(self, handle not None : _cudaExternalMemoryHandleDesc_handle_u):
 *         pass
 *         for _attr in dir(handle):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6629
 *         return self._handle
 *     @handle.setter
 *     def handle(self, handle not None : _cudaExternalMemoryHandleDesc_handle_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6637
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].size
 *     @size.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6637, 0, __PYX_ERR(0, 6637, __pyx_L1_error));

  /* "cuda/cudart.pyx":6638
 *     @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(0, 6638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6637
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].size
 *     @size.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.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/cudart.pyx":6640
 *         return self._ptr[0].size
 *     @size.setter
 *     def size(self, unsigned long long size):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  unsigned PY_LONG_LONG __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6640, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6640, 0, __PYX_ERR(0, 6640, __pyx_L1_error));

  /* "cuda/cudart.pyx":6642
 *     def size(self, unsigned long long size):
 *         pass
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cudart.pyx":6640
 *         return self._ptr[0].size
 *     @size.setter
 *     def size(self, unsigned long long size):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6644
 *         self._ptr[0].size = size
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6644, 0, __PYX_ERR(0, 6644, __pyx_L1_error));

  /* "cuda/cudart.pyx":6645
 *     @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(0, 6645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6644
 *         self._ptr[0].size = size
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.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/cudart.pyx":6647
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6647, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6647, 0, __PYX_ERR(0, 6647, __pyx_L1_error));

  /* "cuda/cudart.pyx":6649
 *     def flags(self, unsigned int flags):
 *         pass
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalMemoryBufferDesc:
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":6647
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.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_6cudart_28cudaExternalMemoryHandleDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_10__reduce_cython__[] = "cudaExternalMemoryHandleDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_28cudaExternalMemoryHandleDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__232)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__233, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.__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_6cudart_28cudaExternalMemoryHandleDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_12__setstate_cython__[] = "cudaExternalMemoryHandleDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_28cudaExternalMemoryHandleDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryHandleDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__234)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__235, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryHandleDesc.__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/cudart.pyx":6670
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6670, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6670, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6670, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6670, 0, __PYX_ERR(0, 6670, __pyx_L1_error));

  /* "cuda/cudart.pyx":6671
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6672
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":6671
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":6674
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalMemoryBufferDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":6670
 * 
 *     """
 *     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.cudart.cudaExternalMemoryBufferDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6675
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6675, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6675, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6675, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6675, 0, __PYX_ERR(0, 6675, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6677
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 6677, 0, __PYX_ERR(0, 6677, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalMemoryBufferDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":6679
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6getPtr[] = "cudaExternalMemoryBufferDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_28cudaExternalMemoryBufferDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6679, 0, __PYX_ERR(0, 6679, __pyx_L1_error));

  /* "cuda/cudart.pyx":6680
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6679
 *     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.cudart.cudaExternalMemoryBufferDesc.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/cudart.pyx":6681
 *     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_6cudart_28cudaExternalMemoryBufferDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6681, 0, __PYX_ERR(0, 6681, __pyx_L1_error));

  /* "cuda/cudart.pyx":6682
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6683
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['offset : ' + str(self.offset)]
 *             str_list += ['size : ' + str(self.size)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6684
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]             # <<<<<<<<<<<<<<
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_offset_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_offset, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6685
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]
 *             str_list += ['size : ' + str(self.size)]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6686
 *             str_list += ['offset : ' + str(self.offset)]
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6687
 *             str_list += ['size : ' + str(self.size)]
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6682
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]
 */
  }

  /* "cuda/cudart.pyx":6689
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6681
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.__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/cudart.pyx":6692
 * 
 *     @property
 *     def offset(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].offset
 *     @offset.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6692, 0, __PYX_ERR(0, 6692, __pyx_L1_error));

  /* "cuda/cudart.pyx":6693
 *     @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(0, 6693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6692
 * 
 *     @property
 *     def offset(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].offset
 *     @offset.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.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/cudart.pyx":6695
 *         return self._ptr[0].offset
 *     @offset.setter
 *     def offset(self, unsigned long long offset):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].offset = offset
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
  unsigned PY_LONG_LONG __pyx_v_offset;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6695, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_offset));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6695, 0, __PYX_ERR(0, 6695, __pyx_L1_error));

  /* "cuda/cudart.pyx":6697
 *     def offset(self, unsigned long long offset):
 *         pass
 *         self._ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
  (__pyx_v_self->_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/cudart.pyx":6695
 *         return self._ptr[0].offset
 *     @offset.setter
 *     def offset(self, unsigned long long offset):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].offset = offset
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6699
 *         self._ptr[0].offset = offset
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].size
 *     @size.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6699, 0, __PYX_ERR(0, 6699, __pyx_L1_error));

  /* "cuda/cudart.pyx":6700
 *     @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(0, 6700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6699
 *         self._ptr[0].offset = offset
 *     @property
 *     def size(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].size
 *     @size.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.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/cudart.pyx":6702
 *         return self._ptr[0].size
 *     @size.setter
 *     def size(self, unsigned long long size):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  unsigned PY_LONG_LONG __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6702, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6702, 0, __PYX_ERR(0, 6702, __pyx_L1_error));

  /* "cuda/cudart.pyx":6704
 *     def size(self, unsigned long long size):
 *         pass
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cudart.pyx":6702
 *         return self._ptr[0].size
 *     @size.setter
 *     def size(self, unsigned long long size):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6706
 *         self._ptr[0].size = size
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6706, 0, __PYX_ERR(0, 6706, __pyx_L1_error));

  /* "cuda/cudart.pyx":6707
 *     @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(0, 6707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6706
 *         self._ptr[0].size = size
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.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/cudart.pyx":6709
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6709, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6709, 0, __PYX_ERR(0, 6709, __pyx_L1_error));

  /* "cuda/cudart.pyx":6711
 *     def flags(self, unsigned int flags):
 *         pass
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalMemoryMipmappedArrayDesc:
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":6709
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.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_6cudart_28cudaExternalMemoryBufferDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_10__reduce_cython__[] = "cudaExternalMemoryBufferDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_28cudaExternalMemoryBufferDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__237)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__238, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.__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_6cudart_28cudaExternalMemoryBufferDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_12__setstate_cython__[] = "cudaExternalMemoryBufferDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_28cudaExternalMemoryBufferDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaExternalMemoryBufferDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__240, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryBufferDesc.__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/cudart.pyx":6738
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6738, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6738, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6738, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6738, 0, __PYX_ERR(0, 6738, __pyx_L1_error));

  /* "cuda/cudart.pyx":6739
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6740
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":6739
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":6742
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalMemoryMipmappedArrayDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":6738
 * 
 *     """
 *     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.cudart.cudaExternalMemoryMipmappedArrayDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6743
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6743, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6743, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6743, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6743, 0, __PYX_ERR(0, 6743, __pyx_L1_error));

  /* "cuda/cudart.pyx":6744
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)             # <<<<<<<<<<<<<<
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).formatDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 6744, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_formatDesc);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_formatDesc));
  __pyx_v_self->_formatDesc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6745
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).extent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 6745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_extent);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_extent));
  __pyx_v_self->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6743
 *         else:
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6746
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 6746, 0, __PYX_ERR(0, 6746, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":6748
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6getPtr[] = "cudaExternalMemoryMipmappedArrayDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__241)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6748, 0, __PYX_ERR(0, 6748, __pyx_L1_error));

  /* "cuda/cudart.pyx":6749
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6748
 *     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.cudart.cudaExternalMemoryMipmappedArrayDesc.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/cudart.pyx":6750
 *     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_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__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_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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6750, 0, __PYX_ERR(0, 6750, __pyx_L1_error));

  /* "cuda/cudart.pyx":6751
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6752
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['offset : ' + str(self.offset)]
 *             str_list += ['formatDesc :\n' + '\n'.join(['    ' + line for line in str(self.formatDesc).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6752, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6753
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]             # <<<<<<<<<<<<<<
 *             str_list += ['formatDesc :\n' + '\n'.join(['    ' + line for line in str(self.formatDesc).splitlines()])]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_offset_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_offset, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6754
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]
 *             str_list += ['formatDesc :\n' + '\n'.join(['    ' + line for line in str(self.formatDesc).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6754, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_formatDesc_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6754, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6754, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6754, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 6754, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6754, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr26__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr26__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6754, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 6754, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr26__pyx_v_line); __pyx_9genexpr26__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr26__pyx_v_line); __pyx_9genexpr26__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_formatDesc, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6755
 *             str_list += ['offset : ' + str(self.offset)]
 *             str_list += ['formatDesc :\n' + '\n'.join(['    ' + line for line in str(self.formatDesc).splitlines()])]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['numLevels : ' + str(self.numLevels)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6755, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extent_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6755, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6755, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6755, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 6755, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6755, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr27__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr27__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6755, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 6755, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr27__pyx_v_line); __pyx_9genexpr27__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr27__pyx_v_line); __pyx_9genexpr27__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extent, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6756
 *             str_list += ['formatDesc :\n' + '\n'.join(['    ' + line for line in str(self.formatDesc).splitlines()])]
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             str_list += ['numLevels : ' + str(self.numLevels)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6757
 *             str_list += ['extent :\n' + '\n'.join(['    ' + line for line in str(self.extent).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['numLevels : ' + str(self.numLevels)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_numLevels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_numLevels, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6758
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['numLevels : ' + str(self.numLevels)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6751
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['offset : ' + str(self.offset)]
 */
  }

  /* "cuda/cudart.pyx":6760
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6750
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.__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_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6763
 * 
 *     @property
 *     def offset(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].offset
 *     @offset.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6763, 0, __PYX_ERR(0, 6763, __pyx_L1_error));

  /* "cuda/cudart.pyx":6764
 *     @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(0, 6764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6763
 * 
 *     @property
 *     def offset(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].offset
 *     @offset.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.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/cudart.pyx":6766
 *         return self._ptr[0].offset
 *     @offset.setter
 *     def offset(self, unsigned long long offset):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].offset = offset
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
  unsigned PY_LONG_LONG __pyx_v_offset;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6766, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_offset));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6766, 0, __PYX_ERR(0, 6766, __pyx_L1_error));

  /* "cuda/cudart.pyx":6768
 *     def offset(self, unsigned long long offset):
 *         pass
 *         self._ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def formatDesc(self):
 */
  (__pyx_v_self->_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/cudart.pyx":6766
 *         return self._ptr[0].offset
 *     @offset.setter
 *     def offset(self, unsigned long long offset):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].offset = offset
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6770
 *         self._ptr[0].offset = offset
 *     @property
 *     def formatDesc(self):             # <<<<<<<<<<<<<<
 *         return self._formatDesc
 *     @formatDesc.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6770, 0, __PYX_ERR(0, 6770, __pyx_L1_error));

  /* "cuda/cudart.pyx":6771
 *     @property
 *     def formatDesc(self):
 *         return self._formatDesc             # <<<<<<<<<<<<<<
 *     @formatDesc.setter
 *     def formatDesc(self, formatDesc not None : cudaChannelFormatDesc):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_formatDesc));
  __pyx_r = ((PyObject *)__pyx_v_self->_formatDesc);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6770
 *         self._ptr[0].offset = offset
 *     @property
 *     def formatDesc(self):             # <<<<<<<<<<<<<<
 *         return self._formatDesc
 *     @formatDesc.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.formatDesc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6773
 *         return self._formatDesc
 *     @formatDesc.setter
 *     def formatDesc(self, formatDesc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(formatDesc):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_formatDesc); /*proto*/
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_formatDesc) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_formatDesc), __pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc, 0, "formatDesc", 0))) __PYX_ERR(0, 6773, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_formatDesc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_formatDesc) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6773, 0, __PYX_ERR(0, 6773, __pyx_L1_error));

  /* "cuda/cudart.pyx":6775
 *     def formatDesc(self, formatDesc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(formatDesc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_formatDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6775, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6775, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6775, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6775, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6775, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 6775, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":6776
 *         pass
 *         for _attr in dir(formatDesc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6776, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":6777
 *         for _attr in dir(formatDesc):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._formatDesc, _attr, getattr(formatDesc, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":6776
 *         pass
 *         for _attr in dir(formatDesc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":6778
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._formatDesc, _attr, getattr(formatDesc, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6778, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":6779
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._formatDesc, _attr, getattr(formatDesc, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def extent(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_formatDesc);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_formatDesc), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6779, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 6779, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6778
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._formatDesc, _attr, getattr(formatDesc, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":6775
 *     def formatDesc(self, formatDesc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(formatDesc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6773
 *         return self._formatDesc
 *     @formatDesc.setter
 *     def formatDesc(self, formatDesc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(formatDesc):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.formatDesc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6781
 *                 setattr(self._formatDesc, _attr, getattr(formatDesc, _attr))
 *     @property
 *     def extent(self):             # <<<<<<<<<<<<<<
 *         return self._extent
 *     @extent.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6781, 0, __PYX_ERR(0, 6781, __pyx_L1_error));

  /* "cuda/cudart.pyx":6782
 *     @property
 *     def extent(self):
 *         return self._extent             # <<<<<<<<<<<<<<
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_extent));
  __pyx_r = ((PyObject *)__pyx_v_self->_extent);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6781
 *                 setattr(self._formatDesc, _attr, getattr(formatDesc, _attr))
 *     @property
 *     def extent(self):             # <<<<<<<<<<<<<<
 *         return self._extent
 *     @extent.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.extent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6784
 *         return self._extent
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(extent):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent); /*proto*/
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extent) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 6784, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_extent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6784, 0, __PYX_ERR(0, 6784, __pyx_L1_error));

  /* "cuda/cudart.pyx":6786
 *     def extent(self, extent not None : cudaExtent):
 *         pass
 *         for _attr in dir(extent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_extent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6786, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6786, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6786, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6786, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6786, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 6786, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":6787
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6787, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":6788
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":6787
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":6789
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6789, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":6790
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._extent, _attr, getattr(extent, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_extent);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_extent), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6790, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 6790, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6789
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":6786
 *     def extent(self, extent not None : cudaExtent):
 *         pass
 *         for _attr in dir(extent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6784
 *         return self._extent
 *     @extent.setter
 *     def extent(self, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(extent):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.extent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6792
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6792, 0, __PYX_ERR(0, 6792, __pyx_L1_error));

  /* "cuda/cudart.pyx":6793
 *     @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(0, 6793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6792
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.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/cudart.pyx":6795
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6795, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6795, 0, __PYX_ERR(0, 6795, __pyx_L1_error));

  /* "cuda/cudart.pyx":6797
 *     def flags(self, unsigned int flags):
 *         pass
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def numLevels(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":6795
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6799
 *         self._ptr[0].flags = flags
 *     @property
 *     def numLevels(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numLevels
 *     @numLevels.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6799, 0, __PYX_ERR(0, 6799, __pyx_L1_error));

  /* "cuda/cudart.pyx":6800
 *     @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(0, 6800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6799
 *         self._ptr[0].flags = flags
 *     @property
 *     def numLevels(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numLevels
 *     @numLevels.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.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/cudart.pyx":6802
 *         return self._ptr[0].numLevels
 *     @numLevels.setter
 *     def numLevels(self, unsigned int numLevels):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numLevels = numLevels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numLevels); /*proto*/
static int __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numLevels) {
  unsigned int __pyx_v_numLevels;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6802, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.numLevels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), ((unsigned int)__pyx_v_numLevels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, unsigned int __pyx_v_numLevels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6802, 0, __PYX_ERR(0, 6802, __pyx_L1_error));

  /* "cuda/cudart.pyx":6804
 *     def numLevels(self, unsigned int numLevels):
 *         pass
 *         self._ptr[0].numLevels = numLevels             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s:
 */
  (__pyx_v_self->_ptr[0]).numLevels = __pyx_v_numLevels;

  /* "cuda/cudart.pyx":6802
 *         return self._ptr[0].numLevels
 *     @numLevels.setter
 *     def numLevels(self, unsigned int numLevels):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numLevels = numLevels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.numLevels.__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_6cudart_36cudaExternalMemoryMipmappedArrayDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10__reduce_cython__[] = "cudaExternalMemoryMipmappedArrayDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__243, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.__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_6cudart_36cudaExternalMemoryMipmappedArrayDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_12__setstate_cython__[] = "cudaExternalMemoryMipmappedArrayDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__244)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__245, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryMipmappedArrayDesc.__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/cudart.pyx":6822
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6822, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6822, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6822, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6822, 0, __PYX_ERR(0, 6822, __pyx_L1_error));

  /* "cuda/cudart.pyx":6823
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":6822
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6824
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6824, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6824, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6824, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6824, 0, __PYX_ERR(0, 6824, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6826
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4getPtr[] = "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__246)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6826, 0, __PYX_ERR(0, 6826, __pyx_L1_error));

  /* "cuda/cudart.pyx":6827
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6826
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.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/cudart.pyx":6828
 *     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_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6828, 0, __PYX_ERR(0, 6828, __pyx_L1_error));

  /* "cuda/cudart.pyx":6829
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6830
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['handle : ' + hex(self.handle)]
 *             str_list += ['name : ' + hex(self.name)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6831
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]             # <<<<<<<<<<<<<<
 *             str_list += ['name : ' + hex(self.name)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_handle, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6832
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]
 *             str_list += ['name : ' + hex(self.name)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_name, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6833
 *             str_list += ['handle : ' + hex(self.handle)]
 *             str_list += ['name : ' + hex(self.name)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6829
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['handle : ' + hex(self.handle)]
 */
  }

  /* "cuda/cudart.pyx":6835
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6828
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__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/cudart.pyx":6838
 * 
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6838, 0, __PYX_ERR(0, 6838, __pyx_L1_error));

  /* "cuda/cudart.pyx":6839
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6838
 * 
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.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/cudart.pyx":6841
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 *     def handle(self, handle):             # <<<<<<<<<<<<<<
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6841, 0, __PYX_ERR(0, 6841, __pyx_L1_error));

  /* "cuda/cudart.pyx":6842
 *     @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(0, 6842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6843
 *     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(0, 6843, __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(0, 6843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.handle = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":6841
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter
 *     def handle(self, handle):             # <<<<<<<<<<<<<<
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.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/cudart.pyx":6845
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6845, 0, __PYX_ERR(0, 6845, __pyx_L1_error));

  /* "cuda/cudart.pyx":6846
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6845
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
 *     def name(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.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/cudart.pyx":6848
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 *     def name(self, name):             # <<<<<<<<<<<<<<
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6848, 0, __PYX_ERR(0, 6848, __pyx_L1_error));

  /* "cuda/cudart.pyx":6849
 *     @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(0, 6849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6850
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreHandleDesc_handle_u:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cname, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6850, __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(0, 6850, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.name = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":6848
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter
 *     def name(self, name):             # <<<<<<<<<<<<<<
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.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_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_8__reduce_cython__[] = "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__247)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__248, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__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_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_10__setstate_cython__[] = "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__249)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__250, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.__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/cudart.pyx":6870
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6870, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6870, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6870, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6870, 0, __PYX_ERR(0, 6870, __pyx_L1_error));

  /* "cuda/cudart.pyx":6871
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":6870
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6872
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6872, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6872, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6872, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6872, 0, __PYX_ERR(0, 6872, __pyx_L1_error));

  /* "cuda/cudart.pyx":6873
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 6873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_win32);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_win32));
  __pyx_v_self->_win32 = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6872
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(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.cudart._cudaExternalSemaphoreHandleDesc_handle_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6874
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_4getPtr[] = "_cudaExternalSemaphoreHandleDesc_handle_u.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6874, 0, __PYX_ERR(0, 6874, __pyx_L1_error));

  /* "cuda/cudart.pyx":6875
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6874
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._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.cudart._cudaExternalSemaphoreHandleDesc_handle_u.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/cudart.pyx":6876
 *     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_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr28__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6876, 0, __PYX_ERR(0, 6876, __pyx_L1_error));

  /* "cuda/cudart.pyx":6877
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6878
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['fd : ' + str(self.fd)]
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6879
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]             # <<<<<<<<<<<<<<
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fd_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fd, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6880
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6880, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_win32_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6880, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6880, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6880, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 6880, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6880, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr28__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr28__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6880, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 6880, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr28__pyx_v_line); __pyx_9genexpr28__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr28__pyx_v_line); __pyx_9genexpr28__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_win32, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6881
 *             str_list += ['fd : ' + str(self.fd)]
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_nvSciSyncObj_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_nvSciSyncObj, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6882
 *             str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6877
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fd : ' + str(self.fd)]
 */
  }

  /* "cuda/cudart.pyx":6884
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6876
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr28__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6887
 * 
 *     @property
 *     def fd(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6887, 0, __PYX_ERR(0, 6887, __pyx_L1_error));

  /* "cuda/cudart.pyx":6888
 *     @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(0, 6888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6887
 * 
 *     @property
 *     def fd(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.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/cudart.pyx":6890
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 *     def fd(self, int fd):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].handle.fd = fd
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd) {
  int __pyx_v_fd;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6890, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self), ((int)__pyx_v_fd));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, int __pyx_v_fd) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6890, 0, __PYX_ERR(0, 6890, __pyx_L1_error));

  /* "cuda/cudart.pyx":6892
 *     def fd(self, int fd):
 *         pass
 *         self._ptr[0].handle.fd = fd             # <<<<<<<<<<<<<<
 *     @property
 *     def win32(self):
 */
  (__pyx_v_self->_ptr[0]).handle.fd = __pyx_v_fd;

  /* "cuda/cudart.pyx":6890
 *         return self._ptr[0].handle.fd
 *     @fd.setter
 *     def fd(self, int fd):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].handle.fd = fd
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6894
 *         self._ptr[0].handle.fd = fd
 *     @property
 *     def win32(self):             # <<<<<<<<<<<<<<
 *         return self._win32
 *     @win32.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6894, 0, __PYX_ERR(0, 6894, __pyx_L1_error));

  /* "cuda/cudart.pyx":6895
 *     @property
 *     def win32(self):
 *         return self._win32             # <<<<<<<<<<<<<<
 *     @win32.setter
 *     def win32(self, win32 not None : _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_win32));
  __pyx_r = ((PyObject *)__pyx_v_self->_win32);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6894
 *         self._ptr[0].handle.fd = fd
 *     @property
 *     def win32(self):             # <<<<<<<<<<<<<<
 *         return self._win32
 *     @win32.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.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/cudart.pyx":6897
 *         return self._win32
 *     @win32.setter
 *     def win32(self, win32 not None : _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(win32):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_win32), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s, 0, "win32", 0))) __PYX_ERR(0, 6897, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)__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_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *__pyx_v_win32) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6897, 0, __PYX_ERR(0, 6897, __pyx_L1_error));

  /* "cuda/cudart.pyx":6899
 *     def win32(self, win32 not None : _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s):
 *         pass
 *         for _attr in dir(win32):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_win32)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6899, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6899, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6899, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6899, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6899, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 6899, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":6900
 *         pass
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6900, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":6901
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":6900
 *         pass
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":6902
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6902, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":6903
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._win32, _attr, getattr(win32, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSyncObj(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_win32);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_win32), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6903, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 6903, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6902
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":6899
 *     def win32(self, win32 not None : _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s):
 *         pass
 *         for _attr in dir(win32):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6897
 *         return self._win32
 *     @win32.setter
 *     def win32(self, win32 not None : _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.win32.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6905
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 *     def nvSciSyncObj(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6905, 0, __PYX_ERR(0, 6905, __pyx_L1_error));

  /* "cuda/cudart.pyx":6906
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).handle.nvSciSyncObj)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6905
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 *     def nvSciSyncObj(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.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/cudart.pyx":6908
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter
 *     def nvSciSyncObj(self, nvSciSyncObj):             # <<<<<<<<<<<<<<
 *         _cnvSciSyncObj = utils.HelperInputVoidPtr(nvSciSyncObj)
 *         self._ptr[0].handle.nvSciSyncObj = <void*><void_ptr>_cnvSciSyncObj.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self), ((PyObject *)__pyx_v_nvSciSyncObj));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6908, 0, __PYX_ERR(0, 6908, __pyx_L1_error));

  /* "cuda/cudart.pyx":6909
 *     @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(0, 6909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cnvSciSyncObj = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6910
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = utils.HelperInputVoidPtr(nvSciSyncObj)
 *         self._ptr[0].handle.nvSciSyncObj = <void*><void_ptr>_cnvSciSyncObj.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalSemaphoreHandleDesc:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cnvSciSyncObj, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6910, __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(0, 6910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.nvSciSyncObj = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":6908
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter
 *     def nvSciSyncObj(self, nvSciSyncObj):             # <<<<<<<<<<<<<<
 *         _cnvSciSyncObj = utils.HelperInputVoidPtr(nvSciSyncObj)
 *         self._ptr[0].handle.nvSciSyncObj = <void*><void_ptr>_cnvSciSyncObj.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.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_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_8__reduce_cython__[] = "_cudaExternalSemaphoreHandleDesc_handle_u.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self) {
  PyObject *__pyx_r = 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__252)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__253, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.__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_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_10__setstate_cython__[] = "_cudaExternalSemaphoreHandleDesc_handle_u.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__255, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u.__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/cudart.pyx":6931
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6931, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6931, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6931, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6931, 0, __PYX_ERR(0, 6931, __pyx_L1_error));

  /* "cuda/cudart.pyx":6932
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6933
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":6932
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":6935
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreHandleDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":6931
 * 
 *     """
 *     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.cudart.cudaExternalSemaphoreHandleDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6936
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6936, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 6936, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6936, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6936, 0, __PYX_ERR(0, 6936, __pyx_L1_error));

  /* "cuda/cudart.pyx":6937
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 6937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_handle);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_handle));
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6936
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_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.cudart.cudaExternalSemaphoreHandleDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6938
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 6938, 0, __PYX_ERR(0, 6938, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalSemaphoreHandleDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":6940
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6getPtr[] = "cudaExternalSemaphoreHandleDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__256)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6940, 0, __PYX_ERR(0, 6940, __pyx_L1_error));

  /* "cuda/cudart.pyx":6941
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6940
 *     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.cudart.cudaExternalSemaphoreHandleDesc.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/cudart.pyx":6942
 *     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_6cudart_31cudaExternalSemaphoreHandleDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr29__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6942, 0, __PYX_ERR(0, 6942, __pyx_L1_error));

  /* "cuda/cudart.pyx":6943
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":6944
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6945
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]             # <<<<<<<<<<<<<<
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_type, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6946
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6946, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6946, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6946, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6946, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 6946, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6946, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr29__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr29__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6946, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 6946, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line); __pyx_9genexpr29__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line); __pyx_9genexpr29__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_handle_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6947
 *             str_list += ['type : ' + str(self.type)]
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":6948
 *             str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6943
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['type : ' + str(self.type)]
 */
  }

  /* "cuda/cudart.pyx":6950
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6942
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6953
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaExternalSemaphoreHandleType(self._ptr[0].type)
 *     @type.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6953, 0, __PYX_ERR(0, 6953, __pyx_L1_error));

  /* "cuda/cudart.pyx":6954
 *     @property
 *     def type(self):
 *         return cudaExternalSemaphoreHandleType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : cudaExternalSemaphoreHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaExternalSemaphoreHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 6954, __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/cudart.pyx":6953
 * 
 *     @property
 *     def type(self):             # <<<<<<<<<<<<<<
 *         return cudaExternalSemaphoreHandleType(self._ptr[0].type)
 *     @type.setter
 */

  /* 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.cudart.cudaExternalSemaphoreHandleDesc.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/cudart.pyx":6956
 *         return cudaExternalSemaphoreHandleType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaExternalSemaphoreHandleType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_type) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "type"); __PYX_ERR(0, 6956, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__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_6cudart_31cudaExternalSemaphoreHandleDesc_4type_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaExternalSemaphoreHandleType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6956, 0, __PYX_ERR(0, 6956, __pyx_L1_error));

  /* "cuda/cudart.pyx":6958
 *     def type(self, type not None : cudaExternalSemaphoreHandleType):
 *         pass
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaExternalSemaphoreHandleType)__Pyx_PyInt_As_enum__cudaExternalSemaphoreHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":6956
 *         return cudaExternalSemaphoreHandleType(self._ptr[0].type)
 *     @type.setter
 *     def type(self, type not None : cudaExternalSemaphoreHandleType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaExternalSemaphoreHandleDesc.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6960
 *         self._ptr[0].type = type.value
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return self._handle
 *     @handle.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6960, 0, __PYX_ERR(0, 6960, __pyx_L1_error));

  /* "cuda/cudart.pyx":6961
 *     @property
 *     def handle(self):
 *         return self._handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle not None : _cudaExternalSemaphoreHandleDesc_handle_u):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_handle));
  __pyx_r = ((PyObject *)__pyx_v_self->_handle);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6960
 *         self._ptr[0].type = type.value
 *     @property
 *     def handle(self):             # <<<<<<<<<<<<<<
 *         return self._handle
 *     @handle.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.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/cudart.pyx":6963
 *         return self._handle
 *     @handle.setter
 *     def handle(self, handle not None : _cudaExternalSemaphoreHandleDesc_handle_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(handle):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handle), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u, 0, "handle", 0))) __PYX_ERR(0, 6963, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)__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_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *__pyx_v_handle) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6963, 0, __PYX_ERR(0, 6963, __pyx_L1_error));

  /* "cuda/cudart.pyx":6965
 *     def handle(self, handle not None : _cudaExternalSemaphoreHandleDesc_handle_u):
 *         pass
 *         for _attr in dir(handle):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6965, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6965, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6965, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 6965, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6965, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 6965, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":6966
 *         pass
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6966, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":6967
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":6966
 *         pass
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":6968
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6968, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":6969
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._handle, _attr, getattr(handle, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_handle);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_handle), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6969, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 6969, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":6968
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":6965
 *     def handle(self, handle not None : _cudaExternalSemaphoreHandleDesc_handle_u):
 *         pass
 *         for _attr in dir(handle):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6963
 *         return self._handle
 *     @handle.setter
 *     def handle(self, handle not None : _cudaExternalSemaphoreHandleDesc_handle_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6971
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 6971, 0, __PYX_ERR(0, 6971, __pyx_L1_error));

  /* "cuda/cudart.pyx":6972
 *     @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(0, 6972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6971
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.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/cudart.pyx":6974
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 6974, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 6974, 0, __PYX_ERR(0, 6974, __pyx_L1_error));

  /* "cuda/cudart.pyx":6976
 *     def flags(self, unsigned int flags):
 *         pass
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_params_fence_s:
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":6974
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.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_6cudart_31cudaExternalSemaphoreHandleDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_10__reduce_cython__[] = "cudaExternalSemaphoreHandleDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__258, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.__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_6cudart_31cudaExternalSemaphoreHandleDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_12__setstate_cython__[] = "cudaExternalSemaphoreHandleDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__259)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__260, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreHandleDesc.__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/cudart.pyx":6992
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6992, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6992, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6992, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 6992, 0, __PYX_ERR(0, 6992, __pyx_L1_error));

  /* "cuda/cudart.pyx":6993
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":6992
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6994
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 6994, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 6994, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6994, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 6994, 0, __PYX_ERR(0, 6994, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6996
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_4getPtr[] = "_cudaExternalSemaphoreSignalParams_params_params_fence_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__261)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 6996, 0, __PYX_ERR(0, 6996, __pyx_L1_error));

  /* "cuda/cudart.pyx":6997
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6996
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.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/cudart.pyx":6998
 *     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_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 6998, 0, __PYX_ERR(0, 6998, __pyx_L1_error));

  /* "cuda/cudart.pyx":6999
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7000
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['value : ' + str(self.value)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7001
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_value_2, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7002
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":6999
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]
 */
  }

  /* "cuda/cudart.pyx":7004
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":6998
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.__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/cudart.pyx":7007
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7007, 0, __PYX_ERR(0, 7007, __pyx_L1_error));

  /* "cuda/cudart.pyx":7008
 *     @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(0, 7008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7007
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.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/cudart.pyx":7010
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 *     def value(self, unsigned long long value):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.fence.value = value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned PY_LONG_LONG __pyx_v_value;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7010, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7010, 0, __PYX_ERR(0, 7010, __pyx_L1_error));

  /* "cuda/cudart.pyx":7012
 *     def value(self, unsigned long long value):
 *         pass
 *         self._ptr[0].params.fence.value = value             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u:
 */
  (__pyx_v_self->_ptr[0]).params.fence.value = __pyx_v_value;

  /* "cuda/cudart.pyx":7010
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 *     def value(self, unsigned long long value):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.fence.value = value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.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_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_8__reduce_cython__[] = "_cudaExternalSemaphoreSignalParams_params_params_fence_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__262)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__263, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.__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_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_10__setstate_cython__[] = "_cudaExternalSemaphoreSignalParams_params_params_fence_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__264)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__265, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s.__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/cudart.pyx":7030
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7030, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7030, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7030, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7030, 0, __PYX_ERR(0, 7030, __pyx_L1_error));

  /* "cuda/cudart.pyx":7031
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7030
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7032
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7032, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7032, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7032, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7032, 0, __PYX_ERR(0, 7032, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7034
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_4getPtr[] = "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7034, 0, __PYX_ERR(0, 7034, __pyx_L1_error));

  /* "cuda/cudart.pyx":7035
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7034
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.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/cudart.pyx":7036
 *     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_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7036, 0, __PYX_ERR(0, 7036, __pyx_L1_error));

  /* "cuda/cudart.pyx":7037
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7038
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['fence : ' + hex(self.fence)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7039
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fence_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fence, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7040
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7041
 *             str_list += ['fence : ' + hex(self.fence)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7037
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]
 */
  }

  /* "cuda/cudart.pyx":7043
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7036
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__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/cudart.pyx":7046
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7046, 0, __PYX_ERR(0, 7046, __pyx_L1_error));

  /* "cuda/cudart.pyx":7047
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).params.nvSciSync.fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7046
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.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/cudart.pyx":7049
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 *     def fence(self, fence):             # <<<<<<<<<<<<<<
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self), ((PyObject *)__pyx_v_fence));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7049, 0, __PYX_ERR(0, 7049, __pyx_L1_error));

  /* "cuda/cudart.pyx":7050
 *     @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(0, 7050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfence = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7051
 *     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(0, 7051, __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(0, 7051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).params.nvSciSync.fence = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":7049
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 *     def fence(self, fence):             # <<<<<<<<<<<<<<
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.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/cudart.pyx":7053
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7053, 0, __PYX_ERR(0, 7053, __pyx_L1_error));

  /* "cuda/cudart.pyx":7054
 *     @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(0, 7054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7053
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.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/cudart.pyx":7056
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved) {
  unsigned PY_LONG_LONG __pyx_v_reserved;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7056, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7056, 0, __PYX_ERR(0, 7056, __pyx_L1_error));

  /* "cuda/cudart.pyx":7058
 *     def reserved(self, unsigned long long reserved):
 *         pass
 *         self._ptr[0].params.nvSciSync.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s:
 */
  (__pyx_v_self->_ptr[0]).params.nvSciSync.reserved = __pyx_v_reserved;

  /* "cuda/cudart.pyx":7056
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.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_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8__reduce_cython__[] = "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = 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__267)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__268, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__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_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_10__setstate_cython__[] = "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__270, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.__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/cudart.pyx":7074
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7074, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7074, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7074, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7074, 0, __PYX_ERR(0, 7074, __pyx_L1_error));

  /* "cuda/cudart.pyx":7075
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7074
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7076
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7076, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7076, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7076, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7076, 0, __PYX_ERR(0, 7076, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7078
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_4getPtr[] = "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__271)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7078, 0, __PYX_ERR(0, 7078, __pyx_L1_error));

  /* "cuda/cudart.pyx":7079
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7078
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.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/cudart.pyx":7080
 *     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_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7080, 0, __PYX_ERR(0, 7080, __pyx_L1_error));

  /* "cuda/cudart.pyx":7081
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7082
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['key : ' + str(self.key)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7083
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_key_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_key, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7084
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7081
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]
 */
  }

  /* "cuda/cudart.pyx":7086
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7080
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__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/cudart.pyx":7089
 * 
 *     @property
 *     def key(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7089, 0, __PYX_ERR(0, 7089, __pyx_L1_error));

  /* "cuda/cudart.pyx":7090
 *     @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(0, 7090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7089
 * 
 *     @property
 *     def key(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.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/cudart.pyx":7092
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 *     def key(self, unsigned long long key):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.keyedMutex.key = key
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key); /*proto*/
static int __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key) {
  unsigned PY_LONG_LONG __pyx_v_key;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7092, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7092, 0, __PYX_ERR(0, 7092, __pyx_L1_error));

  /* "cuda/cudart.pyx":7094
 *     def key(self, unsigned long long key):
 *         pass
 *         self._ptr[0].params.keyedMutex.key = key             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_s:
 */
  (__pyx_v_self->_ptr[0]).params.keyedMutex.key = __pyx_v_key;

  /* "cuda/cudart.pyx":7092
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 *     def key(self, unsigned long long key):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.keyedMutex.key = key
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.key.__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_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_8__reduce_cython__[] = "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__273, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__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_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_10__setstate_cython__[] = "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__274)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__275, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.__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/cudart.pyx":7116
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7116, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7116, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7116, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7116, 0, __PYX_ERR(0, 7116, __pyx_L1_error));

  /* "cuda/cudart.pyx":7117
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = _cudaExternalSemaphoreSignalParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7116
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7118
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = _cudaExternalSemaphoreSignalParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7118, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7118, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7118, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7118, 0, __PYX_ERR(0, 7118, __pyx_L1_error));

  /* "cuda/cudart.pyx":7119
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = _cudaExternalSemaphoreSignalParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_fence);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_fence));
  __pyx_v_self->_fence = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7120
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = _cudaExternalSemaphoreSignalParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 7120, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_nvSciSync);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_nvSciSync));
  __pyx_v_self->_nvSciSync = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7121
 *         self._fence = _cudaExternalSemaphoreSignalParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_keyedMutex);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_keyedMutex));
  __pyx_v_self->_keyedMutex = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7118
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = _cudaExternalSemaphoreSignalParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_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.cudart._cudaExternalSemaphoreSignalParams_params_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7122
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_4getPtr[] = "_cudaExternalSemaphoreSignalParams_params_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__276)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7122, 0, __PYX_ERR(0, 7122, __pyx_L1_error));

  /* "cuda/cudart.pyx":7123
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7122
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._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.cudart._cudaExternalSemaphoreSignalParams_params_s.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/cudart.pyx":7124
 *     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_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr30__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr31__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr32__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7124, 0, __PYX_ERR(0, 7124, __pyx_L1_error));

  /* "cuda/cudart.pyx":7125
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7126
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7127
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7127, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fence_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7127, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7127, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7127, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7127, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7127, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr30__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr30__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7127, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7127, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr30__pyx_v_line); __pyx_9genexpr30__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr30__pyx_v_line); __pyx_9genexpr30__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fence_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7128
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7128, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_nvSciSync_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7128, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7128, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7128, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7128, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7128, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr31__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr31__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7128, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 7128, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr31__pyx_v_line); __pyx_9genexpr31__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr31__pyx_v_line); __pyx_9genexpr31__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_nvSciSync, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7129
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7129, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_keyedMutex_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7129, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7129, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7129, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7129, __pyx_L18_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7129, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr32__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr32__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7129, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7129, __pyx_L18_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_line); __pyx_9genexpr32__pyx_v_line = 0;
      goto __pyx_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_line); __pyx_9genexpr32__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_keyedMutex, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7130
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7131
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7125
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":7133
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7124
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr30__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr31__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7136
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return self._fence
 *     @fence.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7136, 0, __PYX_ERR(0, 7136, __pyx_L1_error));

  /* "cuda/cudart.pyx":7137
 *     @property
 *     def fence(self):
 *         return self._fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence not None : _cudaExternalSemaphoreSignalParams_params_params_fence_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_fence));
  __pyx_r = ((PyObject *)__pyx_v_self->_fence);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7136
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return self._fence
 *     @fence.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.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/cudart.pyx":7139
 *         return self._fence
 *     @fence.setter
 *     def fence(self, fence not None : _cudaExternalSemaphoreSignalParams_params_params_fence_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(fence):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fence), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s, 0, "fence", 0))) __PYX_ERR(0, 7139, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)__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_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *__pyx_v_fence) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7139, 0, __PYX_ERR(0, 7139, __pyx_L1_error));

  /* "cuda/cudart.pyx":7141
 *     def fence(self, fence not None : _cudaExternalSemaphoreSignalParams_params_params_fence_s):
 *         pass
 *         for _attr in dir(fence):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7141, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7141, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7141, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7141, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7141, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7141, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7142
 *         pass
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7142, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7143
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7142
 *         pass
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7144
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7144, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7145
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._fence, _attr, getattr(fence, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSync(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_fence);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_fence), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7145, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7144
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7141
 *     def fence(self, fence not None : _cudaExternalSemaphoreSignalParams_params_params_fence_s):
 *         pass
 *         for _attr in dir(fence):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7139
 *         return self._fence
 *     @fence.setter
 *     def fence(self, fence not None : _cudaExternalSemaphoreSignalParams_params_params_fence_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7147
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 *     def nvSciSync(self):             # <<<<<<<<<<<<<<
 *         return self._nvSciSync
 *     @nvSciSync.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7147, 0, __PYX_ERR(0, 7147, __pyx_L1_error));

  /* "cuda/cudart.pyx":7148
 *     @property
 *     def nvSciSync(self):
 *         return self._nvSciSync             # <<<<<<<<<<<<<<
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_nvSciSync));
  __pyx_r = ((PyObject *)__pyx_v_self->_nvSciSync);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7147
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 *     def nvSciSync(self):             # <<<<<<<<<<<<<<
 *         return self._nvSciSync
 *     @nvSciSync.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.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/cudart.pyx":7150
 *         return self._nvSciSync
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(nvSciSync):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync); /*proto*/
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nvSciSync), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u, 0, "nvSciSync", 0))) __PYX_ERR(0, 7150, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)__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_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *__pyx_v_nvSciSync) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7150, 0, __PYX_ERR(0, 7150, __pyx_L1_error));

  /* "cuda/cudart.pyx":7152
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u):
 *         pass
 *         for _attr in dir(nvSciSync):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_nvSciSync)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7152, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7152, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7152, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7152, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7153
 *         pass
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7153, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7154
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7153
 *         pass
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7155
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7155, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7156
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def keyedMutex(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_nvSciSync);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_nvSciSync), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7156, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7155
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7152
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u):
 *         pass
 *         for _attr in dir(nvSciSync):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7150
 *         return self._nvSciSync
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.nvSciSync.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7158
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 *     def keyedMutex(self):             # <<<<<<<<<<<<<<
 *         return self._keyedMutex
 *     @keyedMutex.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7158, 0, __PYX_ERR(0, 7158, __pyx_L1_error));

  /* "cuda/cudart.pyx":7159
 *     @property
 *     def keyedMutex(self):
 *         return self._keyedMutex             # <<<<<<<<<<<<<<
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_keyedMutex));
  __pyx_r = ((PyObject *)__pyx_v_self->_keyedMutex);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7158
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 *     def keyedMutex(self):             # <<<<<<<<<<<<<<
 *         return self._keyedMutex
 *     @keyedMutex.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.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/cudart.pyx":7161
 *         return self._keyedMutex
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(keyedMutex):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex); /*proto*/
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_keyedMutex), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s, 0, "keyedMutex", 0))) __PYX_ERR(0, 7161, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)__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_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *__pyx_v_keyedMutex) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7161, 0, __PYX_ERR(0, 7161, __pyx_L1_error));

  /* "cuda/cudart.pyx":7163
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s):
 *         pass
 *         for _attr in dir(keyedMutex):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_keyedMutex)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7163, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7163, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7163, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7163, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7163, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7163, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7164
 *         pass
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7164, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7165
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7164
 *         pass
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7166
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7166, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7167
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_keyedMutex);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_keyedMutex), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7167, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7166
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7163
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s):
 *         pass
 *         for _attr in dir(keyedMutex):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7161
 *         return self._keyedMutex
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.keyedMutex.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7169
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7169, 0, __PYX_ERR(0, 7169, __pyx_L1_error));

  /* "cuda/cudart.pyx":7170
 *     @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(0, 7170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7169
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.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/cudart.pyx":7172
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1[12];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7172, 0, __PYX_ERR(0, 7172, __pyx_L1_error));

  /* "cuda/cudart.pyx":7174
 *     def reserved(self, reserved):
 *         pass
 *         self._ptr[0].params.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalSemaphoreSignalParams:
 */
  if (unlikely(__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 12) < 0)) __PYX_ERR(0, 7174, __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/cudart.pyx":7172
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.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_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8__reduce_cython__[] = "_cudaExternalSemaphoreSignalParams_params_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__277)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__278, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.__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_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10__setstate_cython__[] = "_cudaExternalSemaphoreSignalParams_params_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__279)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__280, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreSignalParams_params_s.__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/cudart.pyx":7202
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7202, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7202, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7202, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7202, 0, __PYX_ERR(0, 7202, __pyx_L1_error));

  /* "cuda/cudart.pyx":7203
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7204
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":7203
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7206
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7202
 * 
 *     """
 *     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.cudart.cudaExternalSemaphoreSignalParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7207
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7207, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7207, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7207, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7207, 0, __PYX_ERR(0, 7207, __pyx_L1_error));

  /* "cuda/cudart.pyx":7208
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_params);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_params));
  __pyx_v_self->_params = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7207
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_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.cudart.cudaExternalSemaphoreSignalParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7209
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 7209, 0, __PYX_ERR(0, 7209, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalSemaphoreSignalParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":7211
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6getPtr[] = "cudaExternalSemaphoreSignalParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7211, 0, __PYX_ERR(0, 7211, __pyx_L1_error));

  /* "cuda/cudart.pyx":7212
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7211
 *     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.cudart.cudaExternalSemaphoreSignalParams.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/cudart.pyx":7213
 *     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_6cudart_33cudaExternalSemaphoreSignalParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr33__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7213, 0, __PYX_ERR(0, 7213, __pyx_L1_error));

  /* "cuda/cudart.pyx":7214
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7215
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7216
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7216, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7216, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7216, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7216, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7216, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7216, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr33__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr33__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7216, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7216, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_line); __pyx_9genexpr33__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_line); __pyx_9genexpr33__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_params, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7217
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7218
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7219
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7214
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":7221
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7213
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7224
 * 
 *     @property
 *     def params(self):             # <<<<<<<<<<<<<<
 *         return self._params
 *     @params.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7224, 0, __PYX_ERR(0, 7224, __pyx_L1_error));

  /* "cuda/cudart.pyx":7225
 *     @property
 *     def params(self):
 *         return self._params             # <<<<<<<<<<<<<<
 *     @params.setter
 *     def params(self, params not None : _cudaExternalSemaphoreSignalParams_params_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_params));
  __pyx_r = ((PyObject *)__pyx_v_self->_params);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7224
 * 
 *     @property
 *     def params(self):             # <<<<<<<<<<<<<<
 *         return self._params
 *     @params.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.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/cudart.pyx":7227
 *         return self._params
 *     @params.setter
 *     def params(self, params not None : _cudaExternalSemaphoreSignalParams_params_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(params):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params); /*proto*/
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_params), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s, 0, "params", 0))) __PYX_ERR(0, 7227, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)__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_6cudart_33cudaExternalSemaphoreSignalParams_6params_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *__pyx_v_params) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7227, 0, __PYX_ERR(0, 7227, __pyx_L1_error));

  /* "cuda/cudart.pyx":7229
 *     def params(self, params not None : _cudaExternalSemaphoreSignalParams_params_s):
 *         pass
 *         for _attr in dir(params):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_params)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7229, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7229, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7229, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7229, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7229, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7229, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7230
 *         pass
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7230, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7231
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._params, _attr, getattr(params, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7230
 *         pass
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7232
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7232, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7233
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._params, _attr, getattr(params, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_params);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_params), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7233, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7233, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7232
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7229
 *     def params(self, params not None : _cudaExternalSemaphoreSignalParams_params_s):
 *         pass
 *         for _attr in dir(params):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7227
 *         return self._params
 *     @params.setter
 *     def params(self, params not None : _cudaExternalSemaphoreSignalParams_params_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.params.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7235
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7235, 0, __PYX_ERR(0, 7235, __pyx_L1_error));

  /* "cuda/cudart.pyx":7236
 *     @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(0, 7236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7235
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.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/cudart.pyx":7238
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7238, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7238, 0, __PYX_ERR(0, 7238, __pyx_L1_error));

  /* "cuda/cudart.pyx":7240
 *     def flags(self, unsigned int flags):
 *         pass
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":7238
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7242
 *         self._ptr[0].flags = flags
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7242, 0, __PYX_ERR(0, 7242, __pyx_L1_error));

  /* "cuda/cudart.pyx":7243
 *     @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(0, 7243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7242
 *         self._ptr[0].flags = flags
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.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/cudart.pyx":7245
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7245, 0, __PYX_ERR(0, 7245, __pyx_L1_error));

  /* "cuda/cudart.pyx":7247
 *     def reserved(self, reserved):
 *         pass
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_params_fence_s:
 */
  if (unlikely(__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0)) __PYX_ERR(0, 7247, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cudart.pyx":7245
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.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_6cudart_33cudaExternalSemaphoreSignalParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_10__reduce_cython__[] = "cudaExternalSemaphoreSignalParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__282)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__283, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.__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_6cudart_33cudaExternalSemaphoreSignalParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_12__setstate_cython__[] = "cudaExternalSemaphoreSignalParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__285, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalParams.__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/cudart.pyx":7263
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7263, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7263, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7263, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7263, 0, __PYX_ERR(0, 7263, __pyx_L1_error));

  /* "cuda/cudart.pyx":7264
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7263
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7265
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7265, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7265, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7265, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7265, 0, __PYX_ERR(0, 7265, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7267
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_4getPtr[] = "_cudaExternalSemaphoreWaitParams_params_params_fence_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__286)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7267, 0, __PYX_ERR(0, 7267, __pyx_L1_error));

  /* "cuda/cudart.pyx":7268
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7267
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.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/cudart.pyx":7269
 *     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_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7269, 0, __PYX_ERR(0, 7269, __pyx_L1_error));

  /* "cuda/cudart.pyx":7270
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7271
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['value : ' + str(self.value)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7272
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_value_2, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7273
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7270
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['value : ' + str(self.value)]
 */
  }

  /* "cuda/cudart.pyx":7275
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7269
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.__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/cudart.pyx":7278
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7278, 0, __PYX_ERR(0, 7278, __pyx_L1_error));

  /* "cuda/cudart.pyx":7279
 *     @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(0, 7279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7278
 * 
 *     @property
 *     def value(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.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/cudart.pyx":7281
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 *     def value(self, unsigned long long value):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.fence.value = value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
  unsigned PY_LONG_LONG __pyx_v_value;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7281, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7281, 0, __PYX_ERR(0, 7281, __pyx_L1_error));

  /* "cuda/cudart.pyx":7283
 *     def value(self, unsigned long long value):
 *         pass
 *         self._ptr[0].params.fence.value = value             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u:
 */
  (__pyx_v_self->_ptr[0]).params.fence.value = __pyx_v_value;

  /* "cuda/cudart.pyx":7281
 *         return self._ptr[0].params.fence.value
 *     @value.setter
 *     def value(self, unsigned long long value):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.fence.value = value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.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_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_8__reduce_cython__[] = "_cudaExternalSemaphoreWaitParams_params_params_fence_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__288, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.__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_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_10__setstate_cython__[] = "_cudaExternalSemaphoreWaitParams_params_params_fence_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__289)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__290, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s.__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/cudart.pyx":7301
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7301, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7301, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7301, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7301, 0, __PYX_ERR(0, 7301, __pyx_L1_error));

  /* "cuda/cudart.pyx":7302
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7301
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7303
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7303, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7303, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7303, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7303, 0, __PYX_ERR(0, 7303, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7305
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_4getPtr[] = "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = 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__291)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7305, 0, __PYX_ERR(0, 7305, __pyx_L1_error));

  /* "cuda/cudart.pyx":7306
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7305
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.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/cudart.pyx":7307
 *     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_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7307, 0, __PYX_ERR(0, 7307, __pyx_L1_error));

  /* "cuda/cudart.pyx":7308
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7309
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['fence : ' + hex(self.fence)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7310
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fence_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fence, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7311
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7312
 *             str_list += ['fence : ' + hex(self.fence)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7308
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence : ' + hex(self.fence)]
 */
  }

  /* "cuda/cudart.pyx":7314
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7307
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__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/cudart.pyx":7317
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7317, 0, __PYX_ERR(0, 7317, __pyx_L1_error));

  /* "cuda/cudart.pyx":7318
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).params.nvSciSync.fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7317
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.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/cudart.pyx":7320
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 *     def fence(self, fence):             # <<<<<<<<<<<<<<
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self), ((PyObject *)__pyx_v_fence));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__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_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7320, 0, __PYX_ERR(0, 7320, __pyx_L1_error));

  /* "cuda/cudart.pyx":7321
 *     @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(0, 7321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfence = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7322
 *     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(0, 7322, __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(0, 7322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).params.nvSciSync.fence = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":7320
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter
 *     def fence(self, fence):             # <<<<<<<<<<<<<<
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.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/cudart.pyx":7324
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7324, 0, __PYX_ERR(0, 7324, __pyx_L1_error));

  /* "cuda/cudart.pyx":7325
 *     @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(0, 7325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7324
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.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/cudart.pyx":7327
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved) {
  unsigned PY_LONG_LONG __pyx_v_reserved;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7327, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7327, 0, __PYX_ERR(0, 7327, __pyx_L1_error));

  /* "cuda/cudart.pyx":7329
 *     def reserved(self, unsigned long long reserved):
 *         pass
 *         self._ptr[0].params.nvSciSync.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s:
 */
  (__pyx_v_self->_ptr[0]).params.nvSciSync.reserved = __pyx_v_reserved;

  /* "cuda/cudart.pyx":7327
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.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_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8__reduce_cython__[] = "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self) {
  PyObject *__pyx_r = 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__292)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__293, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__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_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_10__setstate_cython__[] = "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__294)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__295, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.__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/cudart.pyx":7347
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7347, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7347, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7347, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7347, 0, __PYX_ERR(0, 7347, __pyx_L1_error));

  /* "cuda/cudart.pyx":7348
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7347
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7349
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7349, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7349, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7349, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7349, 0, __PYX_ERR(0, 7349, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7351
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_4getPtr[] = "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7351, 0, __PYX_ERR(0, 7351, __pyx_L1_error));

  /* "cuda/cudart.pyx":7352
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7351
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.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/cudart.pyx":7353
 *     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_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7353, 0, __PYX_ERR(0, 7353, __pyx_L1_error));

  /* "cuda/cudart.pyx":7354
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7355
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['key : ' + str(self.key)]
 *             str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7356
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]             # <<<<<<<<<<<<<<
 *             str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_key_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_key, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7357
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]
 *             str_list += ['timeoutMs : ' + str(self.timeoutMs)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_timeoutMs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_timeoutMs, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7358
 *             str_list += ['key : ' + str(self.key)]
 *             str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7354
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['key : ' + str(self.key)]
 */
  }

  /* "cuda/cudart.pyx":7360
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7353
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__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/cudart.pyx":7363
 * 
 *     @property
 *     def key(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7363, 0, __PYX_ERR(0, 7363, __pyx_L1_error));

  /* "cuda/cudart.pyx":7364
 *     @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(0, 7364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7363
 * 
 *     @property
 *     def key(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.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/cudart.pyx":7366
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 *     def key(self, unsigned long long key):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.keyedMutex.key = key
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key); /*proto*/
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key) {
  unsigned PY_LONG_LONG __pyx_v_key;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7366, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7366, 0, __PYX_ERR(0, 7366, __pyx_L1_error));

  /* "cuda/cudart.pyx":7368
 *     def key(self, unsigned long long key):
 *         pass
 *         self._ptr[0].params.keyedMutex.key = key             # <<<<<<<<<<<<<<
 *     @property
 *     def timeoutMs(self):
 */
  (__pyx_v_self->_ptr[0]).params.keyedMutex.key = __pyx_v_key;

  /* "cuda/cudart.pyx":7366
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter
 *     def key(self, unsigned long long key):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.keyedMutex.key = key
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7370
 *         self._ptr[0].params.keyedMutex.key = key
 *     @property
 *     def timeoutMs(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7370, 0, __PYX_ERR(0, 7370, __pyx_L1_error));

  /* "cuda/cudart.pyx":7371
 *     @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(0, 7371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7370
 *         self._ptr[0].params.keyedMutex.key = key
 *     @property
 *     def timeoutMs(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.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/cudart.pyx":7373
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.keyedMutex.timeoutMs = timeoutMs
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_timeoutMs); /*proto*/
static int __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_timeoutMs) {
  unsigned int __pyx_v_timeoutMs;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7373, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.timeoutMs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self), ((unsigned int)__pyx_v_timeoutMs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, unsigned int __pyx_v_timeoutMs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7373, 0, __PYX_ERR(0, 7373, __pyx_L1_error));

  /* "cuda/cudart.pyx":7375
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         pass
 *         self._ptr[0].params.keyedMutex.timeoutMs = timeoutMs             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_s:
 */
  (__pyx_v_self->_ptr[0]).params.keyedMutex.timeoutMs = __pyx_v_timeoutMs;

  /* "cuda/cudart.pyx":7373
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.keyedMutex.timeoutMs = timeoutMs
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.timeoutMs.__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_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_8__reduce_cython__[] = "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__297)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__298, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__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_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_10__setstate_cython__[] = "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__300, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.__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/cudart.pyx":7397
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7397, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7397, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7397, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7397, 0, __PYX_ERR(0, 7397, __pyx_L1_error));

  /* "cuda/cudart.pyx":7398
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = _cudaExternalSemaphoreWaitParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7397
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7399
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = _cudaExternalSemaphoreWaitParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7399, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7399, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7399, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7399, 0, __PYX_ERR(0, 7399, __pyx_L1_error));

  /* "cuda/cudart.pyx":7400
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = _cudaExternalSemaphoreWaitParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_fence);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_fence));
  __pyx_v_self->_fence = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7401
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = _cudaExternalSemaphoreWaitParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 7401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_nvSciSync);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_nvSciSync));
  __pyx_v_self->_nvSciSync = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7402
 *         self._fence = _cudaExternalSemaphoreWaitParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_keyedMutex);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_keyedMutex));
  __pyx_v_self->_keyedMutex = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7399
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = _cudaExternalSemaphoreWaitParams_params_params_fence_s(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_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.cudart._cudaExternalSemaphoreWaitParams_params_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7403
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_4getPtr[] = "_cudaExternalSemaphoreWaitParams_params_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__301)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7403, 0, __PYX_ERR(0, 7403, __pyx_L1_error));

  /* "cuda/cudart.pyx":7404
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7403
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._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.cudart._cudaExternalSemaphoreWaitParams_params_s.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/cudart.pyx":7405
 *     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_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr34__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr35__pyx_v_line = 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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7405, 0, __PYX_ERR(0, 7405, __pyx_L1_error));

  /* "cuda/cudart.pyx":7406
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7407
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7408
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7408, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fence_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7408, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7408, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7408, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7408, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7408, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr34__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr34__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7408, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7408, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr34__pyx_v_line); __pyx_9genexpr34__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr34__pyx_v_line); __pyx_9genexpr34__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fence_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7409
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7409, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_nvSciSync_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7409, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7409, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7409, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7409, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7409, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr35__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr35__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7409, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 7409, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line); __pyx_9genexpr35__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line); __pyx_9genexpr35__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_nvSciSync, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7410
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7410, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_keyedMutex_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7410, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7410, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7410, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7410, __pyx_L18_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7410, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr36__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr36__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7410, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7410, __pyx_L18_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr36__pyx_v_line); __pyx_9genexpr36__pyx_v_line = 0;
      goto __pyx_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_9genexpr36__pyx_v_line); __pyx_9genexpr36__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_keyedMutex, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7411
 *             str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7412
 *             str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7406
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":7414
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7405
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr34__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr36__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7417
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return self._fence
 *     @fence.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7417, 0, __PYX_ERR(0, 7417, __pyx_L1_error));

  /* "cuda/cudart.pyx":7418
 *     @property
 *     def fence(self):
 *         return self._fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence not None : _cudaExternalSemaphoreWaitParams_params_params_fence_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_fence));
  __pyx_r = ((PyObject *)__pyx_v_self->_fence);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7417
 * 
 *     @property
 *     def fence(self):             # <<<<<<<<<<<<<<
 *         return self._fence
 *     @fence.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.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/cudart.pyx":7420
 *         return self._fence
 *     @fence.setter
 *     def fence(self, fence not None : _cudaExternalSemaphoreWaitParams_params_params_fence_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(fence):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fence), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s, 0, "fence", 0))) __PYX_ERR(0, 7420, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)__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_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *__pyx_v_fence) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7420, 0, __PYX_ERR(0, 7420, __pyx_L1_error));

  /* "cuda/cudart.pyx":7422
 *     def fence(self, fence not None : _cudaExternalSemaphoreWaitParams_params_params_fence_s):
 *         pass
 *         for _attr in dir(fence):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7422, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7422, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7422, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7422, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7422, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7422, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7423
 *         pass
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7423, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7424
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7423
 *         pass
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7425
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7425, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7426
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._fence, _attr, getattr(fence, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSync(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_fence);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_fence), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7426, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7426, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7425
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7422
 *     def fence(self, fence not None : _cudaExternalSemaphoreWaitParams_params_params_fence_s):
 *         pass
 *         for _attr in dir(fence):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7420
 *         return self._fence
 *     @fence.setter
 *     def fence(self, fence not None : _cudaExternalSemaphoreWaitParams_params_params_fence_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7428
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 *     def nvSciSync(self):             # <<<<<<<<<<<<<<
 *         return self._nvSciSync
 *     @nvSciSync.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7428, 0, __PYX_ERR(0, 7428, __pyx_L1_error));

  /* "cuda/cudart.pyx":7429
 *     @property
 *     def nvSciSync(self):
 *         return self._nvSciSync             # <<<<<<<<<<<<<<
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_nvSciSync));
  __pyx_r = ((PyObject *)__pyx_v_self->_nvSciSync);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7428
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 *     def nvSciSync(self):             # <<<<<<<<<<<<<<
 *         return self._nvSciSync
 *     @nvSciSync.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.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/cudart.pyx":7431
 *         return self._nvSciSync
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(nvSciSync):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nvSciSync), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u, 0, "nvSciSync", 0))) __PYX_ERR(0, 7431, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)__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_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *__pyx_v_nvSciSync) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7431, 0, __PYX_ERR(0, 7431, __pyx_L1_error));

  /* "cuda/cudart.pyx":7433
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u):
 *         pass
 *         for _attr in dir(nvSciSync):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_nvSciSync)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7433, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7433, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7433, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7433, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7433, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7433, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7434
 *         pass
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7434, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7435
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7434
 *         pass
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7436
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7436, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7437
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def keyedMutex(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_nvSciSync);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_nvSciSync), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7437, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7437, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7436
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7433
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u):
 *         pass
 *         for _attr in dir(nvSciSync):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7431
 *         return self._nvSciSync
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.nvSciSync.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7439
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 *     def keyedMutex(self):             # <<<<<<<<<<<<<<
 *         return self._keyedMutex
 *     @keyedMutex.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7439, 0, __PYX_ERR(0, 7439, __pyx_L1_error));

  /* "cuda/cudart.pyx":7440
 *     @property
 *     def keyedMutex(self):
 *         return self._keyedMutex             # <<<<<<<<<<<<<<
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_keyedMutex));
  __pyx_r = ((PyObject *)__pyx_v_self->_keyedMutex);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7439
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 *     def keyedMutex(self):             # <<<<<<<<<<<<<<
 *         return self._keyedMutex
 *     @keyedMutex.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.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/cudart.pyx":7442
 *         return self._keyedMutex
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(keyedMutex):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_keyedMutex), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s, 0, "keyedMutex", 0))) __PYX_ERR(0, 7442, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)__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_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *__pyx_v_keyedMutex) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7442, 0, __PYX_ERR(0, 7442, __pyx_L1_error));

  /* "cuda/cudart.pyx":7444
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s):
 *         pass
 *         for _attr in dir(keyedMutex):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_keyedMutex)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7444, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7444, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7444, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7444, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7444, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7444, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7445
 *         pass
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7445, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7446
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7445
 *         pass
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7447
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7447, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7448
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_keyedMutex);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_keyedMutex), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7448, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7448, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7447
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7444
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s):
 *         pass
 *         for _attr in dir(keyedMutex):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7442
 *         return self._keyedMutex
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.keyedMutex.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7450
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved___get__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved___get__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7450, 0, __PYX_ERR(0, 7450, __pyx_L1_error));

  /* "cuda/cudart.pyx":7451
 *     @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(0, 7451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7450
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.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/cudart.pyx":7453
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1[10];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7453, 0, __PYX_ERR(0, 7453, __pyx_L1_error));

  /* "cuda/cudart.pyx":7455
 *     def reserved(self, reserved):
 *         pass
 *         self._ptr[0].params.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalSemaphoreWaitParams:
 */
  if (unlikely(__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 10) < 0)) __PYX_ERR(0, 7455, __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/cudart.pyx":7453
 *         return self._ptr[0].params.reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].params.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.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_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8__reduce_cython__[] = "_cudaExternalSemaphoreWaitParams_params_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__303, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.__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_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10__setstate_cython__[] = "_cudaExternalSemaphoreWaitParams_params_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__304)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__305, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaExternalSemaphoreWaitParams_params_s.__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/cudart.pyx":7483
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7483, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7483, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7483, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7483, 0, __PYX_ERR(0, 7483, __pyx_L1_error));

  /* "cuda/cudart.pyx":7484
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7485
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":7484
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7487
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7483
 * 
 *     """
 *     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.cudart.cudaExternalSemaphoreWaitParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7488
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7488, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7488, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7488, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7488, 0, __PYX_ERR(0, 7488, __pyx_L1_error));

  /* "cuda/cudart.pyx":7489
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_params);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_params));
  __pyx_v_self->_params = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7488
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_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.cudart.cudaExternalSemaphoreWaitParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7490
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 7490, 0, __PYX_ERR(0, 7490, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalSemaphoreWaitParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":7492
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6getPtr[] = "cudaExternalSemaphoreWaitParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__306)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7492, 0, __PYX_ERR(0, 7492, __pyx_L1_error));

  /* "cuda/cudart.pyx":7493
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7492
 *     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.cudart.cudaExternalSemaphoreWaitParams.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/cudart.pyx":7494
 *     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_6cudart_31cudaExternalSemaphoreWaitParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7494, 0, __PYX_ERR(0, 7494, __pyx_L1_error));

  /* "cuda/cudart.pyx":7495
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7496
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7497
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7497, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7497, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7497, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7497, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7497, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7497, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr37__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr37__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7497, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7497, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr37__pyx_v_line); __pyx_9genexpr37__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr37__pyx_v_line); __pyx_9genexpr37__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_params, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7498
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7499
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7500
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7495
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":7502
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7494
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.__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/cudart.pyx":7505
 * 
 *     @property
 *     def params(self):             # <<<<<<<<<<<<<<
 *         return self._params
 *     @params.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7505, 0, __PYX_ERR(0, 7505, __pyx_L1_error));

  /* "cuda/cudart.pyx":7506
 *     @property
 *     def params(self):
 *         return self._params             # <<<<<<<<<<<<<<
 *     @params.setter
 *     def params(self, params not None : _cudaExternalSemaphoreWaitParams_params_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_params));
  __pyx_r = ((PyObject *)__pyx_v_self->_params);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7505
 * 
 *     @property
 *     def params(self):             # <<<<<<<<<<<<<<
 *         return self._params
 *     @params.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.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/cudart.pyx":7508
 *         return self._params
 *     @params.setter
 *     def params(self, params not None : _cudaExternalSemaphoreWaitParams_params_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(params):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_params), __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s, 0, "params", 0))) __PYX_ERR(0, 7508, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)__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_6cudart_31cudaExternalSemaphoreWaitParams_6params_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *__pyx_v_params) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7508, 0, __PYX_ERR(0, 7508, __pyx_L1_error));

  /* "cuda/cudart.pyx":7510
 *     def params(self, params not None : _cudaExternalSemaphoreWaitParams_params_s):
 *         pass
 *         for _attr in dir(params):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_params)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7510, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7510, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7510, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7510, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7510, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7510, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7511
 *         pass
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7511, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7512
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._params, _attr, getattr(params, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7511
 *         pass
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7513
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7513, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7514
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._params, _attr, getattr(params, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_params);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_params), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7514, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7514, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7513
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7510
 *     def params(self, params not None : _cudaExternalSemaphoreWaitParams_params_s):
 *         pass
 *         for _attr in dir(params):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7508
 *         return self._params
 *     @params.setter
 *     def params(self, params not None : _cudaExternalSemaphoreWaitParams_params_s):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.params.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7516
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7516, 0, __PYX_ERR(0, 7516, __pyx_L1_error));

  /* "cuda/cudart.pyx":7517
 *     @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(0, 7517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7516
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.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/cudart.pyx":7519
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7519, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7519, 0, __PYX_ERR(0, 7519, __pyx_L1_error));

  /* "cuda/cudart.pyx":7521
 *     def flags(self, unsigned int flags):
 *         pass
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":7519
 *         return self._ptr[0].flags
 *     @flags.setter
 *     def flags(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7523
 *         self._ptr[0].flags = flags
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7523, 0, __PYX_ERR(0, 7523, __pyx_L1_error));

  /* "cuda/cudart.pyx":7524
 *     @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(0, 7524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7523
 *         self._ptr[0].flags = flags
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.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/cudart.pyx":7526
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7526, 0, __PYX_ERR(0, 7526, __pyx_L1_error));

  /* "cuda/cudart.pyx":7528
 *     def reserved(self, reserved):
 *         pass
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaKernelNodeParams:
 */
  if (unlikely(__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0)) __PYX_ERR(0, 7528, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cudart.pyx":7526
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.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_6cudart_31cudaExternalSemaphoreWaitParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_10__reduce_cython__[] = "cudaExternalSemaphoreWaitParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__307)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__308, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.__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_6cudart_31cudaExternalSemaphoreWaitParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_12__setstate_cython__[] = "cudaExternalSemaphoreWaitParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__309)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__310, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitParams.__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/cudart.pyx":7555
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7555, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7555, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7555, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7555, 0, __PYX_ERR(0, 7555, __pyx_L1_error));

  /* "cuda/cudart.pyx":7556
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7557
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaKernelNodeParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":7556
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7559
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaKernelNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaKernelNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7555
 * 
 *     """
 *     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.cudart.cudaKernelNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7560
 *         else:
 *             self._ptr = <ccudart.cudaKernelNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7560, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7560, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7560, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_2__init__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7560, 0, __PYX_ERR(0, 7560, __pyx_L1_error));

  /* "cuda/cudart.pyx":7561
 *             self._ptr = <ccudart.cudaKernelNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)             # <<<<<<<<<<<<<<
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).gridDim))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_dim3), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_gridDim);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_gridDim));
  __pyx_v_self->_gridDim = ((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7562
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).blockDim))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 7562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_dim3), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_blockDim);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_blockDim));
  __pyx_v_self->_blockDim = ((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7560
 *         else:
 *             self._ptr = <ccudart.cudaKernelNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 */

  /* 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.cudart.cudaKernelNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7563
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 7563, 0, __PYX_ERR(0, 7563, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaKernelNodeParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":7565
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_6getPtr[] = "cudaKernelNodeParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaKernelNodeParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7565, 0, __PYX_ERR(0, 7565, __pyx_L1_error));

  /* "cuda/cudart.pyx":7566
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7565
 *     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.cudart.cudaKernelNodeParams.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/cudart.pyx":7567
 *     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_6cudart_20cudaKernelNodeParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr38__pyx_v_line = 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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7567, 0, __PYX_ERR(0, 7567, __pyx_L1_error));

  /* "cuda/cudart.pyx":7568
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['func : ' + hex(self.func)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7569
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['func : ' + hex(self.func)]
 *             str_list += ['gridDim :\n' + '\n'.join(['    ' + line for line in str(self.gridDim).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7570
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['func : ' + hex(self.func)]             # <<<<<<<<<<<<<<
 *             str_list += ['gridDim :\n' + '\n'.join(['    ' + line for line in str(self.gridDim).splitlines()])]
 *             str_list += ['blockDim :\n' + '\n'.join(['    ' + line for line in str(self.blockDim).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_func_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_func, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7571
 *             str_list = []
 *             str_list += ['func : ' + hex(self.func)]
 *             str_list += ['gridDim :\n' + '\n'.join(['    ' + line for line in str(self.gridDim).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['blockDim :\n' + '\n'.join(['    ' + line for line in str(self.blockDim).splitlines()])]
 *             str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7571, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_gridDim_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7571, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7571, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7571, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7571, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7571, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr38__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr38__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7571, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7571, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr38__pyx_v_line); __pyx_9genexpr38__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr38__pyx_v_line); __pyx_9genexpr38__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_gridDim, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7572
 *             str_list += ['func : ' + hex(self.func)]
 *             str_list += ['gridDim :\n' + '\n'.join(['    ' + line for line in str(self.gridDim).splitlines()])]
 *             str_list += ['blockDim :\n' + '\n'.join(['    ' + line for line in str(self.blockDim).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             str_list += ['kernelParams : ' + str(self.kernelParams)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7572, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_blockDim_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7572, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7572, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7572, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7572, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7572, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr39__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr39__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7572, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 7572, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr39__pyx_v_line); __pyx_9genexpr39__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr39__pyx_v_line); __pyx_9genexpr39__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_blockDim, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7573
 *             str_list += ['gridDim :\n' + '\n'.join(['    ' + line for line in str(self.gridDim).splitlines()])]
 *             str_list += ['blockDim :\n' + '\n'.join(['    ' + line for line in str(self.blockDim).splitlines()])]
 *             str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]             # <<<<<<<<<<<<<<
 *             str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             str_list += ['extra : ' + str(self.extra)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sharedMemBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sharedMemBytes, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7574
 *             str_list += ['blockDim :\n' + '\n'.join(['    ' + line for line in str(self.blockDim).splitlines()])]
 *             str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             str_list += ['kernelParams : ' + str(self.kernelParams)]             # <<<<<<<<<<<<<<
 *             str_list += ['extra : ' + str(self.extra)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kernelParams_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_kernelParams, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7575
 *             str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             str_list += ['extra : ' + str(self.extra)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extra_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extra, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7576
 *             str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             str_list += ['extra : ' + str(self.extra)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7568
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['func : ' + hex(self.func)]
 */
  }

  /* "cuda/cudart.pyx":7578
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7567
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.__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_XDECREF(__pyx_9genexpr39__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7581
 * 
 *     @property
 *     def func(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].func
 *     @func.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_4func_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_4func_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4func___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4func___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7581, 0, __PYX_ERR(0, 7581, __pyx_L1_error));

  /* "cuda/cudart.pyx":7582
 *     @property
 *     def func(self):
 *         return <void_ptr>self._ptr[0].func             # <<<<<<<<<<<<<<
 *     @func.setter
 *     def func(self, func):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).func)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7581
 * 
 *     @property
 *     def func(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].func
 *     @func.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.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/cudart.pyx":7584
 *         return <void_ptr>self._ptr[0].func
 *     @func.setter
 *     def func(self, func):             # <<<<<<<<<<<<<<
 *         _cfunc = utils.HelperInputVoidPtr(func)
 *         self._ptr[0].func = <void*><void_ptr>_cfunc.cptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4func_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_func));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_4func_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, PyObject *__pyx_v_func) {
  PyObject *__pyx_v__cfunc = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7584, 0, __PYX_ERR(0, 7584, __pyx_L1_error));

  /* "cuda/cudart.pyx":7585
 *     @func.setter
 *     def func(self, func):
 *         _cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *         self._ptr[0].func = <void*><void_ptr>_cfunc.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7586
 *     def func(self, func):
 *         _cfunc = utils.HelperInputVoidPtr(func)
 *         self._ptr[0].func = <void*><void_ptr>_cfunc.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDim(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7586, __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(0, 7586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).func = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":7584
 *         return <void_ptr>self._ptr[0].func
 *     @func.setter
 *     def func(self, func):             # <<<<<<<<<<<<<<
 *         _cfunc = utils.HelperInputVoidPtr(func)
 *         self._ptr[0].func = <void*><void_ptr>_cfunc.cptr
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.func.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cfunc);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7588
 *         self._ptr[0].func = <void*><void_ptr>_cfunc.cptr
 *     @property
 *     def gridDim(self):             # <<<<<<<<<<<<<<
 *         return self._gridDim
 *     @gridDim.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_7gridDim___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_7gridDim___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7588, 0, __PYX_ERR(0, 7588, __pyx_L1_error));

  /* "cuda/cudart.pyx":7589
 *     @property
 *     def gridDim(self):
 *         return self._gridDim             # <<<<<<<<<<<<<<
 *     @gridDim.setter
 *     def gridDim(self, gridDim not None : dim3):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_gridDim));
  __pyx_r = ((PyObject *)__pyx_v_self->_gridDim);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7588
 *         self._ptr[0].func = <void*><void_ptr>_cfunc.cptr
 *     @property
 *     def gridDim(self):             # <<<<<<<<<<<<<<
 *         return self._gridDim
 *     @gridDim.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.gridDim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7591
 *         return self._gridDim
 *     @gridDim.setter
 *     def gridDim(self, gridDim not None : dim3):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(gridDim):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_gridDim); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_gridDim) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gridDim), __pyx_ptype_4cuda_6cudart_dim3, 0, "gridDim", 0))) __PYX_ERR(0, 7591, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_gridDim));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_gridDim) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7591, 0, __PYX_ERR(0, 7591, __pyx_L1_error));

  /* "cuda/cudart.pyx":7593
 *     def gridDim(self, gridDim not None : dim3):
 *         pass
 *         for _attr in dir(gridDim):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_gridDim)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7593, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7593, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7593, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7593, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7593, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7593, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7594
 *         pass
 *         for _attr in dir(gridDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7594, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7595
 *         for _attr in dir(gridDim):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._gridDim, _attr, getattr(gridDim, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7594
 *         pass
 *         for _attr in dir(gridDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7596
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._gridDim, _attr, getattr(gridDim, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7596, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7597
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._gridDim, _attr, getattr(gridDim, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDim(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_gridDim);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_gridDim), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7597, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7597, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7596
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._gridDim, _attr, getattr(gridDim, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7593
 *     def gridDim(self, gridDim not None : dim3):
 *         pass
 *         for _attr in dir(gridDim):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7591
 *         return self._gridDim
 *     @gridDim.setter
 *     def gridDim(self, gridDim not None : dim3):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(gridDim):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.gridDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7599
 *                 setattr(self._gridDim, _attr, getattr(gridDim, _attr))
 *     @property
 *     def blockDim(self):             # <<<<<<<<<<<<<<
 *         return self._blockDim
 *     @blockDim.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8blockDim___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8blockDim___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7599, 0, __PYX_ERR(0, 7599, __pyx_L1_error));

  /* "cuda/cudart.pyx":7600
 *     @property
 *     def blockDim(self):
 *         return self._blockDim             # <<<<<<<<<<<<<<
 *     @blockDim.setter
 *     def blockDim(self, blockDim not None : dim3):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_blockDim));
  __pyx_r = ((PyObject *)__pyx_v_self->_blockDim);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7599
 *                 setattr(self._gridDim, _attr, getattr(gridDim, _attr))
 *     @property
 *     def blockDim(self):             # <<<<<<<<<<<<<<
 *         return self._blockDim
 *     @blockDim.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.blockDim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7602
 *         return self._blockDim
 *     @blockDim.setter
 *     def blockDim(self, blockDim not None : dim3):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(blockDim):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_blockDim); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_blockDim) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_blockDim), __pyx_ptype_4cuda_6cudart_dim3, 0, "blockDim", 0))) __PYX_ERR(0, 7602, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_dim3 *)__pyx_v_blockDim));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_blockDim) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7602, 0, __PYX_ERR(0, 7602, __pyx_L1_error));

  /* "cuda/cudart.pyx":7604
 *     def blockDim(self, blockDim not None : dim3):
 *         pass
 *         for _attr in dir(blockDim):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_blockDim)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7604, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7604, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7604, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 7604, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7604, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 7604, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":7605
 *         pass
 *         for _attr in dir(blockDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7605, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":7606
 *         for _attr in dir(blockDim):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._blockDim, _attr, getattr(blockDim, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":7605
 *         pass
 *         for _attr in dir(blockDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":7607
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._blockDim, _attr, getattr(blockDim, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 7607, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":7608
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._blockDim, _attr, getattr(blockDim, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_blockDim);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_blockDim), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7608, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 7608, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":7607
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._blockDim, _attr, getattr(blockDim, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":7604
 *     def blockDim(self, blockDim not None : dim3):
 *         pass
 *         for _attr in dir(blockDim):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7602
 *         return self._blockDim
 *     @blockDim.setter
 *     def blockDim(self, blockDim not None : dim3):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(blockDim):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.blockDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7610
 *                 setattr(self._blockDim, _attr, getattr(blockDim, _attr))
 *     @property
 *     def sharedMemBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7610, 0, __PYX_ERR(0, 7610, __pyx_L1_error));

  /* "cuda/cudart.pyx":7611
 *     @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(0, 7611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7610
 *                 setattr(self._blockDim, _attr, getattr(blockDim, _attr))
 *     @property
 *     def sharedMemBytes(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.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/cudart.pyx":7613
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes) {
  unsigned int __pyx_v_sharedMemBytes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7613, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7613, 0, __PYX_ERR(0, 7613, __pyx_L1_error));

  /* "cuda/cudart.pyx":7615
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         pass
 *         self._ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/cudart.pyx":7613
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7617
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property
 *     def kernelParams(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7617, 0, __PYX_ERR(0, 7617, __pyx_L1_error));

  /* "cuda/cudart.pyx":7618
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7617
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property
 *     def kernelParams(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.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/cudart.pyx":7620
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):             # <<<<<<<<<<<<<<
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_kernelParams));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7620, 0, __PYX_ERR(0, 7620, __pyx_L1_error));

  /* "cuda/cudart.pyx":7621
 *     @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(0, 7621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__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/cudart.pyx":7622
 *     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(0, 7622, __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(0, 7622, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":7620
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):             # <<<<<<<<<<<<<<
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7624
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property
 *     def extra(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_5extra_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_5extra_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_5extra___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_5extra___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7624, 0, __PYX_ERR(0, 7624, __pyx_L1_error));

  /* "cuda/cudart.pyx":7625
 *     @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_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).extra)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7624
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property
 *     def extra(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.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/cudart.pyx":7627
 *         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_6cudart_20cudaKernelNodeParams_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra); /*proto*/
static int __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_extra;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7627, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.extra.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_5extra_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), ((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_extra));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_5extra_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v_extra) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7627, 0, __PYX_ERR(0, 7627, __pyx_L1_error));

  /* "cuda/cudart.pyx":7628
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalSemaphoreSignalNodeParams:
 */
  (__pyx_v_self->_ptr[0]).extra = ((void **)__pyx_v_extra);

  /* "cuda/cudart.pyx":7627
 *         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.cudart.cudaKernelNodeParams.extra.__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_6cudart_20cudaKernelNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_10__reduce_cython__[] = "cudaKernelNodeParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaKernelNodeParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__312)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__313, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.__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_6cudart_20cudaKernelNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_12__setstate_cython__[] = "cudaKernelNodeParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaKernelNodeParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaKernelNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__315, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeParams.__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/cudart.pyx":7650
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7650, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7650, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7650, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7650, 0, __PYX_ERR(0, 7650, __pyx_L1_error));

  /* "cuda/cudart.pyx":7651
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7652
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":7651
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7654
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreSignalNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7650
 * 
 *     """
 *     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.cudart.cudaExternalSemaphoreSignalNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7655
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7655, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7655, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7655, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7655, 0, __PYX_ERR(0, 7655, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7657
 *     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_6cudart_37cudaExternalSemaphoreSignalNodeParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 7657, 0, __PYX_ERR(0, 7657, __pyx_L1_error));

  /* "cuda/cudart.pyx":7658
 *         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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7659
 *     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/cudart.pyx":7658
 *         pass
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":7660
 *         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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7661
 *             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/cudart.pyx":7660
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cudart.pyx":7657
 *     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.cudart.cudaExternalSemaphoreSignalNodeParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":7662
 *         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_6cudart_37cudaExternalSemaphoreSignalNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_6getPtr[] = "cudaExternalSemaphoreSignalNodeParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__316)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7662, 0, __PYX_ERR(0, 7662, __pyx_L1_error));

  /* "cuda/cudart.pyx":7663
 *             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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7662
 *         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.cudart.cudaExternalSemaphoreSignalNodeParams.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/cudart.pyx":7664
 *     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_6cudart_37cudaExternalSemaphoreSignalNodeParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7664, 0, __PYX_ERR(0, 7664, __pyx_L1_error));

  /* "cuda/cudart.pyx":7665
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7666
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7667
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extSemArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7668
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_paramsArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_paramsArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7669
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_numExtSems, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7670
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7665
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 */
  }

  /* "cuda/cudart.pyx":7672
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7664
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.__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/cudart.pyx":7675
 * 
 *     @property
 *     def extSemArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr40__pyx_v_x;
  PyObject *__pyx_9genexpr41__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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7675, 0, __PYX_ERR(0, 7675, __pyx_L1_error));

  /* "cuda/cudart.pyx":7676
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]             # <<<<<<<<<<<<<<
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7676, __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_9genexpr40__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).extSemArray) + (__pyx_9genexpr40__pyx_v_x * (sizeof(cudaExternalSemaphore_t))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7676, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7676, __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/cudart.pyx":7677
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7677, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
    for (;;) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) 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(0, 7677, __pyx_L7_error)
      #else
      __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7677, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr41__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7677, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr41__pyx_v_arr) < 0) __PYX_ERR(0, 7677, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7677, __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(0, 7677, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_arr); __pyx_9genexpr41__pyx_v_arr = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_arr); __pyx_9genexpr41__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7675
 * 
 *     @property
 *     def extSemArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 */

  /* 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.cudart.cudaExternalSemaphoreSignalNodeParams.extSemArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7679
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
 *     def extSemArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._extSemArray)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__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;
  cudaExternalSemaphore_t *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7679, 0, __PYX_ERR(0, 7679, __pyx_L1_error));

  /* "cuda/cudart.pyx":7680
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7680, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":7681
 *     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/cudart.pyx":7682
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].extSemArray = NULL
 *         else:
 */
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/cudart.pyx":7683
 *             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/cudart.pyx":7680
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7685
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7685, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":7686
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:
 */
      free(__pyx_v_self->_extSemArray);

      /* "cuda/cudart.pyx":7687
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7687, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((cudaExternalSemaphore_t *)calloc(__pyx_t_1, (sizeof(cudaExternalSemaphore_t))));

      /* "cuda/cudart.pyx":7688
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      __pyx_t_2 = ((__pyx_v_self->_extSemArray == NULL) != 0);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cudart.pyx":7689
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))             # <<<<<<<<<<<<<<
 *                 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(0, 7689, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7689, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7689, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7689, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7689, __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(cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7689, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7689, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7689, __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(0, 7689, __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(0, 7689, __pyx_L1_error)

        /* "cuda/cudart.pyx":7688
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cudart.pyx":7690
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 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(0, 7690, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":7691
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 */
      __pyx_t_6 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_ptr[0]).extSemArray = __pyx_t_6;

      /* "cuda/cudart.pyx":7685
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 */
    }

    /* "cuda/cudart.pyx":7692
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 *     @property
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7692, __pyx_L1_error)
    __pyx_t_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/cudart.pyx":7693
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     @property
 *     def paramsArray(self):
 */
      __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(0, 7693, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_5)->_ptr[0]);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7679
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
 *     def extSemArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._extSemArray)
 */

  /* 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.cudart.cudaExternalSemaphoreSignalNodeParams.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7695
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 *     @property
 *     def paramsArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreSignalParams) for x in range(self._paramsArray_length)]
 *         return [cudaExternalSemaphoreSignalParams(_ptr=arr) for arr in arrs]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr42__pyx_v_x;
  PyObject *__pyx_9genexpr43__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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7695, 0, __PYX_ERR(0, 7695, __pyx_L1_error));

  /* "cuda/cudart.pyx":7696
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreSignalParams) for x in range(self._paramsArray_length)]             # <<<<<<<<<<<<<<
 *         return [cudaExternalSemaphoreSignalParams(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7696, __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_9genexpr42__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).paramsArray) + (__pyx_9genexpr42__pyx_v_x * (sizeof(struct cudaExternalSemaphoreSignalParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7696, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7696, __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/cudart.pyx":7697
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreSignalParams) for x in range(self._paramsArray_length)]
 *         return [cudaExternalSemaphoreSignalParams(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7697, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
    for (;;) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) 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(0, 7697, __pyx_L7_error)
      #else
      __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7697, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr43__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7697, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr43__pyx_v_arr) < 0) __PYX_ERR(0, 7697, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7697, __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(0, 7697, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr43__pyx_v_arr); __pyx_9genexpr43__pyx_v_arr = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr43__pyx_v_arr); __pyx_9genexpr43__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7695
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 *     @property
 *     def paramsArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreSignalParams) for x in range(self._paramsArray_length)]
 *         return [cudaExternalSemaphoreSignalParams(_ptr=arr) for arr in arrs]
 */

  /* 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.cudart.cudaExternalSemaphoreSignalNodeParams.paramsArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_9genexpr43__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7699
 *         return [cudaExternalSemaphoreSignalParams(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
 *     def paramsArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._paramsArray)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__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;
  struct cudaExternalSemaphoreSignalParams *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7699, 0, __PYX_ERR(0, 7699, __pyx_L1_error));

  /* "cuda/cudart.pyx":7700
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7700, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":7701
 *     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/cudart.pyx":7702
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramsArray = NULL
 *         else:
 */
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/cudart.pyx":7703
 *             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/cudart.pyx":7700
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7705
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7705, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":7706
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *                 if self._paramsArray is NULL:
 */
      free(__pyx_v_self->_paramsArray);

      /* "cuda/cudart.pyx":7707
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreSignalParams))             # <<<<<<<<<<<<<<
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7707, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((struct cudaExternalSemaphoreSignalParams *)calloc(__pyx_t_1, (sizeof(struct cudaExternalSemaphoreSignalParams))));

      /* "cuda/cudart.pyx":7708
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      __pyx_t_2 = ((__pyx_v_self->_paramsArray == NULL) != 0);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cudart.pyx":7709
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))             # <<<<<<<<<<<<<<
 *                 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(0, 7709, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7709, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7709, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7709, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7709, __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(struct cudaExternalSemaphoreSignalParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7709, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7709, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7709, __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(0, 7709, __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(0, 7709, __pyx_L1_error)

        /* "cuda/cudart.pyx":7708
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cudart.pyx":7710
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *                 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(0, 7710, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":7711
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreSignalParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 */
      __pyx_t_6 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_ptr[0]).paramsArray = __pyx_t_6;

      /* "cuda/cudart.pyx":7705
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 */
    }

    /* "cuda/cudart.pyx":7712
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreSignalParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *     @property
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7712, __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/cudart.pyx":7713
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreSignalParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))             # <<<<<<<<<<<<<<
 *     @property
 *     def numExtSems(self):
 */
      __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(0, 7713, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_t_5)->_ptr, (sizeof(struct cudaExternalSemaphoreSignalParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7699
 *         return [cudaExternalSemaphoreSignalParams(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
 *     def paramsArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._paramsArray)
 */

  /* 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.cudart.cudaExternalSemaphoreSignalNodeParams.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7715
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreSignalParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *     @property
 *     def numExtSems(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7715, 0, __PYX_ERR(0, 7715, __pyx_L1_error));

  /* "cuda/cudart.pyx":7716
 *     @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(0, 7716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7715
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreSignalParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *     @property
 *     def numExtSems(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.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/cudart.pyx":7718
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numExtSems = numExtSems
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems) {
  unsigned int __pyx_v_numExtSems;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7718, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self), ((unsigned int)__pyx_v_numExtSems));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7718, 0, __PYX_ERR(0, 7718, __pyx_L1_error));

  /* "cuda/cudart.pyx":7720
 *     def numExtSems(self, unsigned int numExtSems):
 *         pass
 *         self._ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaExternalSemaphoreWaitNodeParams:
 */
  (__pyx_v_self->_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/cudart.pyx":7718
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numExtSems = numExtSems
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.numExtSems.__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_6cudart_37cudaExternalSemaphoreSignalNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10__reduce_cython__[] = "cudaExternalSemaphoreSignalNodeParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__318, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.__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_6cudart_37cudaExternalSemaphoreSignalNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_12__setstate_cython__[] = "cudaExternalSemaphoreSignalNodeParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__319)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__320, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreSignalNodeParams.__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/cudart.pyx":7742
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7742, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7742, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7742, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams___cinit__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7742, 0, __PYX_ERR(0, 7742, __pyx_L1_error));

  /* "cuda/cudart.pyx":7743
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7744
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":7743
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7746
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaExternalSemaphoreWaitNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7742
 * 
 *     """
 *     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.cudart.cudaExternalSemaphoreWaitNodeParams.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7747
 *         else:
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7747, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7747, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7747, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7747, 0, __PYX_ERR(0, 7747, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7749
 *     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_6cudart_35cudaExternalSemaphoreWaitNodeParams_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 7749, 0, __PYX_ERR(0, 7749, __pyx_L1_error));

  /* "cuda/cudart.pyx":7750
 *         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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7751
 *     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/cudart.pyx":7750
 *         pass
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":7752
 *         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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7753
 *             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/cudart.pyx":7752
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cudart.pyx":7749
 *     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.cudart.cudaExternalSemaphoreWaitNodeParams.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":7754
 *         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_6cudart_35cudaExternalSemaphoreWaitNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_6getPtr[] = "cudaExternalSemaphoreWaitNodeParams.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__321)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7754, 0, __PYX_ERR(0, 7754, __pyx_L1_error));

  /* "cuda/cudart.pyx":7755
 *             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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7754
 *         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.cudart.cudaExternalSemaphoreWaitNodeParams.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/cudart.pyx":7756
 *     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_6cudart_35cudaExternalSemaphoreWaitNodeParams_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7756, 0, __PYX_ERR(0, 7756, __pyx_L1_error));

  /* "cuda/cudart.pyx":7757
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7758
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7759
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extSemArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7760
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_paramsArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_paramsArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7761
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_numExtSems, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7762
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7757
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['extSemArray : ' + str(self.extSemArray)]
 */
  }

  /* "cuda/cudart.pyx":7764
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7756
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.__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/cudart.pyx":7767
 * 
 *     @property
 *     def extSemArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr44__pyx_v_x;
  PyObject *__pyx_9genexpr45__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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7767, 0, __PYX_ERR(0, 7767, __pyx_L1_error));

  /* "cuda/cudart.pyx":7768
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]             # <<<<<<<<<<<<<<
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7768, __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_9genexpr44__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).extSemArray) + (__pyx_9genexpr44__pyx_v_x * (sizeof(cudaExternalSemaphore_t))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7768, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7768, __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/cudart.pyx":7769
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7769, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
    for (;;) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) 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(0, 7769, __pyx_L7_error)
      #else
      __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7769, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr45__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7769, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr45__pyx_v_arr) < 0) __PYX_ERR(0, 7769, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7769, __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(0, 7769, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_arr); __pyx_9genexpr45__pyx_v_arr = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_arr); __pyx_9genexpr45__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7767
 * 
 *     @property
 *     def extSemArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccudart.cudaExternalSemaphore_t) for x in range(self._extSemArray_length)]
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 */

  /* 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.cudart.cudaExternalSemaphoreWaitNodeParams.extSemArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7771
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
 *     def extSemArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._extSemArray)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__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;
  cudaExternalSemaphore_t *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7771, 0, __PYX_ERR(0, 7771, __pyx_L1_error));

  /* "cuda/cudart.pyx":7772
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7772, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":7773
 *     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/cudart.pyx":7774
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].extSemArray = NULL
 *         else:
 */
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/cudart.pyx":7775
 *             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/cudart.pyx":7772
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7777
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7777, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":7778
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:
 */
      free(__pyx_v_self->_extSemArray);

      /* "cuda/cudart.pyx":7779
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7779, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((cudaExternalSemaphore_t *)calloc(__pyx_t_1, (sizeof(cudaExternalSemaphore_t))));

      /* "cuda/cudart.pyx":7780
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      __pyx_t_2 = ((__pyx_v_self->_extSemArray == NULL) != 0);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cudart.pyx":7781
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))             # <<<<<<<<<<<<<<
 *                 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(0, 7781, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7781, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7781, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7781, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7781, __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(cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7781, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7781, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7781, __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(0, 7781, __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(0, 7781, __pyx_L1_error)

        /* "cuda/cudart.pyx":7780
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cudart.pyx":7782
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 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(0, 7782, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":7783
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 */
      __pyx_t_6 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_ptr[0]).extSemArray = __pyx_t_6;

      /* "cuda/cudart.pyx":7777
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphore_t))
 */
    }

    /* "cuda/cudart.pyx":7784
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 *     @property
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7784, __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/cudart.pyx":7785
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     @property
 *     def paramsArray(self):
 */
      __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(0, 7785, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_5)->_ptr[0]);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7771
 *         return [cudaExternalSemaphore_t(_ptr=arr) for arr in arrs]
 *     @extSemArray.setter
 *     def extSemArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._extSemArray)
 */

  /* 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.cudart.cudaExternalSemaphoreWaitNodeParams.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7787
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 *     @property
 *     def paramsArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreWaitParams) for x in range(self._paramsArray_length)]
 *         return [cudaExternalSemaphoreWaitParams(_ptr=arr) for arr in arrs]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr46__pyx_v_x;
  PyObject *__pyx_9genexpr47__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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7787, 0, __PYX_ERR(0, 7787, __pyx_L1_error));

  /* "cuda/cudart.pyx":7788
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreWaitParams) for x in range(self._paramsArray_length)]             # <<<<<<<<<<<<<<
 *         return [cudaExternalSemaphoreWaitParams(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7788, __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_9genexpr46__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_self->_ptr[0]).paramsArray) + (__pyx_9genexpr46__pyx_v_x * (sizeof(struct cudaExternalSemaphoreWaitParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7788, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 7788, __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/cudart.pyx":7789
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreWaitParams) for x in range(self._paramsArray_length)]
 *         return [cudaExternalSemaphoreWaitParams(_ptr=arr) for arr in arrs]             # <<<<<<<<<<<<<<
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7789, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
    for (;;) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) 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(0, 7789, __pyx_L7_error)
      #else
      __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7789, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr47__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7789, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr47__pyx_v_arr) < 0) __PYX_ERR(0, 7789, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 7789, __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(0, 7789, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr47__pyx_v_arr); __pyx_9genexpr47__pyx_v_arr = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr47__pyx_v_arr); __pyx_9genexpr47__pyx_v_arr = 0;
    goto __pyx_L1_error;
    __pyx_L10_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7787
 *                 self._extSemArray[idx] = (<cudaExternalSemaphore_t>val[idx])._ptr[0]
 *     @property
 *     def paramsArray(self):             # <<<<<<<<<<<<<<
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccudart.cudaExternalSemaphoreWaitParams) for x in range(self._paramsArray_length)]
 *         return [cudaExternalSemaphoreWaitParams(_ptr=arr) for arr in arrs]
 */

  /* 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.cudart.cudaExternalSemaphoreWaitNodeParams.paramsArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_9genexpr47__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7791
 *         return [cudaExternalSemaphoreWaitParams(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
 *     def paramsArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._paramsArray)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__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;
  struct cudaExternalSemaphoreWaitParams *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7791, 0, __PYX_ERR(0, 7791, __pyx_L1_error));

  /* "cuda/cudart.pyx":7792
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7792, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":7793
 *     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/cudart.pyx":7794
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramsArray = NULL
 *         else:
 */
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/cudart.pyx":7795
 *             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/cudart.pyx":7792
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7797
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7797, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":7798
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *                 if self._paramsArray is NULL:
 */
      free(__pyx_v_self->_paramsArray);

      /* "cuda/cudart.pyx":7799
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreWaitParams))             # <<<<<<<<<<<<<<
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7799, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((struct cudaExternalSemaphoreWaitParams *)calloc(__pyx_t_1, (sizeof(struct cudaExternalSemaphoreWaitParams))));

      /* "cuda/cudart.pyx":7800
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      __pyx_t_2 = ((__pyx_v_self->_paramsArray == NULL) != 0);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cudart.pyx":7801
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))             # <<<<<<<<<<<<<<
 *                 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(0, 7801, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7801, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7801, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7801, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7801, __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(struct cudaExternalSemaphoreWaitParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7801, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7801, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7801, __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(0, 7801, __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(0, 7801, __pyx_L1_error)

        /* "cuda/cudart.pyx":7800
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *                 if self._paramsArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cudart.pyx":7802
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *                 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(0, 7802, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":7803
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreWaitParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 */
      __pyx_t_6 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_ptr[0]).paramsArray = __pyx_t_6;

      /* "cuda/cudart.pyx":7797
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(val), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 */
    }

    /* "cuda/cudart.pyx":7804
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreWaitParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *     @property
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7804, __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/cudart.pyx":7805
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreWaitParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))             # <<<<<<<<<<<<<<
 *     @property
 *     def numExtSems(self):
 */
      __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(0, 7805, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_t_5)->_ptr, (sizeof(struct cudaExternalSemaphoreWaitParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7791
 *         return [cudaExternalSemaphoreWaitParams(_ptr=arr) for arr in arrs]
 *     @paramsArray.setter
 *     def paramsArray(self, val):             # <<<<<<<<<<<<<<
 *         if len(val) == 0:
 *             free(self._paramsArray)
 */

  /* 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.cudart.cudaExternalSemaphoreWaitNodeParams.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7807
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreWaitParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *     @property
 *     def numExtSems(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems___get__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems___get__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7807, 0, __PYX_ERR(0, 7807, __pyx_L1_error));

  /* "cuda/cudart.pyx":7808
 *     @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(0, 7808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7807
 *                 memcpy(&self._paramsArray[idx], (<cudaExternalSemaphoreWaitParams>val[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *     @property
 *     def numExtSems(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.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/cudart.pyx":7810
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numExtSems = numExtSems
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems) {
  unsigned int __pyx_v_numExtSems;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7810, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self), ((unsigned int)__pyx_v_numExtSems));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_2__set__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7810, 0, __PYX_ERR(0, 7810, __pyx_L1_error));

  /* "cuda/cudart.pyx":7812
 *     def numExtSems(self, unsigned int numExtSems):
 *         pass
 *         self._ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s:
 */
  (__pyx_v_self->_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/cudart.pyx":7810
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numExtSems = numExtSems
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.numExtSems.__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_6cudart_35cudaExternalSemaphoreWaitNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10__reduce_cython__[] = "cudaExternalSemaphoreWaitNodeParams.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self) {
  PyObject *__pyx_r = 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__322)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__323, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.__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_6cudart_35cudaExternalSemaphoreWaitNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_12__setstate_cython__[] = "cudaExternalSemaphoreWaitNodeParams.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__324)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__325, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalSemaphoreWaitNodeParams.__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/cudart.pyx":7832
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7832, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7832, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7832, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7832, 0, __PYX_ERR(0, 7832, __pyx_L1_error));

  /* "cuda/cudart.pyx":7833
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((union cudaLaunchAttributeValue *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7832
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7834
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7834, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7834, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7834, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7834, 0, __PYX_ERR(0, 7834, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7836
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_4getPtr[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7836, 0, __PYX_ERR(0, 7836, __pyx_L1_error));

  /* "cuda/cudart.pyx":7837
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7836
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.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/cudart.pyx":7838
 *     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_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7838, 0, __PYX_ERR(0, 7838, __pyx_L1_error));

  /* "cuda/cudart.pyx":7839
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7840
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7841
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]             # <<<<<<<<<<<<<<
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_x_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_x, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7842
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]             # <<<<<<<<<<<<<<
 *             str_list += ['z : ' + str(self.z)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_y_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_y, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7843
 *             str_list += ['x : ' + str(self.x)]
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_z, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7844
 *             str_list += ['y : ' + str(self.y)]
 *             str_list += ['z : ' + str(self.z)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7839
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['x : ' + str(self.x)]
 */
  }

  /* "cuda/cudart.pyx":7846
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7838
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__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/cudart.pyx":7849
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clusterDim.x
 *     @x.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x___get__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7849, 0, __PYX_ERR(0, 7849, __pyx_L1_error));

  /* "cuda/cudart.pyx":7850
 *     @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(0, 7850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7849
 * 
 *     @property
 *     def x(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clusterDim.x
 *     @x.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.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/cudart.pyx":7852
 *         return self._ptr[0].clusterDim.x
 *     @x.setter
 *     def x(self, unsigned int x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clusterDim.x = x
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x) {
  unsigned int __pyx_v_x;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7852, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self), ((unsigned int)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, unsigned int __pyx_v_x) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7852, 0, __PYX_ERR(0, 7852, __pyx_L1_error));

  /* "cuda/cudart.pyx":7854
 *     def x(self, unsigned int x):
 *         pass
 *         self._ptr[0].clusterDim.x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
 */
  (__pyx_v_self->_ptr[0]).clusterDim.x = __pyx_v_x;

  /* "cuda/cudart.pyx":7852
 *         return self._ptr[0].clusterDim.x
 *     @x.setter
 *     def x(self, unsigned int x):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clusterDim.x = x
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7856
 *         self._ptr[0].clusterDim.x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clusterDim.y
 *     @y.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y___get__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7856, 0, __PYX_ERR(0, 7856, __pyx_L1_error));

  /* "cuda/cudart.pyx":7857
 *     @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(0, 7857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7856
 *         self._ptr[0].clusterDim.x = x
 *     @property
 *     def y(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clusterDim.y
 *     @y.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.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/cudart.pyx":7859
 *         return self._ptr[0].clusterDim.y
 *     @y.setter
 *     def y(self, unsigned int y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clusterDim.y = y
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y) {
  unsigned int __pyx_v_y;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7859, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self), ((unsigned int)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, unsigned int __pyx_v_y) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7859, 0, __PYX_ERR(0, 7859, __pyx_L1_error));

  /* "cuda/cudart.pyx":7861
 *     def y(self, unsigned int y):
 *         pass
 *         self._ptr[0].clusterDim.y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
 */
  (__pyx_v_self->_ptr[0]).clusterDim.y = __pyx_v_y;

  /* "cuda/cudart.pyx":7859
 *         return self._ptr[0].clusterDim.y
 *     @y.setter
 *     def y(self, unsigned int y):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clusterDim.y = y
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7863
 *         self._ptr[0].clusterDim.y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clusterDim.z
 *     @z.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z___get__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7863, 0, __PYX_ERR(0, 7863, __pyx_L1_error));

  /* "cuda/cudart.pyx":7864
 *     @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(0, 7864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7863
 *         self._ptr[0].clusterDim.y = y
 *     @property
 *     def z(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].clusterDim.z
 *     @z.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.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/cudart.pyx":7866
 *         return self._ptr[0].clusterDim.z
 *     @z.setter
 *     def z(self, unsigned int z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clusterDim.z = z
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z) {
  unsigned int __pyx_v_z;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7866, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self), ((unsigned int)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, unsigned int __pyx_v_z) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7866, 0, __PYX_ERR(0, 7866, __pyx_L1_error));

  /* "cuda/cudart.pyx":7868
 *     def z(self, unsigned int z):
 *         pass
 *         self._ptr[0].clusterDim.z = z             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s:
 */
  (__pyx_v_self->_ptr[0]).clusterDim.z = __pyx_v_z;

  /* "cuda/cudart.pyx":7866
 *         return self._ptr[0].clusterDim.z
 *     @z.setter
 *     def z(self, unsigned int z):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].clusterDim.z = z
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.z.__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_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_8__reduce_cython__[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__327)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__328, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__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_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_10__setstate_cython__[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__330, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.__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/cudart.pyx":7888
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7888, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7888, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7888, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s___cinit__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7888, 0, __PYX_ERR(0, 7888, __pyx_L1_error));

  /* "cuda/cudart.pyx":7889
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 */
  __pyx_v_self->_ptr = ((union cudaLaunchAttributeValue *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":7888
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7890
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7890, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 7890, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7890, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_2__init__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7890, 0, __PYX_ERR(0, 7890, __pyx_L1_error));

  /* "cuda/cudart.pyx":7891
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).programmaticEvent.event))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_event);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_event));
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7890
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def getPtr(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.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7892
 *     def __init__(self, void_ptr _ptr):
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_4getPtr[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self) {
  PyObject *__pyx_r = 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__331)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7892, 0, __PYX_ERR(0, 7892, __pyx_L1_error));

  /* "cuda/cudart.pyx":7893
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7892
 *     def __init__(self, void_ptr _ptr):
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     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.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.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/cudart.pyx":7894
 *     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_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7894, 0, __PYX_ERR(0, 7894, __pyx_L1_error));

  /* "cuda/cudart.pyx":7895
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['event : ' + str(self.event)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7896
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['event : ' + str(self.event)]
 *             str_list += ['flags : ' + str(self.flags)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7897
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['event : ' + str(self.event)]             # <<<<<<<<<<<<<<
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_event, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7898
 *             str_list = []
 *             str_list += ['event : ' + str(self.event)]
 *             str_list += ['flags : ' + str(self.flags)]             # <<<<<<<<<<<<<<
 *             str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flags, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7899
 *             str_list += ['event : ' + str(self.event)]
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_triggerAtBlockStart_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_triggerAtBlockStart, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7900
 *             str_list += ['flags : ' + str(self.flags)]
 *             str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7895
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['event : ' + str(self.event)]
 */
  }

  /* "cuda/cudart.pyx":7902
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7894
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__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/cudart.pyx":7905
 * 
 *     @property
 *     def event(self):             # <<<<<<<<<<<<<<
 *         return self._event
 *     @event.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event___get__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7905, 0, __PYX_ERR(0, 7905, __pyx_L1_error));

  /* "cuda/cudart.pyx":7906
 *     @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/cudart.pyx":7905
 * 
 *     @property
 *     def event(self):             # <<<<<<<<<<<<<<
 *         return self._event
 *     @event.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.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/cudart.pyx":7908
 *         return self._event
 *     @event.setter
 *     def event(self, event):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaEvent_t cevent
 *         if event is None:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self), ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7908, 0, __PYX_ERR(0, 7908, __pyx_L1_error));

  /* "cuda/cudart.pyx":7910
 *     def event(self, event):
 *         cdef ccudart.cudaEvent_t cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccudart.cudaEvent_t><void_ptr>0
 *         elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":7911
 *         cdef ccudart.cudaEvent_t cevent
 *         if event is None:
 *             cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *             pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":7910
 *     def event(self, event):
 *         cdef ccudart.cudaEvent_t cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccudart.cudaEvent_t><void_ptr>0
 *         elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7912
 *         if event is None:
 *             cevent = <ccudart.cudaEvent_t><void_ptr>0
 *         elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7913
 *             cevent = <ccudart.cudaEvent_t><void_ptr>0
 *         elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *         else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":7914
 *         elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *             pevent = int(event)
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7914, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":7912
 *         if event is None:
 *             cevent = <ccudart.cudaEvent_t><void_ptr>0
 *         elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7916
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *         else:
 *             pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":7917
 *         else:
 *             pevent = int(cudaEvent_t(event))
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._ptr[0] = cevent
 *     @property
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 7917, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7918
 *             pevent = int(cudaEvent_t(event))
 *             cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *         self._event._ptr[0] = cevent             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_event->__pyx_base._ptr[0]) = __pyx_v_cevent;

  /* "cuda/cudart.pyx":7908
 *         return self._event
 *     @event.setter
 *     def event(self, event):             # <<<<<<<<<<<<<<
 *         cdef ccudart.cudaEvent_t cevent
 *         if event is None:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.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/cudart.pyx":7920
 *         self._event._ptr[0] = cevent
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].programmaticEvent.flags
 *     @flags.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags___get__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7920, 0, __PYX_ERR(0, 7920, __pyx_L1_error));

  /* "cuda/cudart.pyx":7921
 *     @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(0, 7921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7920
 *         self._event._ptr[0] = cevent
 *     @property
 *     def flags(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].programmaticEvent.flags
 *     @flags.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.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/cudart.pyx":7923
 *         return self._ptr[0].programmaticEvent.flags
 *     @flags.setter
 *     def flags(self, int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].programmaticEvent.flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7923, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7923, 0, __PYX_ERR(0, 7923, __pyx_L1_error));

  /* "cuda/cudart.pyx":7925
 *     def flags(self, int flags):
 *         pass
 *         self._ptr[0].programmaticEvent.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def triggerAtBlockStart(self):
 */
  (__pyx_v_self->_ptr[0]).programmaticEvent.flags = __pyx_v_flags;

  /* "cuda/cudart.pyx":7923
 *         return self._ptr[0].programmaticEvent.flags
 *     @flags.setter
 *     def flags(self, int flags):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].programmaticEvent.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7927
 *         self._ptr[0].programmaticEvent.flags = flags
 *     @property
 *     def triggerAtBlockStart(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart___get__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart___get__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7927, 0, __PYX_ERR(0, 7927, __pyx_L1_error));

  /* "cuda/cudart.pyx":7928
 *     @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(0, 7928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7927
 *         self._ptr[0].programmaticEvent.flags = flags
 *     @property
 *     def triggerAtBlockStart(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.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/cudart.pyx":7930
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_triggerAtBlockStart); /*proto*/
static int __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_triggerAtBlockStart) {
  int __pyx_v_triggerAtBlockStart;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 7930, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.triggerAtBlockStart.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self), ((int)__pyx_v_triggerAtBlockStart));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_2__set__(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, int __pyx_v_triggerAtBlockStart) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7930, 0, __PYX_ERR(0, 7930, __pyx_L1_error));

  /* "cuda/cudart.pyx":7932
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 *         pass
 *         self._ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaLaunchAttributeValue:
 */
  (__pyx_v_self->_ptr[0]).programmaticEvent.triggerAtBlockStart = __pyx_v_triggerAtBlockStart;

  /* "cuda/cudart.pyx":7930
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.triggerAtBlockStart.__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_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_8__reduce_cython__[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__333, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__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_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_10__setstate_cython__[] = "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__334)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__335, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.__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/cudart.pyx":7966
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7966, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7966, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7966, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue___cinit__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 7966, 0, __PYX_ERR(0, 7966, __pyx_L1_error));

  /* "cuda/cudart.pyx":7967
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7968
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":7967
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":7970
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((union cudaLaunchAttributeValue *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":7966
 * 
 *     """
 *     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.cudart.cudaLaunchAttributeValue.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7971
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 7971, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 7971, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7971, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_2__init__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 7971, 0, __PYX_ERR(0, 7971, __pyx_L1_error));

  /* "cuda/cudart.pyx":7972
 *             self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)             # <<<<<<<<<<<<<<
 *         self._clusterDim = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(_ptr=<void_ptr>self._ptr)
 *         self._programmaticEvent = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).accessPolicyWindow))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_accessPolicyWindow);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_accessPolicyWindow));
  __pyx_v_self->_accessPolicyWindow = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7973
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._programmaticEvent = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(0, 7973, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_clusterDim);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_clusterDim));
  __pyx_v_self->_clusterDim = ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7974
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(_ptr=<void_ptr>self._ptr)
 *         self._programmaticEvent = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 7974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_programmaticEvent);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_programmaticEvent));
  __pyx_v_self->_programmaticEvent = ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7971
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttributeValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(_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.cudart.cudaLaunchAttributeValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7975
 *         self._clusterDim = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(_ptr=<void_ptr>self._ptr)
 *         self._programmaticEvent = _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 7975, 0, __PYX_ERR(0, 7975, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaLaunchAttributeValue.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":7977
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_6getPtr[] = "cudaLaunchAttributeValue.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_24cudaLaunchAttributeValue_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  PyObject *__pyx_r = 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__336)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 7977, 0, __PYX_ERR(0, 7977, __pyx_L1_error));

  /* "cuda/cudart.pyx":7978
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7977
 *     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.cudart.cudaLaunchAttributeValue.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/cudart.pyx":7979
 *     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_6cudart_24cudaLaunchAttributeValue_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr48__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr49__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr50__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 7979, 0, __PYX_ERR(0, 7979, __pyx_L1_error));

  /* "cuda/cudart.pyx":7980
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['pad : ' + str(self.pad)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":7981
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['pad : ' + str(self.pad)]
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7982
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['pad : ' + str(self.pad)]             # <<<<<<<<<<<<<<
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['cooperative : ' + str(self.cooperative)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pad_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pad, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7983
 *             str_list = []
 *             str_list += ['pad : ' + str(self.pad)]
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['cooperative : ' + str(self.cooperative)]
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7983, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accessPolicyWindow_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7983, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7983, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7983, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7983, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7983, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr48__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr48__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7983, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7983, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr48__pyx_v_line); __pyx_9genexpr48__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr48__pyx_v_line); __pyx_9genexpr48__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_accessPolicyWindow, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7984
 *             str_list += ['pad : ' + str(self.pad)]
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['cooperative : ' + str(self.cooperative)]             # <<<<<<<<<<<<<<
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cooperative_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cooperative, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7985
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['cooperative : ' + str(self.cooperative)]
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]             # <<<<<<<<<<<<<<
 *             str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_syncPolicy_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_syncPolicy, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7986
 *             str_list += ['cooperative : ' + str(self.cooperative)]
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7986, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clusterDim_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7986, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7986, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7986, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7986, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7986, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr49__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr49__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7986, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 7986, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr49__pyx_v_line); __pyx_9genexpr49__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr49__pyx_v_line); __pyx_9genexpr49__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_clusterDim, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7987
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]             # <<<<<<<<<<<<<<
 *             str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clusterSchedulingPolicyPreferenc_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_clusterSchedulingPolicyPreferenc, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7988
 *             str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]             # <<<<<<<<<<<<<<
 *             str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             str_list += ['priority : ' + str(self.priority)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_programmaticStreamSerializationA_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_programmaticStreamSerializationA, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7989
 *             str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['priority : ' + str(self.priority)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7989, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_programmaticEvent_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7989, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7989, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7989, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 7989, __pyx_L18_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7989, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr50__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr50__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7989, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 7989, __pyx_L18_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr50__pyx_v_line); __pyx_9genexpr50__pyx_v_line = 0;
      goto __pyx_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_9genexpr50__pyx_v_line); __pyx_9genexpr50__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_programmaticEvent, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7990
 *             str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             str_list += ['priority : ' + str(self.priority)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_priority_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_priority, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":7991
 *             str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             str_list += ['priority : ' + str(self.priority)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":7980
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['pad : ' + str(self.pad)]
 */
  }

  /* "cuda/cudart.pyx":7993
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def pad(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":7979
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr48__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr49__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr50__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7995
 *             return ''
 *     @property
 *     def pad(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)
 *     @pad.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_3pad___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_3pad___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 7995, 0, __PYX_ERR(0, 7995, __pyx_L1_error));

  /* "cuda/cudart.pyx":7996
 *     @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(0, 7996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":7995
 *             return ''
 *     @property
 *     def pad(self):             # <<<<<<<<<<<<<<
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)
 *     @pad.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.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/cudart.pyx":7998
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)
 *     @pad.setter
 *     def pad(self, pad):             # <<<<<<<<<<<<<<
 *         if len(pad) != 64:
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((PyObject *)__pyx_v_pad));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__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__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 7998, 0, __PYX_ERR(0, 7998, __pyx_L1_error));

  /* "cuda/cudart.pyx":7999
 *     @pad.setter
 *     def pad(self, pad):
 *         if len(pad) != 64:             # <<<<<<<<<<<<<<
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 *         if CHAR_MIN == 0:
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_pad); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 7999, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8000
 *     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(0, 8000, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pad_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8000, __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(0, 8000, __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(0, 8000, __pyx_L1_error)

    /* "cuda/cudart.pyx":7999
 *     @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/cudart.pyx":8001
 *         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) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":8002
 *             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(0, 8002, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8002, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 8002, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8002, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 8002, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8002, __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(0, 8002, __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(0, 8002, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8003
 *         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(0, 8003, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 8003, __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(0, 8003, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 8003, __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/cudart.pyx":8004
 *             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(0, 8004, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":8003
 *         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/cudart.pyx":8005
 *                 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(0, 8005, __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(0, 8005, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).pad[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":8002
 *             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/cudart.pyx":8001
 *         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/cudart.pyx":8007
 *                 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(0, 8007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8007, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_3)) 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(0, 8007, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8007, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_3)) 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(0, 8007, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8007, __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(0, 8007, __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(0, 8007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8008
 *         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(0, 8008, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 8008, __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_L13_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(0, 8008, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 8008, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L13_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cudart.pyx":8009
 *             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(0, 8009, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cudart.pyx":8008
 *         else:
 *             for i, b in enumerate(pad):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].pad[i] = b
 */
      }

      /* "cuda/cudart.pyx":8010
 *                 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(0, 8010, __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(0, 8010, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).pad[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cudart.pyx":8007
 *                 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/cudart.pyx":7998
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)
 *     @pad.setter
 *     def pad(self, pad):             # <<<<<<<<<<<<<<
 *         if len(pad) != 64:
 *             raise ValueError("pad length must be 64, is " + str(len(pad)))
 */

  /* 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.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8012
 *                 self._ptr[0].pad[i] = b
 *     @property
 *     def accessPolicyWindow(self):             # <<<<<<<<<<<<<<
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8012, 0, __PYX_ERR(0, 8012, __pyx_L1_error));

  /* "cuda/cudart.pyx":8013
 *     @property
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow             # <<<<<<<<<<<<<<
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_accessPolicyWindow));
  __pyx_r = ((PyObject *)__pyx_v_self->_accessPolicyWindow);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8012
 *                 self._ptr[0].pad[i] = b
 *     @property
 *     def accessPolicyWindow(self):             # <<<<<<<<<<<<<<
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8015
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):             # <<<<<<<<<<<<<<
 *         for _attr in dir(accessPolicyWindow):
 *             if _attr == 'getPtr':
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_accessPolicyWindow); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_accessPolicyWindow) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_accessPolicyWindow), __pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow, 0, "accessPolicyWindow", 0))) __PYX_ERR(0, 8015, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)__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_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_accessPolicyWindow) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8015, 0, __PYX_ERR(0, 8015, __pyx_L1_error));

  /* "cuda/cudart.pyx":8016
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         for _attr in dir(accessPolicyWindow):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_accessPolicyWindow)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8016, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8016, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8016, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8016, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8016, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 8016, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":8017
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         for _attr in dir(accessPolicyWindow):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8017, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":8018
 *         for _attr in dir(accessPolicyWindow):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":8017
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         for _attr in dir(accessPolicyWindow):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":8019
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8019, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":8020
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def cooperative(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_accessPolicyWindow);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_accessPolicyWindow), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8020, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 8020, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8019
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":8016
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         for _attr in dir(accessPolicyWindow):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8015
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):             # <<<<<<<<<<<<<<
 *         for _attr in dir(accessPolicyWindow):
 *             if _attr == 'getPtr':
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.accessPolicyWindow.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8022
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @property
 *     def cooperative(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cooperative
 *     @cooperative.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8022, 0, __PYX_ERR(0, 8022, __pyx_L1_error));

  /* "cuda/cudart.pyx":8023
 *     @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(0, 8023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8022
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @property
 *     def cooperative(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].cooperative
 *     @cooperative.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8025
 *         return self._ptr[0].cooperative
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):             # <<<<<<<<<<<<<<
 *         self._ptr[0].cooperative = cooperative
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperative); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperative) {
  int __pyx_v_cooperative;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8025, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.cooperative.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((int)__pyx_v_cooperative));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, int __pyx_v_cooperative) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8025, 0, __PYX_ERR(0, 8025, __pyx_L1_error));

  /* "cuda/cudart.pyx":8026
 *     @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/cudart.pyx":8025
 *         return self._ptr[0].cooperative
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):             # <<<<<<<<<<<<<<
 *         self._ptr[0].cooperative = cooperative
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.cooperative.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8028
 *         self._ptr[0].cooperative = cooperative
 *     @property
 *     def syncPolicy(self):             # <<<<<<<<<<<<<<
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8028, 0, __PYX_ERR(0, 8028, __pyx_L1_error));

  /* "cuda/cudart.pyx":8029
 *     @property
 *     def syncPolicy(self):
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)             # <<<<<<<<<<<<<<
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : cudaSynchronizationPolicy):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaSynchronizationPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaSynchronizationPolicy((__pyx_v_self->_ptr[0]).syncPolicy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8029, __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/cudart.pyx":8028
 *         self._ptr[0].cooperative = cooperative
 *     @property
 *     def syncPolicy(self):             # <<<<<<<<<<<<<<
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter
 */

  /* 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.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8031
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : cudaSynchronizationPolicy):             # <<<<<<<<<<<<<<
 *         self._ptr[0].syncPolicy = syncPolicy.value
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_syncPolicy) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_syncPolicy) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "syncPolicy"); __PYX_ERR(0, 8031, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__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_6cudart_24cudaLaunchAttributeValue_10syncPolicy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, PyObject *__pyx_v_syncPolicy) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaSynchronizationPolicy __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8031, 0, __PYX_ERR(0, 8031, __pyx_L1_error));

  /* "cuda/cudart.pyx":8032
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : cudaSynchronizationPolicy):
 *         self._ptr[0].syncPolicy = syncPolicy.value             # <<<<<<<<<<<<<<
 *     @property
 *     def clusterDim(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_syncPolicy, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaSynchronizationPolicy)__Pyx_PyInt_As_enum__cudaSynchronizationPolicy(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).syncPolicy = __pyx_t_2;

  /* "cuda/cudart.pyx":8031
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : cudaSynchronizationPolicy):             # <<<<<<<<<<<<<<
 *         self._ptr[0].syncPolicy = syncPolicy.value
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.syncPolicy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8034
 *         self._ptr[0].syncPolicy = syncPolicy.value
 *     @property
 *     def clusterDim(self):             # <<<<<<<<<<<<<<
 *         return self._clusterDim
 *     @clusterDim.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8034, 0, __PYX_ERR(0, 8034, __pyx_L1_error));

  /* "cuda/cudart.pyx":8035
 *     @property
 *     def clusterDim(self):
 *         return self._clusterDim             # <<<<<<<<<<<<<<
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_clusterDim));
  __pyx_r = ((PyObject *)__pyx_v_self->_clusterDim);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8034
 *         self._ptr[0].syncPolicy = syncPolicy.value
 *     @property
 *     def clusterDim(self):             # <<<<<<<<<<<<<<
 *         return self._clusterDim
 *     @clusterDim.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8037
 *         return self._clusterDim
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s):             # <<<<<<<<<<<<<<
 *         for _attr in dir(clusterDim):
 *             if _attr == 'getPtr':
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterDim); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterDim) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_clusterDim), __pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s, 0, "clusterDim", 0))) __PYX_ERR(0, 8037, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)__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_6cudart_24cudaLaunchAttributeValue_10clusterDim_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *__pyx_v_clusterDim) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8037, 0, __PYX_ERR(0, 8037, __pyx_L1_error));

  /* "cuda/cudart.pyx":8038
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s):
 *         for _attr in dir(clusterDim):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_clusterDim)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8038, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8038, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8038, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8038, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8038, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 8038, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":8039
 *     def clusterDim(self, clusterDim not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s):
 *         for _attr in dir(clusterDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8039, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":8040
 *         for _attr in dir(clusterDim):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._clusterDim, _attr, getattr(clusterDim, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":8039
 *     def clusterDim(self, clusterDim not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s):
 *         for _attr in dir(clusterDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":8041
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._clusterDim, _attr, getattr(clusterDim, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8041, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":8042
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._clusterDim, _attr, getattr(clusterDim, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def clusterSchedulingPolicyPreference(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_clusterDim);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_clusterDim), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8042, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 8042, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8041
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._clusterDim, _attr, getattr(clusterDim, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":8038
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s):
 *         for _attr in dir(clusterDim):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8037
 *         return self._clusterDim
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s):             # <<<<<<<<<<<<<<
 *         for _attr in dir(clusterDim):
 *             if _attr == 'getPtr':
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.clusterDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8044
 *                 setattr(self._clusterDim, _attr, getattr(clusterDim, _attr))
 *     @property
 *     def clusterSchedulingPolicyPreference(self):             # <<<<<<<<<<<<<<
 *         return cudaClusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 *     @clusterSchedulingPolicyPreference.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8044, 0, __PYX_ERR(0, 8044, __pyx_L1_error));

  /* "cuda/cudart.pyx":8045
 *     @property
 *     def clusterSchedulingPolicyPreference(self):
 *         return cudaClusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)             # <<<<<<<<<<<<<<
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : cudaClusterSchedulingPolicy):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaClusterSchedulingPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaClusterSchedulingPolicy((__pyx_v_self->_ptr[0]).clusterSchedulingPolicyPreference); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8045, __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/cudart.pyx":8044
 *                 setattr(self._clusterDim, _attr, getattr(clusterDim, _attr))
 *     @property
 *     def clusterSchedulingPolicyPreference(self):             # <<<<<<<<<<<<<<
 *         return cudaClusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 *     @clusterSchedulingPolicyPreference.setter
 */

  /* 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.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8047
 *         return cudaClusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : cudaClusterSchedulingPolicy):             # <<<<<<<<<<<<<<
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_clusterSchedulingPolicyPreference) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "clusterSchedulingPolicyPreference"); __PYX_ERR(0, 8047, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__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_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaClusterSchedulingPolicy __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8047, 0, __PYX_ERR(0, 8047, __pyx_L1_error));

  /* "cuda/cudart.pyx":8048
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : cudaClusterSchedulingPolicy):
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value             # <<<<<<<<<<<<<<
 *     @property
 *     def programmaticStreamSerializationAllowed(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clusterSchedulingPolicyPreference, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaClusterSchedulingPolicy)__Pyx_PyInt_As_enum__cudaClusterSchedulingPolicy(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8048, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).clusterSchedulingPolicyPreference = __pyx_t_2;

  /* "cuda/cudart.pyx":8047
 *         return cudaClusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : cudaClusterSchedulingPolicy):             # <<<<<<<<<<<<<<
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.clusterSchedulingPolicyPreference.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8050
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property
 *     def programmaticStreamSerializationAllowed(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8050, 0, __PYX_ERR(0, 8050, __pyx_L1_error));

  /* "cuda/cudart.pyx":8051
 *     @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(0, 8051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8050
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property
 *     def programmaticStreamSerializationAllowed(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8053
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):             # <<<<<<<<<<<<<<
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_programmaticStreamSerializationAllowed); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_programmaticStreamSerializationAllowed) {
  int __pyx_v_programmaticStreamSerializationAllowed;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8053, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.programmaticStreamSerializationAllowed.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((int)__pyx_v_programmaticStreamSerializationAllowed));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, int __pyx_v_programmaticStreamSerializationAllowed) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8053, 0, __PYX_ERR(0, 8053, __pyx_L1_error));

  /* "cuda/cudart.pyx":8054
 *     @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/cudart.pyx":8053
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):             # <<<<<<<<<<<<<<
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.programmaticStreamSerializationAllowed.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8056
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property
 *     def programmaticEvent(self):             # <<<<<<<<<<<<<<
 *         return self._programmaticEvent
 *     @programmaticEvent.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8056, 0, __PYX_ERR(0, 8056, __pyx_L1_error));

  /* "cuda/cudart.pyx":8057
 *     @property
 *     def programmaticEvent(self):
 *         return self._programmaticEvent             # <<<<<<<<<<<<<<
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_programmaticEvent));
  __pyx_r = ((PyObject *)__pyx_v_self->_programmaticEvent);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8056
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property
 *     def programmaticEvent(self):             # <<<<<<<<<<<<<<
 *         return self._programmaticEvent
 *     @programmaticEvent.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8059
 *         return self._programmaticEvent
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s):             # <<<<<<<<<<<<<<
 *         for _attr in dir(programmaticEvent):
 *             if _attr == 'getPtr':
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_programmaticEvent); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_programmaticEvent) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_programmaticEvent), __pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s, 0, "programmaticEvent", 0))) __PYX_ERR(0, 8059, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)__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_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *__pyx_v_programmaticEvent) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8059, 0, __PYX_ERR(0, 8059, __pyx_L1_error));

  /* "cuda/cudart.pyx":8060
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s):
 *         for _attr in dir(programmaticEvent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_programmaticEvent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8060, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8060, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8060, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8060, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8060, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 8060, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":8061
 *     def programmaticEvent(self, programmaticEvent not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s):
 *         for _attr in dir(programmaticEvent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8061, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":8062
 *         for _attr in dir(programmaticEvent):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._programmaticEvent, _attr, getattr(programmaticEvent, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":8061
 *     def programmaticEvent(self, programmaticEvent not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s):
 *         for _attr in dir(programmaticEvent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":8063
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._programmaticEvent, _attr, getattr(programmaticEvent, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8063, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":8064
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._programmaticEvent, _attr, getattr(programmaticEvent, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def priority(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_programmaticEvent);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_programmaticEvent), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 8064, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8063
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._programmaticEvent, _attr, getattr(programmaticEvent, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":8060
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s):
 *         for _attr in dir(programmaticEvent):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8059
 *         return self._programmaticEvent
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s):             # <<<<<<<<<<<<<<
 *         for _attr in dir(programmaticEvent):
 *             if _attr == 'getPtr':
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.programmaticEvent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8066
 *                 setattr(self._programmaticEvent, _attr, getattr(programmaticEvent, _attr))
 *     @property
 *     def priority(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].priority
 *     @priority.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8priority___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8priority___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8066, 0, __PYX_ERR(0, 8066, __pyx_L1_error));

  /* "cuda/cudart.pyx":8067
 *     @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(0, 8067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8066
 *                 setattr(self._programmaticEvent, _attr, getattr(programmaticEvent, _attr))
 *     @property
 *     def priority(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].priority
 *     @priority.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.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/cudart.pyx":8069
 *         return self._ptr[0].priority
 *     @priority.setter
 *     def priority(self, int priority):             # <<<<<<<<<<<<<<
 *         self._ptr[0].priority = priority
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_priority); /*proto*/
static int __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_priority) {
  int __pyx_v_priority;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8069, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.priority.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((int)__pyx_v_priority));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, int __pyx_v_priority) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8069, 0, __PYX_ERR(0, 8069, __pyx_L1_error));

  /* "cuda/cudart.pyx":8070
 *     @priority.setter
 *     def priority(self, int priority):
 *         self._ptr[0].priority = priority             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaLaunchAttribute_st:
 */
  (__pyx_v_self->_ptr[0]).priority = __pyx_v_priority;

  /* "cuda/cudart.pyx":8069
 *         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.cudart.cudaLaunchAttributeValue.priority.__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_6cudart_24cudaLaunchAttributeValue_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_10__reduce_cython__[] = "cudaLaunchAttributeValue.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_24cudaLaunchAttributeValue_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self) {
  PyObject *__pyx_r = 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__337)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__338, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.__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_6cudart_24cudaLaunchAttributeValue_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_12__setstate_cython__[] = "cudaLaunchAttributeValue.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_24cudaLaunchAttributeValue_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaLaunchAttributeValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__339)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__340, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttributeValue.__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/cudart.pyx":8089
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8089, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8089, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8089, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttribute_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8089, 0, __PYX_ERR(0, 8089, __pyx_L1_error));

  /* "cuda/cudart.pyx":8090
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8091
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttribute_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8090
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8093
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttribute_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._val = cudaLaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].val)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaLaunchAttribute_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8089
 * 
 *     """
 *     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.cudart.cudaLaunchAttribute_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8094
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._val = cudaLaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].val)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 8094, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8094, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8094, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttribute_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2__init__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 8094, 0, __PYX_ERR(0, 8094, __pyx_L1_error));

  /* "cuda/cudart.pyx":8095
 *             self._ptr = <ccudart.cudaLaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._val = cudaLaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].val)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).val))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 8095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_val);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_val));
  __pyx_v_self->_val = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8094
 *         else:
 *             self._ptr = <ccudart.cudaLaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._val = cudaLaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].val)
 *     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.cudart.cudaLaunchAttribute_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8096
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._val = cudaLaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].val)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8096, 0, __PYX_ERR(0, 8096, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaLaunchAttribute_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8098
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_6getPtr[] = "cudaLaunchAttribute_st.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaLaunchAttribute_st_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8098, 0, __PYX_ERR(0, 8098, __pyx_L1_error));

  /* "cuda/cudart.pyx":8099
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8098
 *     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.cudart.cudaLaunchAttribute_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/cudart.pyx":8100
 *     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_6cudart_22cudaLaunchAttribute_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr51__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8100, 0, __PYX_ERR(0, 8100, __pyx_L1_error));

  /* "cuda/cudart.pyx":8101
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['id : ' + str(self.id)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8102
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['id : ' + str(self.id)]
 *             str_list += ['val :\n' + '\n'.join(['    ' + line for line in str(self.val).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8103
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['id : ' + str(self.id)]             # <<<<<<<<<<<<<<
 *             str_list += ['val :\n' + '\n'.join(['    ' + line for line in str(self.val).splitlines()])]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_id_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_id, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8104
 *             str_list = []
 *             str_list += ['id : ' + str(self.id)]
 *             str_list += ['val :\n' + '\n'.join(['    ' + line for line in str(self.val).splitlines()])]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8104, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_val_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8104, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8104, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8104, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 8104, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8104, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr51__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr51__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8104, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 8104, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_line); __pyx_9genexpr51__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_line); __pyx_9genexpr51__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_val, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8105
 *             str_list += ['id : ' + str(self.id)]
 *             str_list += ['val :\n' + '\n'.join(['    ' + line for line in str(self.val).splitlines()])]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":8101
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['id : ' + str(self.id)]
 */
  }

  /* "cuda/cudart.pyx":8107
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":8100
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttribute_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8110
 * 
 *     @property
 *     def id(self):             # <<<<<<<<<<<<<<
 *         return cudaLaunchAttributeID(self._ptr[0].id)
 *     @id.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_2id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_2id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2id___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2id___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8110, 0, __PYX_ERR(0, 8110, __pyx_L1_error));

  /* "cuda/cudart.pyx":8111
 *     @property
 *     def id(self):
 *         return cudaLaunchAttributeID(self._ptr[0].id)             # <<<<<<<<<<<<<<
 *     @id.setter
 *     def id(self, id not None : cudaLaunchAttributeID):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaLaunchAttributeID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID((__pyx_v_self->_ptr[0]).id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8111, __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/cudart.pyx":8110
 * 
 *     @property
 *     def id(self):             # <<<<<<<<<<<<<<
 *         return cudaLaunchAttributeID(self._ptr[0].id)
 *     @id.setter
 */

  /* 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.cudart.cudaLaunchAttribute_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/cudart.pyx":8113
 *         return cudaLaunchAttributeID(self._ptr[0].id)
 *     @id.setter
 *     def id(self, id not None : cudaLaunchAttributeID):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].id = id.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_id); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_id) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_id) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "id"); __PYX_ERR(0, 8113, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_2id_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_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_6cudart_22cudaLaunchAttribute_st_2id_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, PyObject *__pyx_v_id) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaLaunchAttributeID __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8113, 0, __PYX_ERR(0, 8113, __pyx_L1_error));

  /* "cuda/cudart.pyx":8115
 *     def id(self, id not None : cudaLaunchAttributeID):
 *         pass
 *         self._ptr[0].id = id.value             # <<<<<<<<<<<<<<
 *     @property
 *     def val(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_id, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaLaunchAttributeID)__Pyx_PyInt_As_enum__cudaLaunchAttributeID(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).id = __pyx_t_2;

  /* "cuda/cudart.pyx":8113
 *         return cudaLaunchAttributeID(self._ptr[0].id)
 *     @id.setter
 *     def id(self, id not None : cudaLaunchAttributeID):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaLaunchAttribute_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/cudart.pyx":8117
 *         self._ptr[0].id = id.value
 *     @property
 *     def val(self):             # <<<<<<<<<<<<<<
 *         return self._val
 *     @val.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3val_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3val_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_3val___get__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_3val___get__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8117, 0, __PYX_ERR(0, 8117, __pyx_L1_error));

  /* "cuda/cudart.pyx":8118
 *     @property
 *     def val(self):
 *         return self._val             # <<<<<<<<<<<<<<
 *     @val.setter
 *     def val(self, val not None : cudaLaunchAttributeValue):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_val));
  __pyx_r = ((PyObject *)__pyx_v_self->_val);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8117
 *         self._ptr[0].id = id.value
 *     @property
 *     def val(self):             # <<<<<<<<<<<<<<
 *         return self._val
 *     @val.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttribute_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/cudart.pyx":8120
 *         return self._val
 *     @val.setter
 *     def val(self, val not None : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(val):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3val_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3val_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_val), __pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue, 0, "val", 0))) __PYX_ERR(0, 8120, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_3val_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_v_val));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_3val_2__set__(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_val) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8120, 0, __PYX_ERR(0, 8120, __pyx_L1_error));

  /* "cuda/cudart.pyx":8122
 *     def val(self, val not None : cudaLaunchAttributeValue):
 *         pass
 *         for _attr in dir(val):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_val)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8122, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8122, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8122, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8122, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8122, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 8122, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":8123
 *         pass
 *         for _attr in dir(val):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8123, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":8124
 *         for _attr in dir(val):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._val, _attr, getattr(val, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":8123
 *         pass
 *         for _attr in dir(val):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":8125
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._val, _attr, getattr(val, _attr))
 * 
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8125, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":8126
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._val, _attr, getattr(val, _attr))             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaTextureDesc:
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_val);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_val), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8126, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 8126, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8125
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._val, _attr, getattr(val, _attr))
 * 
 */
    }

    /* "cuda/cudart.pyx":8122
 *     def val(self, val not None : cudaLaunchAttributeValue):
 *         pass
 *         for _attr in dir(val):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8120
 *         return self._val
 *     @val.setter
 *     def val(self, val not None : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(val):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttribute_st.val.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __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_6cudart_22cudaLaunchAttribute_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_10__reduce_cython__[] = "cudaLaunchAttribute_st.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaLaunchAttribute_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = 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__342)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__343, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttribute_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_6cudart_22cudaLaunchAttribute_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_12__setstate_cython__[] = "cudaLaunchAttribute_st.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaLaunchAttribute_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaLaunchAttribute_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__345, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchAttribute_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/cudart.pyx":8165
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8165, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8165, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8165, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc___cinit__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8165, 0, __PYX_ERR(0, 8165, __pyx_L1_error));

  /* "cuda/cudart.pyx":8166
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8167
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaTextureDesc *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8166
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8169
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaTextureDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaTextureDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8165
 * 
 *     """
 *     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.cudart.cudaTextureDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8170
 *         else:
 *             self._ptr = <ccudart.cudaTextureDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 8170, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8170, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8170, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 8170, 0, __PYX_ERR(0, 8170, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8172
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_15cudaTextureDesc_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_15cudaTextureDesc_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_15cudaTextureDesc_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_15cudaTextureDesc_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8172, 0, __PYX_ERR(0, 8172, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaTextureDesc.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8174
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaTextureDesc_6getPtr[] = "cudaTextureDesc.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaTextureDesc_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaTextureDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaTextureDesc_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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__346)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8174, 0, __PYX_ERR(0, 8174, __pyx_L1_error));

  /* "cuda/cudart.pyx":8175
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8174
 *     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.cudart.cudaTextureDesc.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/cudart.pyx":8176
 *     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_6cudart_15cudaTextureDesc_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8176, 0, __PYX_ERR(0, 8176, __pyx_L1_error));

  /* "cuda/cudart.pyx":8177
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8178
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8179
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 *             str_list += ['readMode : ' + str(self.readMode)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_addressMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_addressMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8180
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 *             str_list += ['filterMode : ' + str(self.filterMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['readMode : ' + str(self.readMode)]
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filterMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_filterMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8181
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 *             str_list += ['readMode : ' + str(self.readMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_readMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_readMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8182
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 *             str_list += ['readMode : ' + str(self.readMode)]
 *             str_list += ['sRGB : ' + str(self.sRGB)]             # <<<<<<<<<<<<<<
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sRGB_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sRGB, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8183
 *             str_list += ['readMode : ' + str(self.readMode)]
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 *             str_list += ['borderColor : ' + str(self.borderColor)]             # <<<<<<<<<<<<<<
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_borderColor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_borderColor, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8184
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_normalizedCoords_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_normalizedCoords, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8185
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]             # <<<<<<<<<<<<<<
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxAnisotropy_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxAnisotropy, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8186
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mipmapFilterMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mipmapFilterMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8187
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]             # <<<<<<<<<<<<<<
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mipmapLevelBias_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mipmapLevelBias, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8188
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_minMipmapLevelClamp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_minMipmapLevelClamp, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8189
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]             # <<<<<<<<<<<<<<
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxMipmapLevelClamp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxMipmapLevelClamp, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8190
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disableTrilinearOptimization_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_disableTrilinearOptimization, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8191
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":8177
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 */
  }

  /* "cuda/cudart.pyx":8193
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":8176
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.__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/cudart.pyx":8196
 * 
 *     @property
 *     def addressMode(self):             # <<<<<<<<<<<<<<
 *         return [cudaTextureAddressMode(_x) for _x in list(self._ptr[0].addressMode)]
 *     @addressMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_11addressMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_11addressMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11addressMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_11addressMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_9genexpr52__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8196, 0, __PYX_ERR(0, 8196, __pyx_L1_error));

  /* "cuda/cudart.pyx":8197
 *     @property
 *     def addressMode(self):
 *         return [cudaTextureAddressMode(_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(0, 8197, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_carray_to_py_enum__cudaTextureAddressMode((__pyx_v_self->_ptr[0]).addressMode, 3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8197, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8197, __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 (;;) {
      if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) 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(0, 8197, __pyx_L5_error)
      #else
      __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8197, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr52__pyx_v__x, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaTextureAddressMode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8197, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = NULL;
      if (CYTHON_UNPACK_METHODS && 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_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_9genexpr52__pyx_v__x) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_9genexpr52__pyx_v__x);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8197, __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(0, 8197, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr52__pyx_v__x); __pyx_9genexpr52__pyx_v__x = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr52__pyx_v__x); __pyx_9genexpr52__pyx_v__x = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8196
 * 
 *     @property
 *     def addressMode(self):             # <<<<<<<<<<<<<<
 *         return [cudaTextureAddressMode(_x) for _x in list(self._ptr[0].addressMode)]
 *     @addressMode.setter
 */

  /* 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.cudart.cudaTextureDesc.addressMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_9genexpr52__pyx_v__x);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8199
 *         return [cudaTextureAddressMode(_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]
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11addressMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_addressMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11addressMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_addressMode) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11addressMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((PyObject *)__pyx_v_addressMode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11addressMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_addressMode) {
  PyObject *__pyx_9genexpr53__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;
  enum cudaTextureAddressMode __pyx_t_6[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8199, 0, __PYX_ERR(0, 8199, __pyx_L1_error));

  /* "cuda/cudart.pyx":8200
 *     @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(0, 8200, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_addressMode)) || PyTuple_CheckExact(__pyx_v_addressMode)) {
      __pyx_t_2 = __pyx_v_addressMode; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
      __pyx_t_4 = NULL;
    } else {
      __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_addressMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8200, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8200, __pyx_L5_error)
    }
    for (;;) {
      if (likely(!__pyx_t_4)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) 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(0, 8200, __pyx_L5_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8200, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) 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(0, 8200, __pyx_L5_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8200, __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(0, 8200, __pyx_L5_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr53__pyx_v__x, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr53__pyx_v__x, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8200, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 8200, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr53__pyx_v__x); __pyx_9genexpr53__pyx_v__x = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr53__pyx_v__x); __pyx_9genexpr53__pyx_v__x = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
  if (unlikely(__Pyx_carray_from_py_enum__cudaTextureAddressMode(__pyx_t_1, __pyx_t_6, 3) < 0)) __PYX_ERR(0, 8200, __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/cudart.pyx":8199
 *         return [cudaTextureAddressMode(_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]
 *     @property
 */

  /* 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.cudart.cudaTextureDesc.addressMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_9genexpr53__pyx_v__x);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8202
 *         self._ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property
 *     def filterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_10filterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_10filterMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_10filterMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_10filterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8202, 0, __PYX_ERR(0, 8202, __pyx_L1_error));

  /* "cuda/cudart.pyx":8203
 *     @property
 *     def filterMode(self):
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)             # <<<<<<<<<<<<<<
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaTextureFilterMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaTextureFilterMode((__pyx_v_self->_ptr[0]).filterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8203, __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/cudart.pyx":8202
 *         self._ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property
 *     def filterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 */

  /* 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.cudart.cudaTextureDesc.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/cudart.pyx":8205
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].filterMode = filterMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_10filterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_filterMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_10filterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_filterMode) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_filterMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "filterMode"); __PYX_ERR(0, 8205, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_10filterMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__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_6cudart_15cudaTextureDesc_10filterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_filterMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaTextureFilterMode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8205, 0, __PYX_ERR(0, 8205, __pyx_L1_error));

  /* "cuda/cudart.pyx":8207
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):
 *         pass
 *         self._ptr[0].filterMode = filterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def readMode(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filterMode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaTextureFilterMode)__Pyx_PyInt_As_enum__cudaTextureFilterMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).filterMode = __pyx_t_2;

  /* "cuda/cudart.pyx":8205
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaTextureDesc.filterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8209
 *         self._ptr[0].filterMode = filterMode.value
 *     @property
 *     def readMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_8readMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_8readMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_8readMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_8readMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8209, 0, __PYX_ERR(0, 8209, __pyx_L1_error));

  /* "cuda/cudart.pyx":8210
 *     @property
 *     def readMode(self):
 *         return cudaTextureReadMode(self._ptr[0].readMode)             # <<<<<<<<<<<<<<
 *     @readMode.setter
 *     def readMode(self, readMode not None : cudaTextureReadMode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaTextureReadMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaTextureReadMode((__pyx_v_self->_ptr[0]).readMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8210, __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/cudart.pyx":8209
 *         self._ptr[0].filterMode = filterMode.value
 *     @property
 *     def readMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 */

  /* 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.cudart.cudaTextureDesc.readMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8212
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 *     def readMode(self, readMode not None : cudaTextureReadMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].readMode = readMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_8readMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_readMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_8readMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_readMode) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_readMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "readMode"); __PYX_ERR(0, 8212, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_8readMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((PyObject *)__pyx_v_readMode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_8readMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_readMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaTextureReadMode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8212, 0, __PYX_ERR(0, 8212, __pyx_L1_error));

  /* "cuda/cudart.pyx":8214
 *     def readMode(self, readMode not None : cudaTextureReadMode):
 *         pass
 *         self._ptr[0].readMode = readMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def sRGB(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_readMode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaTextureReadMode)__Pyx_PyInt_As_enum__cudaTextureReadMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).readMode = __pyx_t_2;

  /* "cuda/cudart.pyx":8212
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 *     def readMode(self, readMode not None : cudaTextureReadMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].readMode = readMode.value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.readMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8216
 *         self._ptr[0].readMode = readMode.value
 *     @property
 *     def sRGB(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_4sRGB_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_4sRGB_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_4sRGB___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_4sRGB___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8216, 0, __PYX_ERR(0, 8216, __pyx_L1_error));

  /* "cuda/cudart.pyx":8217
 *     @property
 *     def sRGB(self):
 *         return self._ptr[0].sRGB             # <<<<<<<<<<<<<<
 *     @sRGB.setter
 *     def sRGB(self, int sRGB):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).sRGB); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8216
 *         self._ptr[0].readMode = readMode.value
 *     @property
 *     def sRGB(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.sRGB.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8219
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 *     def sRGB(self, int sRGB):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sRGB = sRGB
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_4sRGB_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sRGB); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_4sRGB_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sRGB) {
  int __pyx_v_sRGB;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_sRGB); {
    __pyx_v_sRGB = __Pyx_PyInt_As_int(__pyx_arg_sRGB); if (unlikely((__pyx_v_sRGB == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8219, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.sRGB.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_4sRGB_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((int)__pyx_v_sRGB));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_4sRGB_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, int __pyx_v_sRGB) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8219, 0, __PYX_ERR(0, 8219, __pyx_L1_error));

  /* "cuda/cudart.pyx":8221
 *     def sRGB(self, int sRGB):
 *         pass
 *         self._ptr[0].sRGB = sRGB             # <<<<<<<<<<<<<<
 *     @property
 *     def borderColor(self):
 */
  (__pyx_v_self->_ptr[0]).sRGB = __pyx_v_sRGB;

  /* "cuda/cudart.pyx":8219
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 *     def sRGB(self, int sRGB):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sRGB = sRGB
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.sRGB.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8223
 *         self._ptr[0].sRGB = sRGB
 *     @property
 *     def borderColor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_11borderColor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_11borderColor_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11borderColor___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_11borderColor___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8223, 0, __PYX_ERR(0, 8223, __pyx_L1_error));

  /* "cuda/cudart.pyx":8224
 *     @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(0, 8224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8223
 *         self._ptr[0].sRGB = sRGB
 *     @property
 *     def borderColor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.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/cudart.pyx":8226
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 *     def borderColor(self, borderColor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].borderColor = borderColor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11borderColor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_borderColor); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11borderColor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_borderColor) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11borderColor_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((PyObject *)__pyx_v_borderColor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_11borderColor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_borderColor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  float __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8226, 0, __PYX_ERR(0, 8226, __pyx_L1_error));

  /* "cuda/cudart.pyx":8228
 *     def borderColor(self, borderColor):
 *         pass
 *         self._ptr[0].borderColor = borderColor             # <<<<<<<<<<<<<<
 *     @property
 *     def normalizedCoords(self):
 */
  if (unlikely(__Pyx_carray_from_py_float(__pyx_v_borderColor, __pyx_t_1, 4) < 0)) __PYX_ERR(0, 8228, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).borderColor[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).borderColor[0]) * (4));

  /* "cuda/cudart.pyx":8226
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 *     def borderColor(self, borderColor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].borderColor = borderColor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.borderColor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8230
 *         self._ptr[0].borderColor = borderColor
 *     @property
 *     def normalizedCoords(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8230, 0, __PYX_ERR(0, 8230, __pyx_L1_error));

  /* "cuda/cudart.pyx":8231
 *     @property
 *     def normalizedCoords(self):
 *         return self._ptr[0].normalizedCoords             # <<<<<<<<<<<<<<
 *     @normalizedCoords.setter
 *     def normalizedCoords(self, int normalizedCoords):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).normalizedCoords); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8230
 *         self._ptr[0].borderColor = borderColor
 *     @property
 *     def normalizedCoords(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.normalizedCoords.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8233
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 *     def normalizedCoords(self, int normalizedCoords):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].normalizedCoords = normalizedCoords
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_normalizedCoords); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_normalizedCoords) {
  int __pyx_v_normalizedCoords;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_normalizedCoords); {
    __pyx_v_normalizedCoords = __Pyx_PyInt_As_int(__pyx_arg_normalizedCoords); if (unlikely((__pyx_v_normalizedCoords == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8233, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.normalizedCoords.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((int)__pyx_v_normalizedCoords));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, int __pyx_v_normalizedCoords) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8233, 0, __PYX_ERR(0, 8233, __pyx_L1_error));

  /* "cuda/cudart.pyx":8235
 *     def normalizedCoords(self, int normalizedCoords):
 *         pass
 *         self._ptr[0].normalizedCoords = normalizedCoords             # <<<<<<<<<<<<<<
 *     @property
 *     def maxAnisotropy(self):
 */
  (__pyx_v_self->_ptr[0]).normalizedCoords = __pyx_v_normalizedCoords;

  /* "cuda/cudart.pyx":8233
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 *     def normalizedCoords(self, int normalizedCoords):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].normalizedCoords = normalizedCoords
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.normalizedCoords.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8237
 *         self._ptr[0].normalizedCoords = normalizedCoords
 *     @property
 *     def maxAnisotropy(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8237, 0, __PYX_ERR(0, 8237, __pyx_L1_error));

  /* "cuda/cudart.pyx":8238
 *     @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(0, 8238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8237
 *         self._ptr[0].normalizedCoords = normalizedCoords
 *     @property
 *     def maxAnisotropy(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.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/cudart.pyx":8240
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxAnisotropy); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxAnisotropy) {
  unsigned int __pyx_v_maxAnisotropy;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8240, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.maxAnisotropy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((unsigned int)__pyx_v_maxAnisotropy));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8240, 0, __PYX_ERR(0, 8240, __pyx_L1_error));

  /* "cuda/cudart.pyx":8242
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         pass
 *         self._ptr[0].maxAnisotropy = maxAnisotropy             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapFilterMode(self):
 */
  (__pyx_v_self->_ptr[0]).maxAnisotropy = __pyx_v_maxAnisotropy;

  /* "cuda/cudart.pyx":8240
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.maxAnisotropy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8244
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 *     @property
 *     def mipmapFilterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8244, 0, __PYX_ERR(0, 8244, __pyx_L1_error));

  /* "cuda/cudart.pyx":8245
 *     @property
 *     def mipmapFilterMode(self):
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)             # <<<<<<<<<<<<<<
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaTextureFilterMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaTextureFilterMode((__pyx_v_self->_ptr[0]).mipmapFilterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8245, __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/cudart.pyx":8244
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 *     @property
 *     def mipmapFilterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 */

  /* 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.cudart.cudaTextureDesc.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/cudart.pyx":8247
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_mipmapFilterMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mipmapFilterMode"); __PYX_ERR(0, 8247, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__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_6cudart_15cudaTextureDesc_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaTextureFilterMode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8247, 0, __PYX_ERR(0, 8247, __pyx_L1_error));

  /* "cuda/cudart.pyx":8249
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):
 *         pass
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapLevelBias(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mipmapFilterMode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaTextureFilterMode)__Pyx_PyInt_As_enum__cudaTextureFilterMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).mipmapFilterMode = __pyx_t_2;

  /* "cuda/cudart.pyx":8247
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaTextureDesc.mipmapFilterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8251
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property
 *     def mipmapLevelBias(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8251, 0, __PYX_ERR(0, 8251, __pyx_L1_error));

  /* "cuda/cudart.pyx":8252
 *     @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(0, 8252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8251
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property
 *     def mipmapLevelBias(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.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/cudart.pyx":8254
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_mipmapLevelBias); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_mipmapLevelBias) {
  float __pyx_v_mipmapLevelBias;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_mipmapLevelBias); {
    __pyx_v_mipmapLevelBias = __pyx_PyFloat_AsFloat(__pyx_arg_mipmapLevelBias); if (unlikely((__pyx_v_mipmapLevelBias == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8254, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.mipmapLevelBias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((float)__pyx_v_mipmapLevelBias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, float __pyx_v_mipmapLevelBias) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8254, 0, __PYX_ERR(0, 8254, __pyx_L1_error));

  /* "cuda/cudart.pyx":8256
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         pass
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias             # <<<<<<<<<<<<<<
 *     @property
 *     def minMipmapLevelClamp(self):
 */
  (__pyx_v_self->_ptr[0]).mipmapLevelBias = __pyx_v_mipmapLevelBias;

  /* "cuda/cudart.pyx":8254
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.mipmapLevelBias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8258
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property
 *     def minMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8258, 0, __PYX_ERR(0, 8258, __pyx_L1_error));

  /* "cuda/cudart.pyx":8259
 *     @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(0, 8259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8258
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property
 *     def minMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.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/cudart.pyx":8261
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minMipmapLevelClamp) {
  float __pyx_v_minMipmapLevelClamp;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_minMipmapLevelClamp); {
    __pyx_v_minMipmapLevelClamp = __pyx_PyFloat_AsFloat(__pyx_arg_minMipmapLevelClamp); if (unlikely((__pyx_v_minMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8261, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.minMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((float)__pyx_v_minMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, float __pyx_v_minMipmapLevelClamp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8261, 0, __PYX_ERR(0, 8261, __pyx_L1_error));

  /* "cuda/cudart.pyx":8263
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         pass
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def maxMipmapLevelClamp(self):
 */
  (__pyx_v_self->_ptr[0]).minMipmapLevelClamp = __pyx_v_minMipmapLevelClamp;

  /* "cuda/cudart.pyx":8261
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.minMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8265
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property
 *     def maxMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8265, 0, __PYX_ERR(0, 8265, __pyx_L1_error));

  /* "cuda/cudart.pyx":8266
 *     @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(0, 8266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8265
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property
 *     def maxMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.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/cudart.pyx":8268
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxMipmapLevelClamp) {
  float __pyx_v_maxMipmapLevelClamp;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxMipmapLevelClamp); {
    __pyx_v_maxMipmapLevelClamp = __pyx_PyFloat_AsFloat(__pyx_arg_maxMipmapLevelClamp); if (unlikely((__pyx_v_maxMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8268, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.maxMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((float)__pyx_v_maxMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8268, 0, __PYX_ERR(0, 8268, __pyx_L1_error));

  /* "cuda/cudart.pyx":8270
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         pass
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def disableTrilinearOptimization(self):
 */
  (__pyx_v_self->_ptr[0]).maxMipmapLevelClamp = __pyx_v_maxMipmapLevelClamp;

  /* "cuda/cudart.pyx":8268
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.maxMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8272
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property
 *     def disableTrilinearOptimization(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8272, 0, __PYX_ERR(0, 8272, __pyx_L1_error));

  /* "cuda/cudart.pyx":8273
 *     @property
 *     def disableTrilinearOptimization(self):
 *         return self._ptr[0].disableTrilinearOptimization             # <<<<<<<<<<<<<<
 *     @disableTrilinearOptimization.setter
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).disableTrilinearOptimization); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8272
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property
 *     def disableTrilinearOptimization(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.disableTrilinearOptimization.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8275
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_disableTrilinearOptimization); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_disableTrilinearOptimization) {
  int __pyx_v_disableTrilinearOptimization;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_disableTrilinearOptimization); {
    __pyx_v_disableTrilinearOptimization = __Pyx_PyInt_As_int(__pyx_arg_disableTrilinearOptimization); if (unlikely((__pyx_v_disableTrilinearOptimization == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8275, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.disableTrilinearOptimization.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((int)__pyx_v_disableTrilinearOptimization));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, int __pyx_v_disableTrilinearOptimization) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8275, 0, __PYX_ERR(0, 8275, __pyx_L1_error));

  /* "cuda/cudart.pyx":8277
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):
 *         pass
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaTextureDesc_v2:
 */
  (__pyx_v_self->_ptr[0]).disableTrilinearOptimization = __pyx_v_disableTrilinearOptimization;

  /* "cuda/cudart.pyx":8275
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.disableTrilinearOptimization.__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_6cudart_15cudaTextureDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaTextureDesc_10__reduce_cython__[] = "cudaTextureDesc.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaTextureDesc_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaTextureDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaTextureDesc_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__348, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.__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_6cudart_15cudaTextureDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaTextureDesc_12__setstate_cython__[] = "cudaTextureDesc.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaTextureDesc_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaTextureDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15cudaTextureDesc_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaTextureDesc_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaTextureDesc_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaTextureDesc_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__349)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__350, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc.__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/cudart.pyx":8317
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8317, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8317, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8317, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2___cinit__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8317, 0, __PYX_ERR(0, 8317, __pyx_L1_error));

  /* "cuda/cudart.pyx":8318
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8319
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaTextureDesc_v2 *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8318
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8321
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaTextureDesc_v2 *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct cudaTextureDesc_v2 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8317
 * 
 *     """
 *     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.cudart.cudaTextureDesc_v2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8322
 *         else:
 *             self._ptr = <ccudart.cudaTextureDesc_v2 *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 8322, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8322, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8322, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 8322, 0, __PYX_ERR(0, 8322, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8324
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8324, 0, __PYX_ERR(0, 8324, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaTextureDesc_v2.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8326
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_6getPtr[] = "cudaTextureDesc_v2.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaTextureDesc_v2_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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__351)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8326, 0, __PYX_ERR(0, 8326, __pyx_L1_error));

  /* "cuda/cudart.pyx":8327
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8326
 *     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.cudart.cudaTextureDesc_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;
}

/* "cuda/cudart.pyx":8328
 *     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_6cudart_18cudaTextureDesc_v2_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8328, 0, __PYX_ERR(0, 8328, __pyx_L1_error));

  /* "cuda/cudart.pyx":8329
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8330
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8331
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 *             str_list += ['readMode : ' + str(self.readMode)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_addressMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_addressMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8332
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 *             str_list += ['filterMode : ' + str(self.filterMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['readMode : ' + str(self.readMode)]
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filterMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_filterMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8333
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 *             str_list += ['readMode : ' + str(self.readMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_readMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_readMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8334
 *             str_list += ['filterMode : ' + str(self.filterMode)]
 *             str_list += ['readMode : ' + str(self.readMode)]
 *             str_list += ['sRGB : ' + str(self.sRGB)]             # <<<<<<<<<<<<<<
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sRGB_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sRGB, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8335
 *             str_list += ['readMode : ' + str(self.readMode)]
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 *             str_list += ['borderColor : ' + str(self.borderColor)]             # <<<<<<<<<<<<<<
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_borderColor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_borderColor, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8336
 *             str_list += ['sRGB : ' + str(self.sRGB)]
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_normalizedCoords_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_normalizedCoords, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8337
 *             str_list += ['borderColor : ' + str(self.borderColor)]
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]             # <<<<<<<<<<<<<<
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxAnisotropy_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxAnisotropy, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8338
 *             str_list += ['normalizedCoords : ' + str(self.normalizedCoords)]
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]             # <<<<<<<<<<<<<<
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mipmapFilterMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mipmapFilterMode, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8339
 *             str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]             # <<<<<<<<<<<<<<
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mipmapLevelBias_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mipmapLevelBias, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8340
 *             str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]             # <<<<<<<<<<<<<<
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_minMipmapLevelClamp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_minMipmapLevelClamp, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8341
 *             str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]             # <<<<<<<<<<<<<<
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]
 *             str_list += ['seamlessCubemap : ' + str(self.seamlessCubemap)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_maxMipmapLevelClamp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_maxMipmapLevelClamp, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8342
 *             str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]             # <<<<<<<<<<<<<<
 *             str_list += ['seamlessCubemap : ' + str(self.seamlessCubemap)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disableTrilinearOptimization_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_disableTrilinearOptimization, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8343
 *             str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]
 *             str_list += ['seamlessCubemap : ' + str(self.seamlessCubemap)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_seamlessCubemap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_seamlessCubemap, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8344
 *             str_list += ['disableTrilinearOptimization : ' + str(self.disableTrilinearOptimization)]
 *             str_list += ['seamlessCubemap : ' + str(self.seamlessCubemap)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":8329
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['addressMode : ' + str(self.addressMode)]
 */
  }

  /* "cuda/cudart.pyx":8346
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":8328
 *     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_3);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.__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/cudart.pyx":8349
 * 
 *     @property
 *     def addressMode(self):             # <<<<<<<<<<<<<<
 *         return [cudaTextureAddressMode(_x) for _x in list(self._ptr[0].addressMode)]
 *     @addressMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self) {
  PyObject *__pyx_9genexpr54__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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8349, 0, __PYX_ERR(0, 8349, __pyx_L1_error));

  /* "cuda/cudart.pyx":8350
 *     @property
 *     def addressMode(self):
 *         return [cudaTextureAddressMode(_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(0, 8350, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_carray_to_py_enum__cudaTextureAddressMode((__pyx_v_self->_ptr[0]).addressMode, 3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8350, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8350, __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 (;;) {
      if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) 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(0, 8350, __pyx_L5_error)
      #else
      __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8350, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr54__pyx_v__x, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaTextureAddressMode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8350, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = NULL;
      if (CYTHON_UNPACK_METHODS && 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_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_9genexpr54__pyx_v__x) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_9genexpr54__pyx_v__x);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8350, __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(0, 8350, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr54__pyx_v__x); __pyx_9genexpr54__pyx_v__x = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr54__pyx_v__x); __pyx_9genexpr54__pyx_v__x = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8349
 * 
 *     @property
 *     def addressMode(self):             # <<<<<<<<<<<<<<
 *         return [cudaTextureAddressMode(_x) for _x in list(self._ptr[0].addressMode)]
 *     @addressMode.setter
 */

  /* 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.cudart.cudaTextureDesc_v2.addressMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_9genexpr54__pyx_v__x);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8352
 *         return [cudaTextureAddressMode(_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]
 *     @property
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_addressMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_addressMode) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((PyObject *)__pyx_v_addressMode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_addressMode) {
  PyObject *__pyx_9genexpr55__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;
  enum cudaTextureAddressMode __pyx_t_6[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8352, 0, __PYX_ERR(0, 8352, __pyx_L1_error));

  /* "cuda/cudart.pyx":8353
 *     @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(0, 8353, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_v_addressMode)) || PyTuple_CheckExact(__pyx_v_addressMode)) {
      __pyx_t_2 = __pyx_v_addressMode; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
      __pyx_t_4 = NULL;
    } else {
      __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_addressMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8353, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8353, __pyx_L5_error)
    }
    for (;;) {
      if (likely(!__pyx_t_4)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) 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(0, 8353, __pyx_L5_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8353, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) 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(0, 8353, __pyx_L5_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8353, __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(0, 8353, __pyx_L5_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr55__pyx_v__x, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr55__pyx_v__x, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8353, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 8353, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr55__pyx_v__x); __pyx_9genexpr55__pyx_v__x = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr55__pyx_v__x); __pyx_9genexpr55__pyx_v__x = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
  if (unlikely(__Pyx_carray_from_py_enum__cudaTextureAddressMode(__pyx_t_1, __pyx_t_6, 3) < 0)) __PYX_ERR(0, 8353, __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/cudart.pyx":8352
 *         return [cudaTextureAddressMode(_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]
 *     @property
 */

  /* 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.cudart.cudaTextureDesc_v2.addressMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_9genexpr55__pyx_v__x);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8355
 *         self._ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property
 *     def filterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8355, 0, __PYX_ERR(0, 8355, __pyx_L1_error));

  /* "cuda/cudart.pyx":8356
 *     @property
 *     def filterMode(self):
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)             # <<<<<<<<<<<<<<
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaTextureFilterMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaTextureFilterMode((__pyx_v_self->_ptr[0]).filterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8356, __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/cudart.pyx":8355
 *         self._ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property
 *     def filterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 */

  /* 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.cudart.cudaTextureDesc_v2.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/cudart.pyx":8358
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].filterMode = filterMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_filterMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_filterMode) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_filterMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "filterMode"); __PYX_ERR(0, 8358, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__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_6cudart_18cudaTextureDesc_v2_10filterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_filterMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaTextureFilterMode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8358, 0, __PYX_ERR(0, 8358, __pyx_L1_error));

  /* "cuda/cudart.pyx":8360
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):
 *         pass
 *         self._ptr[0].filterMode = filterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def readMode(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filterMode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaTextureFilterMode)__Pyx_PyInt_As_enum__cudaTextureFilterMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).filterMode = __pyx_t_2;

  /* "cuda/cudart.pyx":8358
 *         return cudaTextureFilterMode(self._ptr[0].filterMode)
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaTextureDesc_v2.filterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8362
 *         self._ptr[0].filterMode = filterMode.value
 *     @property
 *     def readMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8readMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8readMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8362, 0, __PYX_ERR(0, 8362, __pyx_L1_error));

  /* "cuda/cudart.pyx":8363
 *     @property
 *     def readMode(self):
 *         return cudaTextureReadMode(self._ptr[0].readMode)             # <<<<<<<<<<<<<<
 *     @readMode.setter
 *     def readMode(self, readMode not None : cudaTextureReadMode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaTextureReadMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaTextureReadMode((__pyx_v_self->_ptr[0]).readMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8363, __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/cudart.pyx":8362
 *         self._ptr[0].filterMode = filterMode.value
 *     @property
 *     def readMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 */

  /* 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.cudart.cudaTextureDesc_v2.readMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8365
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 *     def readMode(self, readMode not None : cudaTextureReadMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].readMode = readMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_readMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_readMode) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_readMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "readMode"); __PYX_ERR(0, 8365, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((PyObject *)__pyx_v_readMode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_readMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaTextureReadMode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8365, 0, __PYX_ERR(0, 8365, __pyx_L1_error));

  /* "cuda/cudart.pyx":8367
 *     def readMode(self, readMode not None : cudaTextureReadMode):
 *         pass
 *         self._ptr[0].readMode = readMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def sRGB(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_readMode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaTextureReadMode)__Pyx_PyInt_As_enum__cudaTextureReadMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).readMode = __pyx_t_2;

  /* "cuda/cudart.pyx":8365
 *         return cudaTextureReadMode(self._ptr[0].readMode)
 *     @readMode.setter
 *     def readMode(self, readMode not None : cudaTextureReadMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].readMode = readMode.value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.readMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8369
 *         self._ptr[0].readMode = readMode.value
 *     @property
 *     def sRGB(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8369, 0, __PYX_ERR(0, 8369, __pyx_L1_error));

  /* "cuda/cudart.pyx":8370
 *     @property
 *     def sRGB(self):
 *         return self._ptr[0].sRGB             # <<<<<<<<<<<<<<
 *     @sRGB.setter
 *     def sRGB(self, int sRGB):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).sRGB); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8369
 *         self._ptr[0].readMode = readMode.value
 *     @property
 *     def sRGB(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.sRGB.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8372
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 *     def sRGB(self, int sRGB):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sRGB = sRGB
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sRGB); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sRGB) {
  int __pyx_v_sRGB;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_sRGB); {
    __pyx_v_sRGB = __Pyx_PyInt_As_int(__pyx_arg_sRGB); if (unlikely((__pyx_v_sRGB == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8372, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.sRGB.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((int)__pyx_v_sRGB));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_sRGB) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8372, 0, __PYX_ERR(0, 8372, __pyx_L1_error));

  /* "cuda/cudart.pyx":8374
 *     def sRGB(self, int sRGB):
 *         pass
 *         self._ptr[0].sRGB = sRGB             # <<<<<<<<<<<<<<
 *     @property
 *     def borderColor(self):
 */
  (__pyx_v_self->_ptr[0]).sRGB = __pyx_v_sRGB;

  /* "cuda/cudart.pyx":8372
 *         return self._ptr[0].sRGB
 *     @sRGB.setter
 *     def sRGB(self, int sRGB):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sRGB = sRGB
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.sRGB.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8376
 *         self._ptr[0].sRGB = sRGB
 *     @property
 *     def borderColor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8376, 0, __PYX_ERR(0, 8376, __pyx_L1_error));

  /* "cuda/cudart.pyx":8377
 *     @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(0, 8377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8376
 *         self._ptr[0].sRGB = sRGB
 *     @property
 *     def borderColor(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.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/cudart.pyx":8379
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 *     def borderColor(self, borderColor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].borderColor = borderColor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_borderColor); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_borderColor) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((PyObject *)__pyx_v_borderColor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_borderColor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  float __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8379, 0, __PYX_ERR(0, 8379, __pyx_L1_error));

  /* "cuda/cudart.pyx":8381
 *     def borderColor(self, borderColor):
 *         pass
 *         self._ptr[0].borderColor = borderColor             # <<<<<<<<<<<<<<
 *     @property
 *     def normalizedCoords(self):
 */
  if (unlikely(__Pyx_carray_from_py_float(__pyx_v_borderColor, __pyx_t_1, 4) < 0)) __PYX_ERR(0, 8381, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).borderColor[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).borderColor[0]) * (4));

  /* "cuda/cudart.pyx":8379
 *         return self._ptr[0].borderColor
 *     @borderColor.setter
 *     def borderColor(self, borderColor):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].borderColor = borderColor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.borderColor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8383
 *         self._ptr[0].borderColor = borderColor
 *     @property
 *     def normalizedCoords(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8383, 0, __PYX_ERR(0, 8383, __pyx_L1_error));

  /* "cuda/cudart.pyx":8384
 *     @property
 *     def normalizedCoords(self):
 *         return self._ptr[0].normalizedCoords             # <<<<<<<<<<<<<<
 *     @normalizedCoords.setter
 *     def normalizedCoords(self, int normalizedCoords):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).normalizedCoords); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8383
 *         self._ptr[0].borderColor = borderColor
 *     @property
 *     def normalizedCoords(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.normalizedCoords.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8386
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 *     def normalizedCoords(self, int normalizedCoords):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].normalizedCoords = normalizedCoords
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_normalizedCoords); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_normalizedCoords) {
  int __pyx_v_normalizedCoords;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_normalizedCoords); {
    __pyx_v_normalizedCoords = __Pyx_PyInt_As_int(__pyx_arg_normalizedCoords); if (unlikely((__pyx_v_normalizedCoords == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8386, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.normalizedCoords.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((int)__pyx_v_normalizedCoords));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_normalizedCoords) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8386, 0, __PYX_ERR(0, 8386, __pyx_L1_error));

  /* "cuda/cudart.pyx":8388
 *     def normalizedCoords(self, int normalizedCoords):
 *         pass
 *         self._ptr[0].normalizedCoords = normalizedCoords             # <<<<<<<<<<<<<<
 *     @property
 *     def maxAnisotropy(self):
 */
  (__pyx_v_self->_ptr[0]).normalizedCoords = __pyx_v_normalizedCoords;

  /* "cuda/cudart.pyx":8386
 *         return self._ptr[0].normalizedCoords
 *     @normalizedCoords.setter
 *     def normalizedCoords(self, int normalizedCoords):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].normalizedCoords = normalizedCoords
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.normalizedCoords.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8390
 *         self._ptr[0].normalizedCoords = normalizedCoords
 *     @property
 *     def maxAnisotropy(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8390, 0, __PYX_ERR(0, 8390, __pyx_L1_error));

  /* "cuda/cudart.pyx":8391
 *     @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(0, 8391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8390
 *         self._ptr[0].normalizedCoords = normalizedCoords
 *     @property
 *     def maxAnisotropy(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.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/cudart.pyx":8393
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxAnisotropy); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxAnisotropy) {
  unsigned int __pyx_v_maxAnisotropy;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8393, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.maxAnisotropy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((unsigned int)__pyx_v_maxAnisotropy));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8393, 0, __PYX_ERR(0, 8393, __pyx_L1_error));

  /* "cuda/cudart.pyx":8395
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         pass
 *         self._ptr[0].maxAnisotropy = maxAnisotropy             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapFilterMode(self):
 */
  (__pyx_v_self->_ptr[0]).maxAnisotropy = __pyx_v_maxAnisotropy;

  /* "cuda/cudart.pyx":8393
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.maxAnisotropy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8397
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 *     @property
 *     def mipmapFilterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8397, 0, __PYX_ERR(0, 8397, __pyx_L1_error));

  /* "cuda/cudart.pyx":8398
 *     @property
 *     def mipmapFilterMode(self):
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)             # <<<<<<<<<<<<<<
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaTextureFilterMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaTextureFilterMode((__pyx_v_self->_ptr[0]).mipmapFilterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8398, __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/cudart.pyx":8397
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 *     @property
 *     def mipmapFilterMode(self):             # <<<<<<<<<<<<<<
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 */

  /* 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.cudart.cudaTextureDesc_v2.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/cudart.pyx":8400
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_mipmapFilterMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mipmapFilterMode"); __PYX_ERR(0, 8400, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__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_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaTextureFilterMode __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8400, 0, __PYX_ERR(0, 8400, __pyx_L1_error));

  /* "cuda/cudart.pyx":8402
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):
 *         pass
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapLevelBias(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mipmapFilterMode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaTextureFilterMode)__Pyx_PyInt_As_enum__cudaTextureFilterMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).mipmapFilterMode = __pyx_t_2;

  /* "cuda/cudart.pyx":8400
 *         return cudaTextureFilterMode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : cudaTextureFilterMode):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaTextureDesc_v2.mipmapFilterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8404
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property
 *     def mipmapLevelBias(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8404, 0, __PYX_ERR(0, 8404, __pyx_L1_error));

  /* "cuda/cudart.pyx":8405
 *     @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(0, 8405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8404
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property
 *     def mipmapLevelBias(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.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/cudart.pyx":8407
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_mipmapLevelBias); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_mipmapLevelBias) {
  float __pyx_v_mipmapLevelBias;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_mipmapLevelBias); {
    __pyx_v_mipmapLevelBias = __pyx_PyFloat_AsFloat(__pyx_arg_mipmapLevelBias); if (unlikely((__pyx_v_mipmapLevelBias == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8407, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.mipmapLevelBias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((float)__pyx_v_mipmapLevelBias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, float __pyx_v_mipmapLevelBias) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8407, 0, __PYX_ERR(0, 8407, __pyx_L1_error));

  /* "cuda/cudart.pyx":8409
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         pass
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias             # <<<<<<<<<<<<<<
 *     @property
 *     def minMipmapLevelClamp(self):
 */
  (__pyx_v_self->_ptr[0]).mipmapLevelBias = __pyx_v_mipmapLevelBias;

  /* "cuda/cudart.pyx":8407
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.mipmapLevelBias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8411
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property
 *     def minMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8411, 0, __PYX_ERR(0, 8411, __pyx_L1_error));

  /* "cuda/cudart.pyx":8412
 *     @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(0, 8412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8411
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property
 *     def minMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.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/cudart.pyx":8414
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minMipmapLevelClamp) {
  float __pyx_v_minMipmapLevelClamp;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_minMipmapLevelClamp); {
    __pyx_v_minMipmapLevelClamp = __pyx_PyFloat_AsFloat(__pyx_arg_minMipmapLevelClamp); if (unlikely((__pyx_v_minMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8414, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.minMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((float)__pyx_v_minMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, float __pyx_v_minMipmapLevelClamp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8414, 0, __PYX_ERR(0, 8414, __pyx_L1_error));

  /* "cuda/cudart.pyx":8416
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         pass
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def maxMipmapLevelClamp(self):
 */
  (__pyx_v_self->_ptr[0]).minMipmapLevelClamp = __pyx_v_minMipmapLevelClamp;

  /* "cuda/cudart.pyx":8414
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.minMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8418
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property
 *     def maxMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8418, 0, __PYX_ERR(0, 8418, __pyx_L1_error));

  /* "cuda/cudart.pyx":8419
 *     @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(0, 8419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8418
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property
 *     def maxMipmapLevelClamp(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.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/cudart.pyx":8421
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxMipmapLevelClamp) {
  float __pyx_v_maxMipmapLevelClamp;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_maxMipmapLevelClamp); {
    __pyx_v_maxMipmapLevelClamp = __pyx_PyFloat_AsFloat(__pyx_arg_maxMipmapLevelClamp); if (unlikely((__pyx_v_maxMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8421, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.maxMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((float)__pyx_v_maxMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8421, 0, __PYX_ERR(0, 8421, __pyx_L1_error));

  /* "cuda/cudart.pyx":8423
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         pass
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def disableTrilinearOptimization(self):
 */
  (__pyx_v_self->_ptr[0]).maxMipmapLevelClamp = __pyx_v_maxMipmapLevelClamp;

  /* "cuda/cudart.pyx":8421
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.maxMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8425
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property
 *     def disableTrilinearOptimization(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8425, 0, __PYX_ERR(0, 8425, __pyx_L1_error));

  /* "cuda/cudart.pyx":8426
 *     @property
 *     def disableTrilinearOptimization(self):
 *         return self._ptr[0].disableTrilinearOptimization             # <<<<<<<<<<<<<<
 *     @disableTrilinearOptimization.setter
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).disableTrilinearOptimization); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8425
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property
 *     def disableTrilinearOptimization(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.disableTrilinearOptimization.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8428
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_disableTrilinearOptimization); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_disableTrilinearOptimization) {
  int __pyx_v_disableTrilinearOptimization;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_disableTrilinearOptimization); {
    __pyx_v_disableTrilinearOptimization = __Pyx_PyInt_As_int(__pyx_arg_disableTrilinearOptimization); if (unlikely((__pyx_v_disableTrilinearOptimization == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8428, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.disableTrilinearOptimization.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((int)__pyx_v_disableTrilinearOptimization));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_disableTrilinearOptimization) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8428, 0, __PYX_ERR(0, 8428, __pyx_L1_error));

  /* "cuda/cudart.pyx":8430
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):
 *         pass
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization             # <<<<<<<<<<<<<<
 *     @property
 *     def seamlessCubemap(self):
 */
  (__pyx_v_self->_ptr[0]).disableTrilinearOptimization = __pyx_v_disableTrilinearOptimization;

  /* "cuda/cudart.pyx":8428
 *         return self._ptr[0].disableTrilinearOptimization
 *     @disableTrilinearOptimization.setter
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.disableTrilinearOptimization.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8432
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization
 *     @property
 *     def seamlessCubemap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].seamlessCubemap
 *     @seamlessCubemap.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap___get__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap___get__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8432, 0, __PYX_ERR(0, 8432, __pyx_L1_error));

  /* "cuda/cudart.pyx":8433
 *     @property
 *     def seamlessCubemap(self):
 *         return self._ptr[0].seamlessCubemap             # <<<<<<<<<<<<<<
 *     @seamlessCubemap.setter
 *     def seamlessCubemap(self, int seamlessCubemap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).seamlessCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8432
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization
 *     @property
 *     def seamlessCubemap(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].seamlessCubemap
 *     @seamlessCubemap.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.seamlessCubemap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8435
 *         return self._ptr[0].seamlessCubemap
 *     @seamlessCubemap.setter
 *     def seamlessCubemap(self, int seamlessCubemap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].seamlessCubemap = seamlessCubemap
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_seamlessCubemap); /*proto*/
static int __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_seamlessCubemap) {
  int __pyx_v_seamlessCubemap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  assert(__pyx_arg_seamlessCubemap); {
    __pyx_v_seamlessCubemap = __Pyx_PyInt_As_int(__pyx_arg_seamlessCubemap); if (unlikely((__pyx_v_seamlessCubemap == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8435, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.seamlessCubemap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((int)__pyx_v_seamlessCubemap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_2__set__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, int __pyx_v_seamlessCubemap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8435, 0, __PYX_ERR(0, 8435, __pyx_L1_error));

  /* "cuda/cudart.pyx":8437
 *     def seamlessCubemap(self, int seamlessCubemap):
 *         pass
 *         self._ptr[0].seamlessCubemap = seamlessCubemap             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaEglPlaneDesc_st:
 */
  (__pyx_v_self->_ptr[0]).seamlessCubemap = __pyx_v_seamlessCubemap;

  /* "cuda/cudart.pyx":8435
 *         return self._ptr[0].seamlessCubemap
 *     @seamlessCubemap.setter
 *     def seamlessCubemap(self, int seamlessCubemap):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].seamlessCubemap = seamlessCubemap
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_v2.seamlessCubemap.__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_6cudart_18cudaTextureDesc_v2_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_10__reduce_cython__[] = "cudaTextureDesc_v2.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaTextureDesc_v2_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_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__352)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__353, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_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_6cudart_18cudaTextureDesc_v2_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_12__setstate_cython__[] = "cudaTextureDesc_v2.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_18cudaTextureDesc_v2_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaTextureDesc_v2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__354)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__355, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureDesc_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/cudart.pyx":8467
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8467, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8467, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8467, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8467, 0, __PYX_ERR(0, 8467, __pyx_L1_error));

  /* "cuda/cudart.pyx":8468
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8469
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaEglPlaneDesc_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8468
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8471
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaEglPlaneDesc_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._channelDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].channelDesc)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8467
 * 
 *     """
 *     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.cudart.cudaEglPlaneDesc_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8472
 *         else:
 *             self._ptr = <ccudart.cudaEglPlaneDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._channelDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].channelDesc)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 8472, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8472, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8472, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_2__init__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 8472, 0, __PYX_ERR(0, 8472, __pyx_L1_error));

  /* "cuda/cudart.pyx":8473
 *             self._ptr = <ccudart.cudaEglPlaneDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._channelDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].channelDesc)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(&(__pyx_v_self->_ptr[0]).channelDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 8473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_channelDesc);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_channelDesc));
  __pyx_v_self->_channelDesc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8472
 *         else:
 *             self._ptr = <ccudart.cudaEglPlaneDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._channelDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].channelDesc)
 *     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.cudart.cudaEglPlaneDesc_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8474
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._channelDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].channelDesc)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8474, 0, __PYX_ERR(0, 8474, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaEglPlaneDesc_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8476
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_6getPtr[] = "cudaEglPlaneDesc_st.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaEglPlaneDesc_st_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = 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", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8476, 0, __PYX_ERR(0, 8476, __pyx_L1_error));

  /* "cuda/cudart.pyx":8477
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8476
 *     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.cudart.cudaEglPlaneDesc_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/cudart.pyx":8478
 *     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_6cudart_19cudaEglPlaneDesc_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr56__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8478, 0, __PYX_ERR(0, 8478, __pyx_L1_error));

  /* "cuda/cudart.pyx":8479
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8480
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8481
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]             # <<<<<<<<<<<<<<
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_width, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8482
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]             # <<<<<<<<<<<<<<
 *             str_list += ['depth : ' + str(self.depth)]
 *             str_list += ['pitch : ' + str(self.pitch)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_height, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8483
 *             str_list += ['width : ' + str(self.width)]
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]             # <<<<<<<<<<<<<<
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['numChannels : ' + str(self.numChannels)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_depth, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8484
 *             str_list += ['height : ' + str(self.height)]
 *             str_list += ['depth : ' + str(self.depth)]
 *             str_list += ['pitch : ' + str(self.pitch)]             # <<<<<<<<<<<<<<
 *             str_list += ['numChannels : ' + str(self.numChannels)]
 *             str_list += ['channelDesc :\n' + '\n'.join(['    ' + line for line in str(self.channelDesc).splitlines()])]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pitch, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8485
 *             str_list += ['depth : ' + str(self.depth)]
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['numChannels : ' + str(self.numChannels)]             # <<<<<<<<<<<<<<
 *             str_list += ['channelDesc :\n' + '\n'.join(['    ' + line for line in str(self.channelDesc).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_numChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_numChannels, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8486
 *             str_list += ['pitch : ' + str(self.pitch)]
 *             str_list += ['numChannels : ' + str(self.numChannels)]
 *             str_list += ['channelDesc :\n' + '\n'.join(['    ' + line for line in str(self.channelDesc).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8486, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_channelDesc_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8486, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8486, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8486, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 8486, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8486, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr56__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr56__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8486, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 8486, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr56__pyx_v_line); __pyx_9genexpr56__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr56__pyx_v_line); __pyx_9genexpr56__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_channelDesc, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8487
 *             str_list += ['numChannels : ' + str(self.numChannels)]
 *             str_list += ['channelDesc :\n' + '\n'.join(['    ' + line for line in str(self.channelDesc).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8488
 *             str_list += ['channelDesc :\n' + '\n'.join(['    ' + line for line in str(self.channelDesc).splitlines()])]
 *             str_list += ['reserved : ' + str(self.reserved)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":8479
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['width : ' + str(self.width)]
 */
  }

  /* "cuda/cudart.pyx":8490
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":8478
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr56__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8493
 * 
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5width___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5width___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8493, 0, __PYX_ERR(0, 8493, __pyx_L1_error));

  /* "cuda/cudart.pyx":8494
 *     @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(0, 8494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8493
 * 
 *     @property
 *     def width(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].width
 *     @width.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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/cudart.pyx":8496
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, unsigned int width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width) {
  unsigned int __pyx_v_width;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8496, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((unsigned int)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8496, 0, __PYX_ERR(0, 8496, __pyx_L1_error));

  /* "cuda/cudart.pyx":8498
 *     def width(self, unsigned int width):
 *         pass
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cudart.pyx":8496
 *         return self._ptr[0].width
 *     @width.setter
 *     def width(self, unsigned int width):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8500
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6height___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6height___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8500, 0, __PYX_ERR(0, 8500, __pyx_L1_error));

  /* "cuda/cudart.pyx":8501
 *     @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(0, 8501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8500
 *         self._ptr[0].width = width
 *     @property
 *     def height(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].height
 *     @height.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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/cudart.pyx":8503
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, unsigned int height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height) {
  unsigned int __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8503, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((unsigned int)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8503, 0, __PYX_ERR(0, 8503, __pyx_L1_error));

  /* "cuda/cudart.pyx":8505
 *     def height(self, unsigned int height):
 *         pass
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cudart.pyx":8503
 *         return self._ptr[0].height
 *     @height.setter
 *     def height(self, unsigned int height):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8507
 *         self._ptr[0].height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].depth
 *     @depth.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8507, 0, __PYX_ERR(0, 8507, __pyx_L1_error));

  /* "cuda/cudart.pyx":8508
 *     @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(0, 8508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8507
 *         self._ptr[0].height = height
 *     @property
 *     def depth(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].depth
 *     @depth.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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/cudart.pyx":8510
 *         return self._ptr[0].depth
 *     @depth.setter
 *     def depth(self, unsigned int depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].depth = depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth) {
  unsigned int __pyx_v_depth;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8510, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((unsigned int)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8510, 0, __PYX_ERR(0, 8510, __pyx_L1_error));

  /* "cuda/cudart.pyx":8512
 *     def depth(self, unsigned int depth):
 *         pass
 *         self._ptr[0].depth = depth             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch(self):
 */
  (__pyx_v_self->_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/cudart.pyx":8510
 *         return self._ptr[0].depth
 *     @depth.setter
 *     def depth(self, unsigned int depth):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].depth = depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8514
 *         self._ptr[0].depth = depth
 *     @property
 *     def pitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pitch
 *     @pitch.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8514, 0, __PYX_ERR(0, 8514, __pyx_L1_error));

  /* "cuda/cudart.pyx":8515
 *     @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(0, 8515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8514
 *         self._ptr[0].depth = depth
 *     @property
 *     def pitch(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].pitch
 *     @pitch.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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/cudart.pyx":8517
 *         return self._ptr[0].pitch
 *     @pitch.setter
 *     def pitch(self, unsigned int pitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pitch = pitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch) {
  unsigned int __pyx_v_pitch;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8517, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((unsigned int)__pyx_v_pitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_pitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8517, 0, __PYX_ERR(0, 8517, __pyx_L1_error));

  /* "cuda/cudart.pyx":8519
 *     def pitch(self, unsigned int pitch):
 *         pass
 *         self._ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def numChannels(self):
 */
  (__pyx_v_self->_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/cudart.pyx":8517
 *         return self._ptr[0].pitch
 *     @pitch.setter
 *     def pitch(self, unsigned int pitch):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].pitch = pitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8521
 *         self._ptr[0].pitch = pitch
 *     @property
 *     def numChannels(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numChannels
 *     @numChannels.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8521, 0, __PYX_ERR(0, 8521, __pyx_L1_error));

  /* "cuda/cudart.pyx":8522
 *     @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(0, 8522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8521
 *         self._ptr[0].pitch = pitch
 *     @property
 *     def numChannels(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].numChannels
 *     @numChannels.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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/cudart.pyx":8524
 *         return self._ptr[0].numChannels
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numChannels = numChannels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels) {
  unsigned int __pyx_v_numChannels;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8524, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((unsigned int)__pyx_v_numChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, unsigned int __pyx_v_numChannels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8524, 0, __PYX_ERR(0, 8524, __pyx_L1_error));

  /* "cuda/cudart.pyx":8526
 *     def numChannels(self, unsigned int numChannels):
 *         pass
 *         self._ptr[0].numChannels = numChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def channelDesc(self):
 */
  (__pyx_v_self->_ptr[0]).numChannels = __pyx_v_numChannels;

  /* "cuda/cudart.pyx":8524
 *         return self._ptr[0].numChannels
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numChannels = numChannels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8528
 *         self._ptr[0].numChannels = numChannels
 *     @property
 *     def channelDesc(self):             # <<<<<<<<<<<<<<
 *         return self._channelDesc
 *     @channelDesc.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8528, 0, __PYX_ERR(0, 8528, __pyx_L1_error));

  /* "cuda/cudart.pyx":8529
 *     @property
 *     def channelDesc(self):
 *         return self._channelDesc             # <<<<<<<<<<<<<<
 *     @channelDesc.setter
 *     def channelDesc(self, channelDesc not None : cudaChannelFormatDesc):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_channelDesc));
  __pyx_r = ((PyObject *)__pyx_v_self->_channelDesc);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8528
 *         self._ptr[0].numChannels = numChannels
 *     @property
 *     def channelDesc(self):             # <<<<<<<<<<<<<<
 *         return self._channelDesc
 *     @channelDesc.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.channelDesc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8531
 *         return self._channelDesc
 *     @channelDesc.setter
 *     def channelDesc(self, channelDesc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(channelDesc):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_channelDesc); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_channelDesc) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_channelDesc), __pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc, 0, "channelDesc", 0))) __PYX_ERR(0, 8531, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_v_channelDesc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_channelDesc) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8531, 0, __PYX_ERR(0, 8531, __pyx_L1_error));

  /* "cuda/cudart.pyx":8533
 *     def channelDesc(self, channelDesc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(channelDesc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_channelDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8533, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8533, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8533, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8533, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8533, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 8533, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":8534
 *         pass
 *         for _attr in dir(channelDesc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8534, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":8535
 *         for _attr in dir(channelDesc):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._channelDesc, _attr, getattr(channelDesc, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":8534
 *         pass
 *         for _attr in dir(channelDesc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":8536
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._channelDesc, _attr, getattr(channelDesc, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8536, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":8537
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._channelDesc, _attr, getattr(channelDesc, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_channelDesc);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_channelDesc), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 8537, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8536
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._channelDesc, _attr, getattr(channelDesc, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":8533
 *     def channelDesc(self, channelDesc not None : cudaChannelFormatDesc):
 *         pass
 *         for _attr in dir(channelDesc):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8531
 *         return self._channelDesc
 *     @channelDesc.setter
 *     def channelDesc(self, channelDesc not None : cudaChannelFormatDesc):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(channelDesc):
 */

  /* 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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.channelDesc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8539
 *                 setattr(self._channelDesc, _attr, getattr(channelDesc, _attr))
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved___get__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8539, 0, __PYX_ERR(0, 8539, __pyx_L1_error));

  /* "cuda/cudart.pyx":8540
 *     @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(0, 8540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8539
 *                 setattr(self._channelDesc, _attr, getattr(channelDesc, _attr))
 *     @property
 *     def reserved(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].reserved
 *     @reserved.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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/cudart.pyx":8542
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8542, 0, __PYX_ERR(0, 8542, __pyx_L1_error));

  /* "cuda/cudart.pyx":8544
 *     def reserved(self, reserved):
 *         pass
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u:
 */
  if (unlikely(__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 4) < 0)) __PYX_ERR(0, 8544, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (4));

  /* "cuda/cudart.pyx":8542
 *         return self._ptr[0].reserved
 *     @reserved.setter
 *     def reserved(self, reserved):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_st.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_6cudart_19cudaEglPlaneDesc_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_10__reduce_cython__[] = "cudaEglPlaneDesc_st.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaEglPlaneDesc_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = 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__357)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__358, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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_6cudart_19cudaEglPlaneDesc_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_12__setstate_cython__[] = "cudaEglPlaneDesc_st.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaEglPlaneDesc_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaEglPlaneDesc_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__360, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglPlaneDesc_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/cudart.pyx":8562
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaEglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8562, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 8562, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8562, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u___cinit__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u___cinit__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8562, 0, __PYX_ERR(0, 8562, __pyx_L1_error));

  /* "cuda/cudart.pyx":8563
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaEglFrame_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":8562
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccudart.cudaEglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8564
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaEglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 8564, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__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(0, 8564, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8564, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_2__init__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 8564, 0, __PYX_ERR(0, 8564, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8566
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_4getPtr[] = "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_5getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_4getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_5getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_4getPtr(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_4getPtr(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self) {
  PyObject *__pyx_r = 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__361)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8566, 0, __PYX_ERR(0, 8566, __pyx_L1_error));

  /* "cuda/cudart.pyx":8567
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8566
 *     def __init__(self, void_ptr _ptr):
 *         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.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.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/cudart.pyx":8568
 *     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_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6__repr__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6__repr__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr57__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8568, 0, __PYX_ERR(0, 8568, __pyx_L1_error));

  /* "cuda/cudart.pyx":8569
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['pArray : ' + str(self.pArray)]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8570
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['pArray : ' + str(self.pArray)]
 *             str_list += ['pPitch :\n' + '\n'.join(['    ' + line for line in str(self.pPitch).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8571
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['pArray : ' + str(self.pArray)]             # <<<<<<<<<<<<<<
 *             str_list += ['pPitch :\n' + '\n'.join(['    ' + line for line in str(self.pPitch).splitlines()])]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pArray, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8572
 *             str_list = []
 *             str_list += ['pArray : ' + str(self.pArray)]
 *             str_list += ['pPitch :\n' + '\n'.join(['    ' + line for line in str(self.pPitch).splitlines()])]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8572, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pPitch_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8572, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8572, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8572, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 8572, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8572, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr57__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr57__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8572, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 8572, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr57__pyx_v_line); __pyx_9genexpr57__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr57__pyx_v_line); __pyx_9genexpr57__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pPitch, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8573
 *             str_list += ['pArray : ' + str(self.pArray)]
 *             str_list += ['pPitch :\n' + '\n'.join(['    ' + line for line in str(self.pPitch).splitlines()])]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":8569
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['pArray : ' + str(self.pArray)]
 */
  }

  /* "cuda/cudart.pyx":8575
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":8568
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr57__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8578
 * 
 *     @property
 *     def pArray(self):             # <<<<<<<<<<<<<<
 *         return [cudaArray_t(init_value=<void_ptr>_pArray) for _pArray in self._ptr[0].frame.pArray]
 *     @pArray.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray___get__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray___get__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self) {
  cudaArray_t __pyx_9genexpr58__pyx_v__pArray;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaArray_t *__pyx_t_2;
  cudaArray_t *__pyx_t_3;
  cudaArray_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8578, 0, __PYX_ERR(0, 8578, __pyx_L1_error));

  /* "cuda/cudart.pyx":8579
 *     @property
 *     def pArray(self):
 *         return [cudaArray_t(init_value=<void_ptr>_pArray) for _pArray in self._ptr[0].frame.pArray]             # <<<<<<<<<<<<<<
 *     @pArray.setter
 *     def pArray(self, pArray : List[cudaArray_t]):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8579, __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_9genexpr58__pyx_v__pArray = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8579, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_9genexpr58__pyx_v__pArray)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8579, __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(0, 8579, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8579, __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(0, 8579, __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/cudart.pyx":8578
 * 
 *     @property
 *     def pArray(self):             # <<<<<<<<<<<<<<
 *         return [cudaArray_t(init_value=<void_ptr>_pArray) for _pArray in self._ptr[0].frame.pArray]
 *     @pArray.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.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/cudart.pyx":8581
 *         return [cudaArray_t(init_value=<void_ptr>_pArray) for _pArray in self._ptr[0].frame.pArray]
 *     @pArray.setter
 *     def pArray(self, pArray : List[cudaArray_t]):             # <<<<<<<<<<<<<<
 *         if len(pArray) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pArray); /*proto*/
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pArray) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self), ((PyObject *)__pyx_v_pArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_2__set__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, PyObject *__pyx_v_pArray) {
  PyObject *__pyx_v__idx = NULL;
  PyObject *__pyx_v__pArray = NULL;
  PyObject *__pyx_9genexpr59__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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8581, 0, __PYX_ERR(0, 8581, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_pArray);

  /* "cuda/cudart.pyx":8582
 *     @pArray.setter
 *     def pArray(self, pArray : List[cudaArray_t]):
 *         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 = PyObject_Length(__pyx_v_pArray); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8582, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 3) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8583
 *     def pArray(self, pArray : List[cudaArray_t]):
 *         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 = PyObject_Length(__pyx_v_pArray); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8583, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8583, __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);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_not_enough_values_found_during_a);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8583, __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(0, 8583, __pyx_L1_error)

    /* "cuda/cudart.pyx":8582
 *     @pArray.setter
 *     def pArray(self, pArray : List[cudaArray_t]):
 *         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/cudart.pyx":8584
 *         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] = <ccudart.cudaArray_t><void_ptr>_pArray
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8584, __pyx_L6_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (likely(PyList_CheckExact(__pyx_v_pArray)) || PyTuple_CheckExact(__pyx_v_pArray)) {
      __pyx_t_4 = __pyx_v_pArray; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_pArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8584, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8584, __pyx_L6_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 8584, __pyx_L6_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8584, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 8584, __pyx_L6_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8584, __pyx_L6_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_4);
        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(0, 8584, __pyx_L6_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr59__pyx_v__pArray, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_9genexpr59__pyx_v__pArray); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8584, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 8584, __pyx_L6_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_9genexpr59__pyx_v__pArray); __pyx_9genexpr59__pyx_v__pArray = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_9genexpr59__pyx_v__pArray); __pyx_9genexpr59__pyx_v__pArray = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pArray, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":8585
 *             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] = <ccudart.cudaArray_t><void_ptr>_pArray
 *     @property
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_3 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_pArray)) || PyTuple_CheckExact(__pyx_v_pArray)) {
    __pyx_t_4 = __pyx_v_pArray; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_pArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8585, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 8585, __pyx_L1_error)
        #else
        __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8585, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 8585, __pyx_L1_error)
        #else
        __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8585, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_4);
      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(0, 8585, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v__pArray, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v__idx, __pyx_t_3);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3);
    __pyx_t_3 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":8586
 *         pArray = [int(_pArray) for _pArray in pArray]
 *         for _idx, _pArray in enumerate(pArray):
 *             self._ptr[0].frame.pArray[_idx] = <ccudart.cudaArray_t><void_ptr>_pArray             # <<<<<<<<<<<<<<
 *     @property
 *     def pPitch(self):
 */
    __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(0, 8586, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v__idx); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 8586, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).frame.pArray[__pyx_t_8]) = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":8585
 *             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] = <ccudart.cudaArray_t><void_ptr>_pArray
 *     @property
 */
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":8581
 *         return [cudaArray_t(init_value=<void_ptr>_pArray) for _pArray in self._ptr[0].frame.pArray]
 *     @pArray.setter
 *     def pArray(self, pArray : List[cudaArray_t]):             # <<<<<<<<<<<<<<
 *         if len(pArray) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pArray))
 */

  /* 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.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.pArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__idx);
  __Pyx_XDECREF(__pyx_v__pArray);
  __Pyx_XDECREF(__pyx_9genexpr59__pyx_v__pArray);
  __Pyx_XDECREF(__pyx_v_pArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8588
 *             self._ptr[0].frame.pArray[_idx] = <ccudart.cudaArray_t><void_ptr>_pArray
 *     @property
 *     def pPitch(self):             # <<<<<<<<<<<<<<
 *         out_pPitch = [cudaPitchedPtr() for _pPitch in self._ptr[0].frame.pPitch]
 *         for _idx in range(len(out_pPitch)):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch___get__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch___get__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self) {
  PyObject *__pyx_v_out_pPitch = NULL;
  Py_ssize_t __pyx_v__idx;
  CYTHON_UNUSED struct cudaPitchedPtr __pyx_9genexpr60__pyx_v__pPitch;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaPitchedPtr *__pyx_t_2;
  struct cudaPitchedPtr *__pyx_t_3;
  struct cudaPitchedPtr *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8588, 0, __PYX_ERR(0, 8588, __pyx_L1_error));

  /* "cuda/cudart.pyx":8589
 *     @property
 *     def pPitch(self):
 *         out_pPitch = [cudaPitchedPtr() for _pPitch in self._ptr[0].frame.pPitch]             # <<<<<<<<<<<<<<
 *         for _idx in range(len(out_pPitch)):
 *             memcpy(<ccudart.cudaPitchedPtr*><void_ptr>out_pPitch[_idx].getPtr(), &self._ptr[0].frame.pPitch[_idx], sizeof(ccudart.cudaPitchedPtr))
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8589, __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_9genexpr60__pyx_v__pPitch = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8589, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 8589, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_out_pPitch = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8590
 *     def pPitch(self):
 *         out_pPitch = [cudaPitchedPtr() for _pPitch in self._ptr[0].frame.pPitch]
 *         for _idx in range(len(out_pPitch)):             # <<<<<<<<<<<<<<
 *             memcpy(<ccudart.cudaPitchedPtr*><void_ptr>out_pPitch[_idx].getPtr(), &self._ptr[0].frame.pPitch[_idx], sizeof(ccudart.cudaPitchedPtr))
 *         return out_pPitch
 */
  __pyx_t_6 = PyList_GET_SIZE(__pyx_v_out_pPitch); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8590, __pyx_L1_error)
  __pyx_t_7 = __pyx_t_6;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v__idx = __pyx_t_8;

    /* "cuda/cudart.pyx":8591
 *         out_pPitch = [cudaPitchedPtr() for _pPitch in self._ptr[0].frame.pPitch]
 *         for _idx in range(len(out_pPitch)):
 *             memcpy(<ccudart.cudaPitchedPtr*><void_ptr>out_pPitch[_idx].getPtr(), &self._ptr[0].frame.pPitch[_idx], sizeof(ccudart.cudaPitchedPtr))             # <<<<<<<<<<<<<<
 *         return out_pPitch
 *     @pPitch.setter
 */
    __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_out_pPitch, __pyx_v__idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_9, function);
      }
    }
    __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_10 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8591, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    (void)(memcpy(((struct cudaPitchedPtr *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_10)), (&((__pyx_v_self->_ptr[0]).frame.pPitch[__pyx_v__idx])), (sizeof(struct cudaPitchedPtr))));
  }

  /* "cuda/cudart.pyx":8592
 *         for _idx in range(len(out_pPitch)):
 *             memcpy(<ccudart.cudaPitchedPtr*><void_ptr>out_pPitch[_idx].getPtr(), &self._ptr[0].frame.pPitch[_idx], sizeof(ccudart.cudaPitchedPtr))
 *         return out_pPitch             # <<<<<<<<<<<<<<
 *     @pPitch.setter
 *     def pPitch(self, pPitch : List[cudaPitchedPtr]):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_out_pPitch);
  __pyx_r = __pyx_v_out_pPitch;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8588
 *             self._ptr[0].frame.pArray[_idx] = <ccudart.cudaArray_t><void_ptr>_pArray
 *     @property
 *     def pPitch(self):             # <<<<<<<<<<<<<<
 *         out_pPitch = [cudaPitchedPtr() for _pPitch in self._ptr[0].frame.pPitch]
 *         for _idx in range(len(out_pPitch)):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.pPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out_pPitch);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8594
 *         return out_pPitch
 *     @pPitch.setter
 *     def pPitch(self, pPitch : List[cudaPitchedPtr]):             # <<<<<<<<<<<<<<
 *         if len(pPitch) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pPitch); /*proto*/
static int __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pPitch) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_2__set__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self), ((PyObject *)__pyx_v_pPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_2__set__(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, PyObject *__pyx_v_pPitch) {
  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;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8594, 0, __PYX_ERR(0, 8594, __pyx_L1_error));

  /* "cuda/cudart.pyx":8595
 *     @pPitch.setter
 *     def pPitch(self, pPitch : List[cudaPitchedPtr]):
 *         if len(pPitch) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         for _idx in range(len(pPitch)):
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_pPitch); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8595, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 3) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8596
 *     def pPitch(self, pPitch : List[cudaPitchedPtr]):
 *         if len(pPitch) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))             # <<<<<<<<<<<<<<
 *         for _idx in range(len(pPitch)):
 *             memcpy(&self._ptr[0].frame.pPitch[_idx], <ccudart.cudaPitchedPtr*><void_ptr>pPitch[_idx].getPtr(), sizeof(ccudart.cudaPitchedPtr))
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_pPitch); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8596, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8596, __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);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_not_enough_values_found_during_a);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8596, __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(0, 8596, __pyx_L1_error)

    /* "cuda/cudart.pyx":8595
 *     @pPitch.setter
 *     def pPitch(self, pPitch : List[cudaPitchedPtr]):
 *         if len(pPitch) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         for _idx in range(len(pPitch)):
 */
  }

  /* "cuda/cudart.pyx":8597
 *         if len(pPitch) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         for _idx in range(len(pPitch)):             # <<<<<<<<<<<<<<
 *             memcpy(&self._ptr[0].frame.pPitch[_idx], <ccudart.cudaPitchedPtr*><void_ptr>pPitch[_idx].getPtr(), sizeof(ccudart.cudaPitchedPtr))
 * 
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_pPitch); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8597, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_1;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v__idx = __pyx_t_6;

    /* "cuda/cudart.pyx":8598
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 *         for _idx in range(len(pPitch)):
 *             memcpy(&self._ptr[0].frame.pPitch[_idx], <ccudart.cudaPitchedPtr*><void_ptr>pPitch[_idx].getPtr(), sizeof(ccudart.cudaPitchedPtr))             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaEglFrame_st:
 */
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_pPitch, __pyx_v__idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8598, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (void)(memcpy((&((__pyx_v_self->_ptr[0]).frame.pPitch[__pyx_v__idx])), ((struct cudaPitchedPtr *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_8)), (sizeof(struct cudaPitchedPtr))));
  }

  /* "cuda/cudart.pyx":8594
 *         return out_pPitch
 *     @pPitch.setter
 *     def pPitch(self, pPitch : List[cudaPitchedPtr]):             # <<<<<<<<<<<<<<
 *         if len(pPitch) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(pPitch))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.pPitch.__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_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_8__reduce_cython__[] = "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_8__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_8__reduce_cython__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self) {
  PyObject *__pyx_r = 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("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__363, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__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_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_10__setstate_cython__[] = "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_10__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_10__setstate_cython__(((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__364)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__365, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.__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/cudart.pyx":8630
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8630, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8630, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8630, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st___cinit__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8630, 0, __PYX_ERR(0, 8630, __pyx_L1_error));

  /* "cuda/cudart.pyx":8631
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8632
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaEglFrame_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8631
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8634
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaEglFrame_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._frame = _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8630
 * 
 *     """
 *     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.cudart.cudaEglFrame_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8635
 *         else:
 *             self._ptr = <ccudart.cudaEglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._frame = _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 8635, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8635, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8635, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_2__init__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__init__", __pyx_f[0], 8635, 0, __PYX_ERR(0, 8635, __pyx_L1_error));

  /* "cuda/cudart.pyx":8636
 *             self._ptr = <ccudart.cudaEglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._frame = _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(0, 8636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->_frame);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_frame));
  __pyx_v_self->_frame = ((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8635
 *         else:
 *             self._ptr = <ccudart.cudaEglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._frame = _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(_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.cudart.cudaEglFrame_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8637
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._frame = _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8637, 0, __PYX_ERR(0, 8637, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaEglFrame_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8639
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_6getPtr[] = "cudaEglFrame_st.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaEglFrame_st_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = 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__366)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8639, 0, __PYX_ERR(0, 8639, __pyx_L1_error));

  /* "cuda/cudart.pyx":8640
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8639
 *     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.cudart.cudaEglFrame_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/cudart.pyx":8641
 *     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_6cudart_15cudaEglFrame_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr61__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr62__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;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8641, 0, __PYX_ERR(0, 8641, __pyx_L1_error));

  /* "cuda/cudart.pyx":8642
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8643
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             str_list += ['planeDesc :\n' + '\n'.join(['    ' + line for line in str(self.planeDesc).splitlines()])]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8644
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['planeDesc :\n' + '\n'.join(['    ' + line for line in str(self.planeDesc).splitlines()])]
 *             str_list += ['planeCount : ' + str(self.planeCount)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8644, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_frame_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8644, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8644, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_Splitlines(((PyObject*)__pyx_t_4), 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8644, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 8644, __pyx_L6_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8644, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr61__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr61__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8644, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 8644, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_line); __pyx_9genexpr61__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_line); __pyx_9genexpr61__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_frame, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8645
 *             str_list = []
 *             str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             str_list += ['planeDesc :\n' + '\n'.join(['    ' + line for line in str(self.planeDesc).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['planeCount : ' + str(self.planeCount)]
 *             str_list += ['frameType : ' + str(self.frameType)]
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8645, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_planeDesc_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8645, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8645, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyUnicode_Splitlines(((PyObject*)__pyx_t_3), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8645, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 8645, __pyx_L12_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8645, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr62__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__80, __pyx_9genexpr62__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8645, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 8645, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr62__pyx_v_line); __pyx_9genexpr62__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr62__pyx_v_line); __pyx_9genexpr62__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__63, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_planeDesc, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8646
 *             str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             str_list += ['planeDesc :\n' + '\n'.join(['    ' + line for line in str(self.planeDesc).splitlines()])]
 *             str_list += ['planeCount : ' + str(self.planeCount)]             # <<<<<<<<<<<<<<
 *             str_list += ['frameType : ' + str(self.frameType)]
 *             str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_planeCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_planeCount, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8647
 *             str_list += ['planeDesc :\n' + '\n'.join(['    ' + line for line in str(self.planeDesc).splitlines()])]
 *             str_list += ['planeCount : ' + str(self.planeCount)]
 *             str_list += ['frameType : ' + str(self.frameType)]             # <<<<<<<<<<<<<<
 *             str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             return '\n'.join(str_list)
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_frameType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_frameType, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8648
 *             str_list += ['planeCount : ' + str(self.planeCount)]
 *             str_list += ['frameType : ' + str(self.frameType)]
 *             str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_eglColorFormat_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_eglColorFormat, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":8649
 *             str_list += ['frameType : ' + str(self.frameType)]
 *             str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__63, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":8642
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":8651
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__64);
    __pyx_r = __pyx_kp_u__64;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":8641
 *     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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr62__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8654
 * 
 *     @property
 *     def frame(self):             # <<<<<<<<<<<<<<
 *         return self._frame
 *     @frame.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5frame_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5frame_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_5frame___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_5frame___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_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__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8654, 0, __PYX_ERR(0, 8654, __pyx_L1_error));

  /* "cuda/cudart.pyx":8655
 *     @property
 *     def frame(self):
 *         return self._frame             # <<<<<<<<<<<<<<
 *     @frame.setter
 *     def frame(self, frame not None : _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_frame));
  __pyx_r = ((PyObject *)__pyx_v_self->_frame);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8654
 * 
 *     @property
 *     def frame(self):             # <<<<<<<<<<<<<<
 *         return self._frame
 *     @frame.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_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/cudart.pyx":8657
 *         return self._frame
 *     @frame.setter
 *     def frame(self, frame not None : _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(frame):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frame); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frame) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_frame), __pyx_ptype_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u, 0, "frame", 0))) __PYX_ERR(0, 8657, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_5frame_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)__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_6cudart_15cudaEglFrame_st_5frame_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *__pyx_v_frame) {
  PyObject *__pyx_v__attr = 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 *);
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8657, 0, __PYX_ERR(0, 8657, __pyx_L1_error));

  /* "cuda/cudart.pyx":8659
 *     def frame(self, frame not None : _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u):
 *         pass
 *         for _attr in dir(frame):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_frame)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8659, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8659, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8659, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 8659, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8659, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      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(0, 8659, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v__attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":8660
 *         pass
 *         for _attr in dir(frame):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v__attr, __pyx_n_u_getPtr, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8660, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":8661
 *         for _attr in dir(frame):
 *             if _attr == 'getPtr':
 *                 continue             # <<<<<<<<<<<<<<
 *             if not _attr.startswith('_'):
 *                 setattr(self._frame, _attr, getattr(frame, _attr))
 */
      goto __pyx_L3_continue;

      /* "cuda/cudart.pyx":8660
 *         pass
 *         for _attr in dir(frame):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":8662
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._frame, _attr, getattr(frame, _attr))
 *     @property
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v__attr, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_n_u__81) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__81);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 8662, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = ((!__pyx_t_5) != 0);
    if (__pyx_t_8) {

      /* "cuda/cudart.pyx":8663
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._frame, _attr, getattr(frame, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def planeDesc(self):
 */
      __pyx_t_1 = ((PyObject *)__pyx_v_self->_frame);
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = __Pyx_GetAttr(((PyObject *)__pyx_v_frame), __pyx_v__attr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = PyObject_SetAttr(__pyx_t_1, __pyx_v__attr, __pyx_t_6); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 8663, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":8662
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._frame, _attr, getattr(frame, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":8659
 *     def frame(self, frame not None : _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u):
 *         pass
 *         for _attr in dir(frame):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8657
 *         return self._frame
 *     @frame.setter
 *     def frame(self, frame not None : _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.frame.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__attr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8665
 *                 setattr(self._frame, _attr, getattr(frame, _attr))
 *     @property
 *     def planeDesc(self):             # <<<<<<<<<<<<<<
 *         out_planeDesc = [cudaEglPlaneDesc() for _planeDesc in self._ptr[0].planeDesc]
 *         for _idx in range(len(out_planeDesc)):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9planeDesc___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9planeDesc___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self) {
  PyObject *__pyx_v_out_planeDesc = NULL;
  Py_ssize_t __pyx_v__idx;
  CYTHON_UNUSED __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc __pyx_9genexpr63__pyx_v__planeDesc;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc *__pyx_t_2;
  __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc *__pyx_t_3;
  __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8665, 0, __PYX_ERR(0, 8665, __pyx_L1_error));

  /* "cuda/cudart.pyx":8666
 *     @property
 *     def planeDesc(self):
 *         out_planeDesc = [cudaEglPlaneDesc() for _planeDesc in self._ptr[0].planeDesc]             # <<<<<<<<<<<<<<
 *         for _idx in range(len(out_planeDesc)):
 *             memcpy(<ccudart.cudaEglPlaneDesc*><void_ptr>out_planeDesc[_idx].getPtr(), &self._ptr[0].planeDesc[_idx], sizeof(ccudart.cudaEglPlaneDesc))
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_ptr[0]).planeDesc + 3);
    for (__pyx_t_4 = (__pyx_v_self->_ptr[0]).planeDesc; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_9genexpr63__pyx_v__planeDesc = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8666, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 8666, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_out_planeDesc = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8667
 *     def planeDesc(self):
 *         out_planeDesc = [cudaEglPlaneDesc() for _planeDesc in self._ptr[0].planeDesc]
 *         for _idx in range(len(out_planeDesc)):             # <<<<<<<<<<<<<<
 *             memcpy(<ccudart.cudaEglPlaneDesc*><void_ptr>out_planeDesc[_idx].getPtr(), &self._ptr[0].planeDesc[_idx], sizeof(ccudart.cudaEglPlaneDesc))
 *         return out_planeDesc
 */
  __pyx_t_6 = PyList_GET_SIZE(__pyx_v_out_planeDesc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8667, __pyx_L1_error)
  __pyx_t_7 = __pyx_t_6;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v__idx = __pyx_t_8;

    /* "cuda/cudart.pyx":8668
 *         out_planeDesc = [cudaEglPlaneDesc() for _planeDesc in self._ptr[0].planeDesc]
 *         for _idx in range(len(out_planeDesc)):
 *             memcpy(<ccudart.cudaEglPlaneDesc*><void_ptr>out_planeDesc[_idx].getPtr(), &self._ptr[0].planeDesc[_idx], sizeof(ccudart.cudaEglPlaneDesc))             # <<<<<<<<<<<<<<
 *         return out_planeDesc
 *     @planeDesc.setter
 */
    __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_out_planeDesc, __pyx_v__idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_9, function);
      }
    }
    __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_10 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8668, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    (void)(memcpy(((__pyx_t_4cuda_7ccudart_cudaEglPlaneDesc *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_10)), (&((__pyx_v_self->_ptr[0]).planeDesc[__pyx_v__idx])), (sizeof(__pyx_t_4cuda_7ccudart_cudaEglPlaneDesc))));
  }

  /* "cuda/cudart.pyx":8669
 *         for _idx in range(len(out_planeDesc)):
 *             memcpy(<ccudart.cudaEglPlaneDesc*><void_ptr>out_planeDesc[_idx].getPtr(), &self._ptr[0].planeDesc[_idx], sizeof(ccudart.cudaEglPlaneDesc))
 *         return out_planeDesc             # <<<<<<<<<<<<<<
 *     @planeDesc.setter
 *     def planeDesc(self, planeDesc : List[cudaEglPlaneDesc]):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_out_planeDesc);
  __pyx_r = __pyx_v_out_planeDesc;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8665
 *                 setattr(self._frame, _attr, getattr(frame, _attr))
 *     @property
 *     def planeDesc(self):             # <<<<<<<<<<<<<<
 *         out_planeDesc = [cudaEglPlaneDesc() for _planeDesc in self._ptr[0].planeDesc]
 *         for _idx in range(len(out_planeDesc)):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.planeDesc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out_planeDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8671
 *         return out_planeDesc
 *     @planeDesc.setter
 *     def planeDesc(self, planeDesc : List[cudaEglPlaneDesc]):             # <<<<<<<<<<<<<<
 *         if len(planeDesc) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(planeDesc))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_planeDesc); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_planeDesc) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v_planeDesc));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, PyObject *__pyx_v_planeDesc) {
  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;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8671, 0, __PYX_ERR(0, 8671, __pyx_L1_error));

  /* "cuda/cudart.pyx":8672
 *     @planeDesc.setter
 *     def planeDesc(self, planeDesc : List[cudaEglPlaneDesc]):
 *         if len(planeDesc) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(planeDesc))
 *         for _idx in range(len(planeDesc)):
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_planeDesc); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8672, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 3) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8673
 *     def planeDesc(self, planeDesc : List[cudaEglPlaneDesc]):
 *         if len(planeDesc) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(planeDesc))             # <<<<<<<<<<<<<<
 *         for _idx in range(len(planeDesc)):
 *             memcpy(&self._ptr[0].planeDesc[_idx], <ccudart.cudaEglPlaneDesc*><void_ptr>planeDesc[_idx].getPtr(), sizeof(ccudart.cudaEglPlaneDesc))
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_planeDesc); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8673, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8673, __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);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_not_enough_values_found_during_a);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8673, __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(0, 8673, __pyx_L1_error)

    /* "cuda/cudart.pyx":8672
 *     @planeDesc.setter
 *     def planeDesc(self, planeDesc : List[cudaEglPlaneDesc]):
 *         if len(planeDesc) != 3:             # <<<<<<<<<<<<<<
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(planeDesc))
 *         for _idx in range(len(planeDesc)):
 */
  }

  /* "cuda/cudart.pyx":8674
 *         if len(planeDesc) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(planeDesc))
 *         for _idx in range(len(planeDesc)):             # <<<<<<<<<<<<<<
 *             memcpy(&self._ptr[0].planeDesc[_idx], <ccudart.cudaEglPlaneDesc*><void_ptr>planeDesc[_idx].getPtr(), sizeof(ccudart.cudaEglPlaneDesc))
 *     @property
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_planeDesc); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 8674, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_1;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v__idx = __pyx_t_6;

    /* "cuda/cudart.pyx":8675
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(planeDesc))
 *         for _idx in range(len(planeDesc)):
 *             memcpy(&self._ptr[0].planeDesc[_idx], <ccudart.cudaEglPlaneDesc*><void_ptr>planeDesc[_idx].getPtr(), sizeof(ccudart.cudaEglPlaneDesc))             # <<<<<<<<<<<<<<
 *     @property
 *     def planeCount(self):
 */
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_planeDesc, __pyx_v__idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8675, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (void)(memcpy((&((__pyx_v_self->_ptr[0]).planeDesc[__pyx_v__idx])), ((__pyx_t_4cuda_7ccudart_cudaEglPlaneDesc *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_8)), (sizeof(__pyx_t_4cuda_7ccudart_cudaEglPlaneDesc))));
  }

  /* "cuda/cudart.pyx":8671
 *         return out_planeDesc
 *     @planeDesc.setter
 *     def planeDesc(self, planeDesc : List[cudaEglPlaneDesc]):             # <<<<<<<<<<<<<<
 *         if len(planeDesc) != 3:
 *             raise IndexError('not enough values found during array assignment, expected 3, got', len(planeDesc))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.planeDesc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8677
 *             memcpy(&self._ptr[0].planeDesc[_idx], <ccudart.cudaEglPlaneDesc*><void_ptr>planeDesc[_idx].getPtr(), sizeof(ccudart.cudaEglPlaneDesc))
 *     @property
 *     def planeCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].planeCount
 *     @planeCount.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_10planeCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_10planeCount_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10planeCount___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10planeCount___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8677, 0, __PYX_ERR(0, 8677, __pyx_L1_error));

  /* "cuda/cudart.pyx":8678
 *     @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(0, 8678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8677
 *             memcpy(&self._ptr[0].planeDesc[_idx], <ccudart.cudaEglPlaneDesc*><void_ptr>planeDesc[_idx].getPtr(), sizeof(ccudart.cudaEglPlaneDesc))
 *     @property
 *     def planeCount(self):             # <<<<<<<<<<<<<<
 *         return self._ptr[0].planeCount
 *     @planeCount.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_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/cudart.pyx":8680
 *         return self._ptr[0].planeCount
 *     @planeCount.setter
 *     def planeCount(self, unsigned int planeCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].planeCount = planeCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_10planeCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_planeCount); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_10planeCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_planeCount) {
  unsigned int __pyx_v_planeCount;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  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(0, 8680, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.planeCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10planeCount_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_planeCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10planeCount_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, unsigned int __pyx_v_planeCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8680, 0, __PYX_ERR(0, 8680, __pyx_L1_error));

  /* "cuda/cudart.pyx":8682
 *     def planeCount(self, unsigned int planeCount):
 *         pass
 *         self._ptr[0].planeCount = planeCount             # <<<<<<<<<<<<<<
 *     @property
 *     def frameType(self):
 */
  (__pyx_v_self->_ptr[0]).planeCount = __pyx_v_planeCount;

  /* "cuda/cudart.pyx":8680
 *         return self._ptr[0].planeCount
 *     @planeCount.setter
 *     def planeCount(self, unsigned int planeCount):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].planeCount = planeCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_st.planeCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8684
 *         self._ptr[0].planeCount = planeCount
 *     @property
 *     def frameType(self):             # <<<<<<<<<<<<<<
 *         return cudaEglFrameType(self._ptr[0].frameType)
 *     @frameType.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9frameType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9frameType_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9frameType___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9frameType___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8684, 0, __PYX_ERR(0, 8684, __pyx_L1_error));

  /* "cuda/cudart.pyx":8685
 *     @property
 *     def frameType(self):
 *         return cudaEglFrameType(self._ptr[0].frameType)             # <<<<<<<<<<<<<<
 *     @frameType.setter
 *     def frameType(self, frameType not None : cudaEglFrameType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaEglFrameType); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum((__pyx_v_self->_ptr[0]).frameType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8685, __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/cudart.pyx":8684
 *         self._ptr[0].planeCount = planeCount
 *     @property
 *     def frameType(self):             # <<<<<<<<<<<<<<
 *         return cudaEglFrameType(self._ptr[0].frameType)
 *     @frameType.setter
 */

  /* 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.cudart.cudaEglFrame_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/cudart.pyx":8687
 *         return cudaEglFrameType(self._ptr[0].frameType)
 *     @frameType.setter
 *     def frameType(self, frameType not None : cudaEglFrameType):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].frameType = frameType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9frameType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frameType); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9frameType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frameType) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_frameType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "frameType"); __PYX_ERR(0, 8687, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_9frameType_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_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_6cudart_15cudaEglFrame_st_9frameType_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, PyObject *__pyx_v_frameType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglFrameType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8687, 0, __PYX_ERR(0, 8687, __pyx_L1_error));

  /* "cuda/cudart.pyx":8689
 *     def frameType(self, frameType not None : cudaEglFrameType):
 *         pass
 *         self._ptr[0].frameType = frameType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def eglColorFormat(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frameType, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8689, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).frameType = __pyx_t_2;

  /* "cuda/cudart.pyx":8687
 *         return cudaEglFrameType(self._ptr[0].frameType)
 *     @frameType.setter
 *     def frameType(self, frameType not None : cudaEglFrameType):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaEglFrame_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/cudart.pyx":8691
 *         self._ptr[0].frameType = frameType.value
 *     @property
 *     def eglColorFormat(self):             # <<<<<<<<<<<<<<
 *         return cudaEglColorFormat(self._ptr[0].eglColorFormat)
 *     @eglColorFormat.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat___get__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat___get__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 8691, 0, __PYX_ERR(0, 8691, __pyx_L1_error));

  /* "cuda/cudart.pyx":8692
 *     @property
 *     def eglColorFormat(self):
 *         return cudaEglColorFormat(self._ptr[0].eglColorFormat)             # <<<<<<<<<<<<<<
 *     @eglColorFormat.setter
 *     def eglColorFormat(self, eglColorFormat not None : cudaEglColorFormat):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaEglColorFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum((__pyx_v_self->_ptr[0]).eglColorFormat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 8692, __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/cudart.pyx":8691
 *         self._ptr[0].frameType = frameType.value
 *     @property
 *     def eglColorFormat(self):             # <<<<<<<<<<<<<<
 *         return cudaEglColorFormat(self._ptr[0].eglColorFormat)
 *     @eglColorFormat.setter
 */

  /* 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.cudart.cudaEglFrame_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/cudart.pyx":8694
 *         return cudaEglColorFormat(self._ptr[0].eglColorFormat)
 *     @eglColorFormat.setter
 *     def eglColorFormat(self, eglColorFormat not None : cudaEglColorFormat):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].eglColorFormat = eglColorFormat.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eglColorFormat); /*proto*/
static int __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eglColorFormat) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_eglColorFormat) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "eglColorFormat"); __PYX_ERR(0, 8694, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_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_6cudart_15cudaEglFrame_st_14eglColorFormat_2__set__(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, PyObject *__pyx_v_eglColorFormat) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglColorFormat __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 8694, 0, __PYX_ERR(0, 8694, __pyx_L1_error));

  /* "cuda/cudart.pyx":8696
 *     def eglColorFormat(self, eglColorFormat not None : cudaEglColorFormat):
 *         pass
 *         self._ptr[0].eglColorFormat = eglColorFormat.value             # <<<<<<<<<<<<<<
 * 
 * cdef class GLenum:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_eglColorFormat, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).eglColorFormat = __pyx_t_2;

  /* "cuda/cudart.pyx":8694
 *         return cudaEglColorFormat(self._ptr[0].eglColorFormat)
 *     @eglColorFormat.setter
 *     def eglColorFormat(self, eglColorFormat not None : cudaEglColorFormat):             # <<<<<<<<<<<<<<
 *         pass
 *         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.cudart.cudaEglFrame_st.eglColorFormat.__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_6cudart_15cudaEglFrame_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_10__reduce_cython__[] = "cudaEglFrame_st.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaEglFrame_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = 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__367)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__368, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_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_6cudart_15cudaEglFrame_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_12__setstate_cython__[] = "cudaEglFrame_st.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaEglFrame_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15cudaEglFrame_st_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15cudaEglFrame_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__369)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__370, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaEglFrame_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/cudart.pyx":8707
 * 
 *     """
 *     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_6cudart_6GLenum_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_6GLenum_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8707, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8707, __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(0, 8707, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8707, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.GLenum.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLenum___cinit__(((struct __pyx_obj_4cuda_6cudart_GLenum *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_6GLenum___cinit__(struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8707, 0, __PYX_ERR(0, 8707, __pyx_L1_error));

  /* "cuda/cudart.pyx":8708
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8709
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.GLenum *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8708
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8711
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.GLenum *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_GLenum *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8712
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":8713
 *             self._ptr = <ccudart.GLenum *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8712
 *         else:
 *             self._ptr = <ccudart.GLenum *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8707
 * 
 *     """
 *     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.cudart.GLenum.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8714
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_6GLenum_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_6GLenum_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_6GLenum_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_6GLenum_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8714, 0, __PYX_ERR(0, 8714, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.GLenum.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8716
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_6GLenum_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_6GLenum_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLenum_4__repr__(((struct __pyx_obj_4cuda_6cudart_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8716, 0, __PYX_ERR(0, 8716, __pyx_L1_error));

  /* "cuda/cudart.pyx":8717
 *         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(0, 8717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_GLenum, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8717, __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/cudart.pyx":8716
 *     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.cudart.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/cudart.pyx":8718
 *     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_6cudart_6GLenum_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_6GLenum_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLenum_6__int__(((struct __pyx_obj_4cuda_6cudart_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_6__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8718, 0, __PYX_ERR(0, 8718, __pyx_L1_error));

  /* "cuda/cudart.pyx":8719
 *         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(0, 8719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8718
 *     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.cudart.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/cudart.pyx":8720
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_6GLenum_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_6GLenum_8getPtr[] = "GLenum.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6GLenum_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLenum_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLenum_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_6GLenum_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLenum_8getPtr(((struct __pyx_obj_4cuda_6cudart_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_8getPtr(struct __pyx_obj_4cuda_6cudart_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__371)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8720, 0, __PYX_ERR(0, 8720, __pyx_L1_error));

  /* "cuda/cudart.pyx":8721
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8720
 *     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.cudart.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_6cudart_6GLenum_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_6GLenum_10__reduce_cython__[] = "GLenum.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6GLenum_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLenum_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLenum_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_6GLenum_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLenum_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__372)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__373, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_6GLenum_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_6GLenum_12__setstate_cython__[] = "GLenum.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6GLenum_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLenum_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_6GLenum_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_6GLenum_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLenum_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_GLenum *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLenum_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLenum *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__375, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":8732
 * 
 *     """
 *     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_6cudart_6GLuint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_6GLuint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8732, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8732, __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(0, 8732, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8732, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.GLuint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLuint___cinit__(((struct __pyx_obj_4cuda_6cudart_GLuint *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_6GLuint___cinit__(struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8732, 0, __PYX_ERR(0, 8732, __pyx_L1_error));

  /* "cuda/cudart.pyx":8733
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8734
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.GLuint *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8733
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8736
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.GLuint *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_GLuint *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8737
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":8738
 *             self._ptr = <ccudart.GLuint *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8737
 *         else:
 *             self._ptr = <ccudart.GLuint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8732
 * 
 *     """
 *     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.cudart.GLuint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8739
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_6GLuint_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_6GLuint_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_6GLuint_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_6GLuint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8739, 0, __PYX_ERR(0, 8739, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.GLuint.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8741
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_6GLuint_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_6GLuint_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLuint_4__repr__(((struct __pyx_obj_4cuda_6cudart_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8741, 0, __PYX_ERR(0, 8741, __pyx_L1_error));

  /* "cuda/cudart.pyx":8742
 *         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(0, 8742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_GLuint, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8742, __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/cudart.pyx":8741
 *     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.cudart.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/cudart.pyx":8743
 *     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_6cudart_6GLuint_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_6GLuint_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLuint_6__int__(((struct __pyx_obj_4cuda_6cudart_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_6__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8743, 0, __PYX_ERR(0, 8743, __pyx_L1_error));

  /* "cuda/cudart.pyx":8744
 *         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(0, 8744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8743
 *     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.cudart.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/cudart.pyx":8745
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_6GLuint_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_6GLuint_8getPtr[] = "GLuint.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6GLuint_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLuint_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLuint_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_6GLuint_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLuint_8getPtr(((struct __pyx_obj_4cuda_6cudart_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_8getPtr(struct __pyx_obj_4cuda_6cudart_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__376)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8745, 0, __PYX_ERR(0, 8745, __pyx_L1_error));

  /* "cuda/cudart.pyx":8746
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8745
 *     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.cudart.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_6cudart_6GLuint_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_6GLuint_10__reduce_cython__[] = "GLuint.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6GLuint_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLuint_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLuint_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_6GLuint_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLuint_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__377)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__378, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_6GLuint_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_6GLuint_12__setstate_cython__[] = "GLuint.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6GLuint_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLuint_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_6GLuint_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_6GLuint_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6GLuint_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_GLuint *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6GLuint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_GLuint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__379)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__380, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":8757
 * 
 *     """
 *     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_6cudart_6EGLint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_6EGLint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8757, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8757, __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(0, 8757, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8757, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.EGLint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_6EGLint___cinit__(((struct __pyx_obj_4cuda_6cudart_EGLint *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_6EGLint___cinit__(struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8757, 0, __PYX_ERR(0, 8757, __pyx_L1_error));

  /* "cuda/cudart.pyx":8758
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8759
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.EGLint *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8758
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8761
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.EGLint *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_EGLint *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8762
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":8763
 *             self._ptr = <ccudart.EGLint *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8762
 *         else:
 *             self._ptr = <ccudart.EGLint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8757
 * 
 *     """
 *     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.cudart.EGLint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8764
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_6EGLint_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_6EGLint_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_6EGLint_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_6EGLint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8764, 0, __PYX_ERR(0, 8764, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.EGLint.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8766
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_6EGLint_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_6EGLint_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6EGLint_4__repr__(((struct __pyx_obj_4cuda_6cudart_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8766, 0, __PYX_ERR(0, 8766, __pyx_L1_error));

  /* "cuda/cudart.pyx":8767
 *         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(0, 8767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_EGLint, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8767, __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/cudart.pyx":8766
 *     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.cudart.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/cudart.pyx":8768
 *     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_6cudart_6EGLint_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_6EGLint_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6EGLint_6__int__(((struct __pyx_obj_4cuda_6cudart_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_6__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8768, 0, __PYX_ERR(0, 8768, __pyx_L1_error));

  /* "cuda/cudart.pyx":8769
 *         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(0, 8769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8768
 *     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.cudart.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/cudart.pyx":8770
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_6EGLint_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_6EGLint_8getPtr[] = "EGLint.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6EGLint_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_6EGLint_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_6EGLint_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_6EGLint_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6EGLint_8getPtr(((struct __pyx_obj_4cuda_6cudart_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_8getPtr(struct __pyx_obj_4cuda_6cudart_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__381)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8770, 0, __PYX_ERR(0, 8770, __pyx_L1_error));

  /* "cuda/cudart.pyx":8771
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8770
 *     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.cudart.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_6cudart_6EGLint_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_6EGLint_10__reduce_cython__[] = "EGLint.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6EGLint_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6EGLint_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_6EGLint_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_6EGLint_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6EGLint_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__382)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__383, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_6EGLint_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_6EGLint_12__setstate_cython__[] = "EGLint.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_6EGLint_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6EGLint_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_6EGLint_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_6EGLint_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_6EGLint_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_EGLint *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6EGLint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_EGLint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__384)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__385, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":8782
 * 
 *     """
 *     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_6cudart_9VdpDevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_9VdpDevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8782, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8782, __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(0, 8782, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8782, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.VdpDevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_9VdpDevice___cinit__(((struct __pyx_obj_4cuda_6cudart_VdpDevice *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_9VdpDevice___cinit__(struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8782, 0, __PYX_ERR(0, 8782, __pyx_L1_error));

  /* "cuda/cudart.pyx":8783
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8784
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.VdpDevice *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8783
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8786
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.VdpDevice *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_VdpDevice *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8787
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":8788
 *             self._ptr = <ccudart.VdpDevice *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8787
 *         else:
 *             self._ptr = <ccudart.VdpDevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8782
 * 
 *     """
 *     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.cudart.VdpDevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8789
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_9VdpDevice_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_9VdpDevice_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_9VdpDevice_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_9VdpDevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8789, 0, __PYX_ERR(0, 8789, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.VdpDevice.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8791
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_9VdpDevice_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_9VdpDevice_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9VdpDevice_4__repr__(((struct __pyx_obj_4cuda_6cudart_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8791, 0, __PYX_ERR(0, 8791, __pyx_L1_error));

  /* "cuda/cudart.pyx":8792
 *         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(0, 8792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_VdpDevice, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8792, __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/cudart.pyx":8791
 *     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.cudart.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/cudart.pyx":8793
 *     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_6cudart_9VdpDevice_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_9VdpDevice_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9VdpDevice_6__int__(((struct __pyx_obj_4cuda_6cudart_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_6__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8793, 0, __PYX_ERR(0, 8793, __pyx_L1_error));

  /* "cuda/cudart.pyx":8794
 *         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(0, 8794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8793
 *     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.cudart.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/cudart.pyx":8795
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_9VdpDevice_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_9VdpDevice_8getPtr[] = "VdpDevice.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9VdpDevice_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_9VdpDevice_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_9VdpDevice_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_9VdpDevice_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9VdpDevice_8getPtr(((struct __pyx_obj_4cuda_6cudart_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_8getPtr(struct __pyx_obj_4cuda_6cudart_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__386)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8795, 0, __PYX_ERR(0, 8795, __pyx_L1_error));

  /* "cuda/cudart.pyx":8796
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8795
 *     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.cudart.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_6cudart_9VdpDevice_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_9VdpDevice_10__reduce_cython__[] = "VdpDevice.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9VdpDevice_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9VdpDevice_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_9VdpDevice_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_9VdpDevice_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9VdpDevice_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__387)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__388, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_9VdpDevice_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_9VdpDevice_12__setstate_cython__[] = "VdpDevice.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9VdpDevice_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9VdpDevice_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_9VdpDevice_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_9VdpDevice_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_9VdpDevice_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_VdpDevice *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_9VdpDevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpDevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__390, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":8807
 * 
 *     """
 *     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_6cudart_17VdpGetProcAddress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_17VdpGetProcAddress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8807, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8807, __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(0, 8807, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8807, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.VdpGetProcAddress.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_17VdpGetProcAddress___cinit__(((struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_17VdpGetProcAddress___cinit__(struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8807, 0, __PYX_ERR(0, 8807, __pyx_L1_error));

  /* "cuda/cudart.pyx":8808
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8809
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.VdpGetProcAddress *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8808
 *     """
 *     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/cudart.pyx":8811
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.VdpGetProcAddress *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_VdpGetProcAddress *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8812
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":8813
 *             self._ptr = <ccudart.VdpGetProcAddress *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8812
 *         else:
 *             self._ptr = <ccudart.VdpGetProcAddress *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8807
 * 
 *     """
 *     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.cudart.VdpGetProcAddress.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8814
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_17VdpGetProcAddress_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_17VdpGetProcAddress_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8814, 0, __PYX_ERR(0, 8814, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.VdpGetProcAddress.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8816
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_4__repr__(((struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8816, 0, __PYX_ERR(0, 8816, __pyx_L1_error));

  /* "cuda/cudart.pyx":8817
 *         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(0, 8817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_VdpGetProcAddress, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8817, __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/cudart.pyx":8816
 *     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.cudart.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/cudart.pyx":8818
 *     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_6cudart_17VdpGetProcAddress_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_6__int__(((struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_6__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8818, 0, __PYX_ERR(0, 8818, __pyx_L1_error));

  /* "cuda/cudart.pyx":8819
 *         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(0, 8819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8818
 *     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.cudart.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/cudart.pyx":8820
 *     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_6cudart_17VdpGetProcAddress_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_8getPtr[] = "VdpGetProcAddress.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17VdpGetProcAddress_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_8getPtr(((struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_8getPtr(struct __pyx_obj_4cuda_6cudart_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__391)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8820, 0, __PYX_ERR(0, 8820, __pyx_L1_error));

  /* "cuda/cudart.pyx":8821
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8820
 *     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.cudart.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_6cudart_17VdpGetProcAddress_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_10__reduce_cython__[] = "VdpGetProcAddress.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17VdpGetProcAddress_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__392)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__393, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_17VdpGetProcAddress_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_12__setstate_cython__[] = "VdpGetProcAddress.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17VdpGetProcAddress_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_17VdpGetProcAddress_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_17VdpGetProcAddress_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__394)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__395, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":8832
 * 
 *     """
 *     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_6cudart_15VdpVideoSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_15VdpVideoSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8832, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8832, __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(0, 8832, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8832, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.VdpVideoSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_15VdpVideoSurface___cinit__(((struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_15VdpVideoSurface___cinit__(struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8832, 0, __PYX_ERR(0, 8832, __pyx_L1_error));

  /* "cuda/cudart.pyx":8833
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8834
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.VdpVideoSurface *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8833
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8836
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.VdpVideoSurface *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_VdpVideoSurface *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8837
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":8838
 *             self._ptr = <ccudart.VdpVideoSurface *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8837
 *         else:
 *             self._ptr = <ccudart.VdpVideoSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8832
 * 
 *     """
 *     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.cudart.VdpVideoSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8839
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_15VdpVideoSurface_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_15VdpVideoSurface_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_15VdpVideoSurface_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_15VdpVideoSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8839, 0, __PYX_ERR(0, 8839, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.VdpVideoSurface.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8841
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15VdpVideoSurface_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15VdpVideoSurface_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15VdpVideoSurface_4__repr__(((struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8841, 0, __PYX_ERR(0, 8841, __pyx_L1_error));

  /* "cuda/cudart.pyx":8842
 *         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(0, 8842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_VdpVideoSurface, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8842, __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/cudart.pyx":8841
 *     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.cudart.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/cudart.pyx":8843
 *     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_6cudart_15VdpVideoSurface_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_15VdpVideoSurface_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15VdpVideoSurface_6__int__(((struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_6__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8843, 0, __PYX_ERR(0, 8843, __pyx_L1_error));

  /* "cuda/cudart.pyx":8844
 *         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(0, 8844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8843
 *     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.cudart.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/cudart.pyx":8845
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15VdpVideoSurface_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15VdpVideoSurface_8getPtr[] = "VdpVideoSurface.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15VdpVideoSurface_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15VdpVideoSurface_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15VdpVideoSurface_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_15VdpVideoSurface_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15VdpVideoSurface_8getPtr(((struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_8getPtr(struct __pyx_obj_4cuda_6cudart_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__396)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8845, 0, __PYX_ERR(0, 8845, __pyx_L1_error));

  /* "cuda/cudart.pyx":8846
 *         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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8845
 *     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.cudart.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_6cudart_15VdpVideoSurface_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_15VdpVideoSurface_10__reduce_cython__[] = "VdpVideoSurface.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15VdpVideoSurface_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15VdpVideoSurface_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15VdpVideoSurface_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15VdpVideoSurface_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15VdpVideoSurface_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__397)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__398, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_15VdpVideoSurface_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_15VdpVideoSurface_12__setstate_cython__[] = "VdpVideoSurface.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15VdpVideoSurface_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15VdpVideoSurface_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15VdpVideoSurface_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_15VdpVideoSurface_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_15VdpVideoSurface_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_15VdpVideoSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpVideoSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__399)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__400, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":8857
 * 
 *     """
 *     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_6cudart_16VdpOutputSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_16VdpOutputSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8857, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8857, __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(0, 8857, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8857, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.VdpOutputSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_16VdpOutputSurface___cinit__(((struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_16VdpOutputSurface___cinit__(struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8857, 0, __PYX_ERR(0, 8857, __pyx_L1_error));

  /* "cuda/cudart.pyx":8858
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8859
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.VdpOutputSurface *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8858
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8861
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.VdpOutputSurface *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_VdpOutputSurface *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8862
 *         else:
 *             self._ptr = <ccudart.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/cudart.pyx":8863
 *             self._ptr = <ccudart.VdpOutputSurface *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8862
 *         else:
 *             self._ptr = <ccudart.VdpOutputSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8857
 * 
 *     """
 *     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.cudart.VdpOutputSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8864
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_16VdpOutputSurface_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_16VdpOutputSurface_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_16VdpOutputSurface_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_16VdpOutputSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8864, 0, __PYX_ERR(0, 8864, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.VdpOutputSurface.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8866
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16VdpOutputSurface_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16VdpOutputSurface_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16VdpOutputSurface_4__repr__(((struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_4__repr__(struct __pyx_obj_4cuda_6cudart_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8866, 0, __PYX_ERR(0, 8866, __pyx_L1_error));

  /* "cuda/cudart.pyx":8867
 *         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(0, 8867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_VdpOutputSurface, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8867, __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/cudart.pyx":8866
 *     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.cudart.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/cudart.pyx":8868
 *     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_6cudart_16VdpOutputSurface_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_16VdpOutputSurface_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16VdpOutputSurface_6__int__(((struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_6__int__(struct __pyx_obj_4cuda_6cudart_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8868, 0, __PYX_ERR(0, 8868, __pyx_L1_error));

  /* "cuda/cudart.pyx":8869
 *         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(0, 8869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8868
 *     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.cudart.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/cudart.pyx":8870
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_16VdpOutputSurface_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16VdpOutputSurface_8getPtr[] = "VdpOutputSurface.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16VdpOutputSurface_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16VdpOutputSurface_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16VdpOutputSurface_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_16VdpOutputSurface_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16VdpOutputSurface_8getPtr(((struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_8getPtr(struct __pyx_obj_4cuda_6cudart_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__401)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8870, 0, __PYX_ERR(0, 8870, __pyx_L1_error));

  /* "cuda/cudart.pyx":8871
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaSurfaceObject_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8870
 *     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.cudart.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_6cudart_16VdpOutputSurface_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16VdpOutputSurface_10__reduce_cython__[] = "VdpOutputSurface.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16VdpOutputSurface_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16VdpOutputSurface_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16VdpOutputSurface_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16VdpOutputSurface_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16VdpOutputSurface_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_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__402)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__403, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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_6cudart_16VdpOutputSurface_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_16VdpOutputSurface_12__setstate_cython__[] = "VdpOutputSurface.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_16VdpOutputSurface_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16VdpOutputSurface_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16VdpOutputSurface_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_16VdpOutputSurface_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16VdpOutputSurface_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16VdpOutputSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_VdpOutputSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__405, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.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/cudart.pyx":8884
 * 
 *     """
 *     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_6cudart_19cudaSurfaceObject_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8884, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8884, __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(0, 8884, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8884, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSurfaceObject_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8884, 0, __PYX_ERR(0, 8884, __pyx_L1_error));

  /* "cuda/cudart.pyx":8885
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8886
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8885
 *     """
 *     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/cudart.pyx":8888
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaSurfaceObject_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8889
 *         else:
 *             self._ptr = <ccudart.cudaSurfaceObject_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/cudart.pyx":8890
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8889
 *         else:
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8884
 * 
 *     """
 *     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.cudart.cudaSurfaceObject_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8891
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8891, 0, __PYX_ERR(0, 8891, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaSurfaceObject_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8893
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaSurfaceObject_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8893, 0, __PYX_ERR(0, 8893, __pyx_L1_error));

  /* "cuda/cudart.pyx":8894
 *         pass
 *     def __repr__(self):
 *         return '<cudaSurfaceObject_t ' + 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(0, 8894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaSurfaceObject_t, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8894, __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/cudart.pyx":8893
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaSurfaceObject_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.cudart.cudaSurfaceObject_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/cudart.pyx":8895
 *     def __repr__(self):
 *         return '<cudaSurfaceObject_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_6__int__(((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_6__int__(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8895, 0, __PYX_ERR(0, 8895, __pyx_L1_error));

  /* "cuda/cudart.pyx":8896
 *         return '<cudaSurfaceObject_t ' + 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(0, 8896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8895
 *     def __repr__(self):
 *         return '<cudaSurfaceObject_t ' + 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.cudart.cudaSurfaceObject_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/cudart.pyx":8897
 *     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_6cudart_19cudaSurfaceObject_t_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_8getPtr[] = "cudaSurfaceObject_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaSurfaceObject_t_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_8getPtr(((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_8getPtr(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_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__406)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8897, 0, __PYX_ERR(0, 8897, __pyx_L1_error));

  /* "cuda/cudart.pyx":8898
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaTextureObject_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8897
 *     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.cudart.cudaSurfaceObject_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_6cudart_19cudaSurfaceObject_t_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_10__reduce_cython__[] = "cudaSurfaceObject_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaSurfaceObject_t_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_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__407)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__408, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaSurfaceObject_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_6cudart_19cudaSurfaceObject_t_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_12__setstate_cython__[] = "cudaSurfaceObject_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaSurfaceObject_t_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaSurfaceObject_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__409)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__410, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaSurfaceObject_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/cudart.pyx":8911
 * 
 *     """
 *     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_6cudart_19cudaTextureObject_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaTextureObject_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_init_value);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8911, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__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(0, 8911, __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(0, 8911, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_6cudart_void_ptr)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8911, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaTextureObject_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaTextureObject_t___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_6cudart_19cudaTextureObject_t___cinit__(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 8911, 0, __PYX_ERR(0, 8911, __pyx_L1_error));

  /* "cuda/cudart.pyx":8912
 *     """
 *     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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8913
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->__pyx___val);

    /* "cuda/cudart.pyx":8912
 *     """
 *     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/cudart.pyx":8915
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cudaTextureObject_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8916
 *         else:
 *             self._ptr = <ccudart.cudaTextureObject_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/cudart.pyx":8917
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":8916
 *         else:
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":8911
 * 
 *     """
 *     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.cudart.cudaTextureObject_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8918
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_19cudaTextureObject_t_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_19cudaTextureObject_t_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_2__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 8918, 0, __PYX_ERR(0, 8918, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaTextureObject_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":8920
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaTextureObject_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_4__repr__(((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_4__repr__(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);
  __Pyx_TraceCall("__repr__", __pyx_f[0], 8920, 0, __PYX_ERR(0, 8920, __pyx_L1_error));

  /* "cuda/cudart.pyx":8921
 *         pass
 *     def __repr__(self):
 *         return '<cudaTextureObject_t ' + 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(0, 8921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cudaTextureObject_t, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8921, __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/cudart.pyx":8920
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaTextureObject_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.cudart.cudaTextureObject_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/cudart.pyx":8922
 *     def __repr__(self):
 *         return '<cudaTextureObject_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_7__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_6__int__(((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_6__int__(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_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__", 0);
  __Pyx_TraceCall("__int__", __pyx_f[0], 8922, 0, __PYX_ERR(0, 8922, __pyx_L1_error));

  /* "cuda/cudart.pyx":8923
 *         return '<cudaTextureObject_t ' + 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(0, 8923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8922
 *     def __repr__(self):
 *         return '<cudaTextureObject_t ' + 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.cudart.cudaTextureObject_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/cudart.pyx":8924
 *     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_6cudart_19cudaTextureObject_t_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_8getPtr[] = "cudaTextureObject_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaTextureObject_t_9getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_8getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_9getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_8getPtr(((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_8getPtr(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_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__411)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 8924, 0, __PYX_ERR(0, 8924, __pyx_L1_error));

  /* "cuda/cudart.pyx":8925
 *         return <unsigned long long>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_6cudart_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8924
 *     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.cudart.cudaTextureObject_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_6cudart_19cudaTextureObject_t_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_10__reduce_cython__[] = "cudaTextureObject_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaTextureObject_t_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureObject_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__412)
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__413, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureObject_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_6cudart_19cudaTextureObject_t_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_12__setstate_cython__[] = "cudaTextureObject_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaTextureObject_t_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaTextureObject_t_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_19cudaTextureObject_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 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__414)
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__415, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaTextureObject_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/cudart.pyx":8928
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUGetDevice(vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Gets the CUDA device associated with a VdpDevice.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_1cudaVDPAUGetDevice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_cudaVDPAUGetDevice[] = "cudaVDPAUGetDevice(vdpDevice, vdpGetProcAddress)\n Gets the CUDA device associated with a VdpDevice.\n\n    Returns the CUDA device associated with a VdpDevice, if 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    cudaError_t\n        :py:obj:`~.cudaSuccess`\n    device : int\n        Returns the device associated with vdpDevice, or -1 if the device\n        associated with vdpDevice is not a compute device.\n\n    See Also\n    --------\n    :py:obj:`~.cudaVDPAUSetVDPAUDevice`, :py:obj:`~.cuVDPAUGetDevice`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_1cudaVDPAUGetDevice = {"cudaVDPAUGetDevice", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_1cudaVDPAUGetDevice, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_cudaVDPAUGetDevice};
static PyObject *__pyx_pw_4cuda_6cudart_1cudaVDPAUGetDevice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_vdpDevice = 0;
  PyObject *__pyx_v_vdpGetProcAddress = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaVDPAUGetDevice (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_vdpDevice,&__pyx_n_s_vdpGetProcAddress,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vdpDevice)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vdpGetProcAddress)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaVDPAUGetDevice", 1, 2, 2, 1); __PYX_ERR(0, 8928, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaVDPAUGetDevice") < 0)) __PYX_ERR(0, 8928, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_vdpDevice = values[0];
    __pyx_v_vdpGetProcAddress = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaVDPAUGetDevice", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8928, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaVDPAUGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_cudaVDPAUGetDevice(__pyx_self, __pyx_v_vdpDevice, __pyx_v_vdpGetProcAddress);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_cudaVDPAUGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress) {
  __pyx_t_4cuda_7ccudart_VdpGetProcAddress *__pyx_v_cvdpGetProcAddress;
  PyObject *__pyx_v_pvdpGetProcAddress = NULL;
  __pyx_t_4cuda_7ccudart_VdpDevice __pyx_v_cvdpDevice;
  PyObject *__pyx_v_pvdpDevice = NULL;
  int __pyx_v_device;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __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_6cudart_void_ptr __pyx_t_6;
  cudaError_t __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__416)
  __Pyx_RefNannySetupContext("cudaVDPAUGetDevice", 0);
  __Pyx_TraceCall("cudaVDPAUGetDevice", __pyx_f[0], 8928, 0, __PYX_ERR(0, 8928, __pyx_L1_error));

  /* "cuda/cudart.pyx":8953
 *     """
 *     cdef ccudart.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 */
  __pyx_t_1 = (__pyx_v_vdpGetProcAddress == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":8954
 *     cdef ccudart.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 */
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_7ccudart_VdpGetProcAddress *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":8953
 *     """
 *     cdef ccudart.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8955
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_vdpGetProcAddress, __pyx_ptype_4cuda_6cudart_VdpGetProcAddress); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8956
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_vdpGetProcAddress, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pvdpGetProcAddress = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":8957
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccudart.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(0, 8957, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_7ccudart_VdpGetProcAddress *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":8955
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8958
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_vdpGetProcAddress); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8959
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cudart.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(0, 8959, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_7ccudart_VdpGetProcAddress *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":8958
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":8961
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cudart.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.VdpDevice cvdpDevice
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8961, __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(0, 8961, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":8964
 * 
 *     cdef ccudart.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):
 */
  __pyx_t_2 = (__pyx_v_vdpDevice == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":8965
 *     cdef ccudart.VdpDevice cvdpDevice
 *     if vdpDevice is None:
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpDevice, (VdpDevice)):
 *         pvdpDevice = int(vdpDevice)
 */
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_7ccudart_VdpDevice)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":8964
 * 
 *     cdef ccudart.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":8966
 *     if vdpDevice is None:
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpDevice, __pyx_ptype_4cuda_6cudart_VdpDevice); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":8967
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):
 *         pvdpDevice = int(vdpDevice)             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_vdpDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pvdpDevice = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":8968
 *     elif isinstance(vdpDevice, (VdpDevice)):
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccudart.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(0, 8968, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_7ccudart_VdpDevice)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":8966
 *     if vdpDevice is None:
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":8970
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_VdpDevice), __pyx_v_vdpDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pvdpDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":8971
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 * 
 *     cdef int device = 0
 */
    __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(0, 8971, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_7ccudart_VdpDevice)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":8973
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 * 
 *     cdef int device = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaVDPAUGetDevice(&device, cvdpDevice, cvdpGetProcAddress)
 *     return (cudaError_t(err), device)
 */
  __pyx_v_device = 0;

  /* "cuda/cudart.pyx":8974
 * 
 *     cdef int device = 0
 *     err = ccudart.cudaVDPAUGetDevice(&device, cvdpDevice, cvdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), device)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaVDPAUGetDevice((&__pyx_v_device), __pyx_v_cvdpDevice, __pyx_v_cvdpGetProcAddress); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8974, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":8975
 *     cdef int device = 0
 *     err = ccudart.cudaVDPAUGetDevice(&device, cvdpDevice, cvdpGetProcAddress)
 *     return (cudaError_t(err), device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5);
  __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(0, 8975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_device); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8928
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUGetDevice(vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Gets the CUDA device associated with a VdpDevice.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaVDPAUGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpGetProcAddress);
  __Pyx_XDECREF(__pyx_v_pvdpDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8978
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUSetVDPAUDevice(int device, vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Sets a CUDA device to use VDPAU interoperability.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_3cudaVDPAUSetVDPAUDevice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_2cudaVDPAUSetVDPAUDevice[] = "cudaVDPAUSetVDPAUDevice(int device, vdpDevice, vdpGetProcAddress)\n Sets a CUDA device to use VDPAU interoperability.\n\n    Records `vdpDevice` as the VdpDevice for VDPAU interoperability with\n    the CUDA device `device` and sets `device` as the current device for\n    the calling host thread.\n\n    If `device` has already been initialized then this call will fail with\n    the error :py:obj:`~.cudaErrorSetOnActiveProcess`. In this case it is\n    necessary to reset `device` using :py:obj:`~.cudaDeviceReset()` before\n    VDPAU interoperability on `device` may be enabled.\n\n    Parameters\n    ----------\n    device : int\n        Device to use for VDPAU interoperability\n    vdpDevice : :py:obj:`~.VdpDevice`\n        The VdpDevice to interoperate with\n    vdpGetProcAddress : :py:obj:`~.VdpGetProcAddress`\n        VDPAU's VdpGetProcAddress function pointer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorSetOnActiveProcess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsVDPAURegisterVideoSurface`, :py:obj:`~.cudaGraphicsVDPAURegisterOutputSurface`, :py:obj:`~.cudaDeviceReset`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_3cudaVDPAUSetVDPAUDevice = {"cudaVDPAUSetVDPAUDevice", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_3cudaVDPAUSetVDPAUDevice, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_2cudaVDPAUSetVDPAUDevice};
static PyObject *__pyx_pw_4cuda_6cudart_3cudaVDPAUSetVDPAUDevice(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_device;
  PyObject *__pyx_v_vdpDevice = 0;
  PyObject *__pyx_v_vdpGetProcAddress = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaVDPAUSetVDPAUDevice (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device_2,&__pyx_n_s_vdpDevice,&__pyx_n_s_vdpGetProcAddress,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vdpDevice)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaVDPAUSetVDPAUDevice", 1, 3, 3, 1); __PYX_ERR(0, 8978, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vdpGetProcAddress)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaVDPAUSetVDPAUDevice", 1, 3, 3, 2); __PYX_ERR(0, 8978, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaVDPAUSetVDPAUDevice") < 0)) __PYX_ERR(0, 8978, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_device = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8978, __pyx_L3_error)
    __pyx_v_vdpDevice = values[1];
    __pyx_v_vdpGetProcAddress = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaVDPAUSetVDPAUDevice", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8978, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaVDPAUSetVDPAUDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_2cudaVDPAUSetVDPAUDevice(__pyx_self, __pyx_v_device, __pyx_v_vdpDevice, __pyx_v_vdpGetProcAddress);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_2cudaVDPAUSetVDPAUDevice(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress) {
  __pyx_t_4cuda_7ccudart_VdpGetProcAddress *__pyx_v_cvdpGetProcAddress;
  PyObject *__pyx_v_pvdpGetProcAddress = NULL;
  __pyx_t_4cuda_7ccudart_VdpDevice __pyx_v_cvdpDevice;
  PyObject *__pyx_v_pvdpDevice = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __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_6cudart_void_ptr __pyx_t_6;
  cudaError_t __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__417)
  __Pyx_RefNannySetupContext("cudaVDPAUSetVDPAUDevice", 0);
  __Pyx_TraceCall("cudaVDPAUSetVDPAUDevice", __pyx_f[0], 8978, 0, __PYX_ERR(0, 8978, __pyx_L1_error));

  /* "cuda/cudart.pyx":9009
 *     """
 *     cdef ccudart.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 */
  __pyx_t_1 = (__pyx_v_vdpGetProcAddress == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9010
 *     cdef ccudart.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 */
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_7ccudart_VdpGetProcAddress *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":9009
 *     """
 *     cdef ccudart.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9011
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_vdpGetProcAddress, __pyx_ptype_4cuda_6cudart_VdpGetProcAddress); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9012
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_vdpGetProcAddress, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pvdpGetProcAddress = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9013
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccudart.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(0, 9013, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_7ccudart_VdpGetProcAddress *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":9011
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9014
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_vdpGetProcAddress); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9015
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cudart.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(0, 9015, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_7ccudart_VdpGetProcAddress *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":9014
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9017
 *         cvdpGetProcAddress = <ccudart.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cudart.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.VdpDevice cvdpDevice
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9017, __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(0, 9017, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":9020
 * 
 *     cdef ccudart.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):
 */
  __pyx_t_2 = (__pyx_v_vdpDevice == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9021
 *     cdef ccudart.VdpDevice cvdpDevice
 *     if vdpDevice is None:
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpDevice, (VdpDevice)):
 *         pvdpDevice = int(vdpDevice)
 */
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_7ccudart_VdpDevice)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":9020
 * 
 *     cdef ccudart.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":9022
 *     if vdpDevice is None:
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpDevice, __pyx_ptype_4cuda_6cudart_VdpDevice); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9023
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):
 *         pvdpDevice = int(vdpDevice)             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_vdpDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pvdpDevice = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9024
 *     elif isinstance(vdpDevice, (VdpDevice)):
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccudart.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(0, 9024, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_7ccudart_VdpDevice)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":9022
 *     if vdpDevice is None:
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":9026
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_VdpDevice), __pyx_v_vdpDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pvdpDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":9027
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaVDPAUSetVDPAUDevice(device, 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(0, 9027, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_7ccudart_VdpDevice)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":9029
 *         cvdpDevice = <ccudart.VdpDevice><void_ptr>pvdpDevice
 * 
 *     err = ccudart.cudaVDPAUSetVDPAUDevice(device, cvdpDevice, cvdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaVDPAUSetVDPAUDevice(__pyx_v_device, __pyx_v_cvdpDevice, __pyx_v_cvdpGetProcAddress); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9029, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":9030
 * 
 *     err = ccudart.cudaVDPAUSetVDPAUDevice(device, cvdpDevice, cvdpGetProcAddress)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5);
  __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(0, 9030, __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(0, 9030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8978
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUSetVDPAUDevice(int device, vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Sets a CUDA device to use VDPAU interoperability.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaVDPAUSetVDPAUDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpGetProcAddress);
  __Pyx_XDECREF(__pyx_v_pvdpDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9033
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpVideoSurface object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_5cudaGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_4cudaGraphicsVDPAURegisterVideoSurface[] = "cudaGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags)\n Register a VdpVideoSurface object.\n\n    Registers the VdpVideoSurface specified by `vdpSurface` for access by\n    CUDA. A handle to the registered object is returned as `resource`. The\n    surface's intended usage is specified using `flags`, as follows:\n\n    - :py:obj:`~.cudaGraphicsMapFlagsNone`: Specifies no hints about how\n      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:`~.cudaGraphicsMapFlagsReadOnly`: Specifies that CUDA will\n      not write to this resource.\n\n    - :py:obj:`~.cudaGraphicsMapFlagsWriteDiscard`: Specifies that CUDA\n      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    vdpSurface : :py:obj:`~.VdpVideoSurface`\n        VDPAU object to be registered\n    flags : unsigned int\n        Map flags\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n    resource : :py:obj:`~.cudaGraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaVDPAUSetVDPAUDevice`, :py:obj:`~.cudaGraphicsUnregisterResource`, :py:obj:`~.cudaGraphicsSubResourceGetMappedArray`, :py:obj:`~.cuGraphicsVDPAURegisterVideoSurface`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_5cudaGraphicsVDPAURegisterVideoSurface = {"cudaGraphicsVDPAURegisterVideoSurface", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_5cudaGraphicsVDPAURegisterVideoSurface, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_4cudaGraphicsVDPAURegisterVideoSurface};
static PyObject *__pyx_pw_4cuda_6cudart_5cudaGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_vdpSurface = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsVDPAURegisterVideoSurface (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_vdpSurface,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vdpSurface)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsVDPAURegisterVideoSurface", 1, 2, 2, 1); __PYX_ERR(0, 9033, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsVDPAURegisterVideoSurface") < 0)) __PYX_ERR(0, 9033, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 9033, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsVDPAURegisterVideoSurface", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9033, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsVDPAURegisterVideoSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_4cudaGraphicsVDPAURegisterVideoSurface(__pyx_self, __pyx_v_vdpSurface, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_4cudaGraphicsVDPAURegisterVideoSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_VdpVideoSurface __pyx_v_cvdpSurface;
  PyObject *__pyx_v_pvdpSurface = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__418)
  __Pyx_RefNannySetupContext("cudaGraphicsVDPAURegisterVideoSurface", 0);
  __Pyx_TraceCall("cudaGraphicsVDPAURegisterVideoSurface", __pyx_f[0], 9033, 0, __PYX_ERR(0, 9033, __pyx_L1_error));

  /* "cuda/cudart.pyx":9072
 *     """
 *     cdef ccudart.VdpVideoSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface)):
 */
  __pyx_t_1 = (__pyx_v_vdpSurface == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9073
 *     cdef ccudart.VdpVideoSurface cvdpSurface
 *     if vdpSurface is None:
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpSurface, (VdpVideoSurface)):
 *         pvdpSurface = int(vdpSurface)
 */
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_7ccudart_VdpVideoSurface)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":9072
 *     """
 *     cdef ccudart.VdpVideoSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9074
 *     if vdpSurface is None:
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_vdpSurface, __pyx_ptype_4cuda_6cudart_VdpVideoSurface); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9075
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface)):
 *         pvdpSurface = int(vdpSurface)             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_vdpSurface); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pvdpSurface = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9076
 *     elif isinstance(vdpSurface, (VdpVideoSurface)):
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9076, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_7ccudart_VdpVideoSurface)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":9074
 *     if vdpSurface is None:
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9078
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_VdpVideoSurface), __pyx_v_vdpSurface); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pvdpSurface = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":9079
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9079, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_7ccudart_VdpVideoSurface)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":9081
 *         cvdpSurface = <ccudart.VdpVideoSurface><void_ptr>pvdpSurface
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsVDPAURegisterVideoSurface(resource._ptr, cvdpSurface, flags)
 *     return (cudaError_t(err), resource)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_resource = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":9082
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsVDPAURegisterVideoSurface(resource._ptr, cvdpSurface, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), resource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsVDPAURegisterVideoSurface(__pyx_v_resource->_ptr, __pyx_v_cvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9082, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9083
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsVDPAURegisterVideoSurface(resource._ptr, cvdpSurface, flags)
 *     return (cudaError_t(err), resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_resource));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_resource));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_resource));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9033
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpVideoSurface object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsVDPAURegisterVideoSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpSurface);
  __Pyx_XDECREF((PyObject *)__pyx_v_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9086
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpOutputSurface object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_7cudaGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_6cudaGraphicsVDPAURegisterOutputSurface[] = "cudaGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags)\n Register a VdpOutputSurface object.\n\n    Registers the VdpOutputSurface specified by `vdpSurface` for access by\n    CUDA. A handle to the registered object is returned as `resource`. The\n    surface's intended usage is specified using `flags`, as follows:\n\n    - :py:obj:`~.cudaGraphicsMapFlagsNone`: Specifies no hints about how\n      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:`~.cudaGraphicsMapFlagsReadOnly`: Specifies that CUDA will\n      not write to this resource.\n\n    - :py:obj:`~.cudaGraphicsMapFlagsWriteDiscard`: Specifies that CUDA\n      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    vdpSurface : :py:obj:`~.VdpOutputSurface`\n        VDPAU object to be registered\n    flags : unsigned int\n        Map flags\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n    resource : :py:obj:`~.cudaGraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaVDPAUSetVDPAUDevice`, :py:obj:`~.cudaGraphicsUnregisterResource`, :py:obj:`~.cudaGraphicsSubResourceGetMappedArray`, :py:obj:`~.cuGraphicsVDPAURegisterOutputSurface`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_7cudaGraphicsVDPAURegisterOutputSurface = {"cudaGraphicsVDPAURegisterOutputSurface", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_7cudaGraphicsVDPAURegisterOutputSurface, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_6cudaGraphicsVDPAURegisterOutputSurface};
static PyObject *__pyx_pw_4cuda_6cudart_7cudaGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_vdpSurface = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsVDPAURegisterOutputSurface (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_vdpSurface,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vdpSurface)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsVDPAURegisterOutputSurface", 1, 2, 2, 1); __PYX_ERR(0, 9086, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsVDPAURegisterOutputSurface") < 0)) __PYX_ERR(0, 9086, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 9086, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsVDPAURegisterOutputSurface", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9086, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsVDPAURegisterOutputSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_6cudaGraphicsVDPAURegisterOutputSurface(__pyx_self, __pyx_v_vdpSurface, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_6cudaGraphicsVDPAURegisterOutputSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_VdpOutputSurface __pyx_v_cvdpSurface;
  PyObject *__pyx_v_pvdpSurface = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__419)
  __Pyx_RefNannySetupContext("cudaGraphicsVDPAURegisterOutputSurface", 0);
  __Pyx_TraceCall("cudaGraphicsVDPAURegisterOutputSurface", __pyx_f[0], 9086, 0, __PYX_ERR(0, 9086, __pyx_L1_error));

  /* "cuda/cudart.pyx":9125
 *     """
 *     cdef ccudart.VdpOutputSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface)):
 */
  __pyx_t_1 = (__pyx_v_vdpSurface == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9126
 *     cdef ccudart.VdpOutputSurface cvdpSurface
 *     if vdpSurface is None:
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpSurface, (VdpOutputSurface)):
 *         pvdpSurface = int(vdpSurface)
 */
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_7ccudart_VdpOutputSurface)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":9125
 *     """
 *     cdef ccudart.VdpOutputSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9127
 *     if vdpSurface is None:
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_vdpSurface, __pyx_ptype_4cuda_6cudart_VdpOutputSurface); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9128
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface)):
 *         pvdpSurface = int(vdpSurface)             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_vdpSurface); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pvdpSurface = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9129
 *     elif isinstance(vdpSurface, (VdpOutputSurface)):
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9129, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_7ccudart_VdpOutputSurface)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":9127
 *     if vdpSurface is None:
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9131
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_VdpOutputSurface), __pyx_v_vdpSurface); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pvdpSurface = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":9132
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9132, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_7ccudart_VdpOutputSurface)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":9134
 *         cvdpSurface = <ccudart.VdpOutputSurface><void_ptr>pvdpSurface
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsVDPAURegisterOutputSurface(resource._ptr, cvdpSurface, flags)
 *     return (cudaError_t(err), resource)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_resource = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":9135
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsVDPAURegisterOutputSurface(resource._ptr, cvdpSurface, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), resource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsVDPAURegisterOutputSurface(__pyx_v_resource->_ptr, __pyx_v_cvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9135, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9136
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsVDPAURegisterOutputSurface(resource._ptr, cvdpSurface, flags)
 *     return (cudaError_t(err), resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_resource));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_resource));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_resource));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9086
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpOutputSurface object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsVDPAURegisterOutputSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvdpSurface);
  __Pyx_XDECREF((PyObject *)__pyx_v_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9139
 * 
 * @cython.embedsignature(True)
 * def cudaGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : cudaGLDeviceList):             # <<<<<<<<<<<<<<
 *     """ Gets the CUDA devices associated with the current OpenGL context.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_9cudaGLGetDevices(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_8cudaGLGetDevices[] = "cudaGLGetDevices(unsigned int cudaDeviceCount, deviceList: cudaGLDeviceList)\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\n    devices corresponding to the current OpenGL context. If any of the GPUs\n    being used by the current OpenGL context are not CUDA capable then the\n    call will return cudaErrorNoDevice.\n\n    Parameters\n    ----------\n    cudaDeviceCount : unsigned int\n        The size of the output device array `pCudaDevices`\n    deviceList : cudaGLDeviceList\n        The set of devices to return. This set may be cudaGLDeviceListAll\n        for all devices, cudaGLDeviceListCurrentFrame for the devices used\n        to render the current frame (in SLI), or cudaGLDeviceListNextFrame\n        for the devices used to render the next frame (in SLI).\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNoDevice\n        cudaErrorInvalidGraphicsContext\n        cudaErrorUnknown\n    pCudaDeviceCount : unsigned int\n        Returned number of CUDA devices corresponding to the current OpenGL\n        context\n    pCudaDevices : List[int]\n        Returned CUDA devices corresponding to the current OpenGL context\n\n    See Also\n    --------\n    ~.cudaGraphicsUnregisterResource\n    ~.cudaGraphicsMapResources\n    ~.cudaGraphicsSubResourceGetMappedArray\n    ~.cudaGraphicsResourceGetMappedPointer\n    ~.cuGLGetDevices\n\n    Notes\n    -----\n    This function is not supported on Mac OS X.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9cudaGLGetDevices = {"cudaGLGetDevices", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_9cudaGLGetDevices, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_8cudaGLGetDevices};
static PyObject *__pyx_pw_4cuda_6cudart_9cudaGLGetDevices(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_cudaDeviceCount;
  PyObject *__pyx_v_deviceList = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGLGetDevices (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cudaDeviceCount,&__pyx_n_s_deviceList,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cudaDeviceCount)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_deviceList)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGLGetDevices", 1, 2, 2, 1); __PYX_ERR(0, 9139, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGLGetDevices") < 0)) __PYX_ERR(0, 9139, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 9139, __pyx_L3_error)
    __pyx_v_deviceList = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGLGetDevices", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9139, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGLGetDevices", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_deviceList) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "deviceList"); __PYX_ERR(0, 9139, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_8cudaGLGetDevices(__pyx_self, __pyx_v_cudaDeviceCount, __pyx_v_deviceList);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_8cudaGLGetDevices(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_cudaDeviceCount, PyObject *__pyx_v_deviceList) {
  unsigned int __pyx_v_pCudaDeviceCount;
  int *__pyx_v_cpCudaDevices;
  PyObject *__pyx_v_pypCudaDevices = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList __pyx_v_cdeviceList;
  cudaError_t __pyx_v_err;
  unsigned int __pyx_9genexpr64__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;
  enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList __pyx_t_5;
  cudaError_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  unsigned int __pyx_t_8;
  unsigned int __pyx_t_9;
  unsigned int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__420)
  __Pyx_RefNannySetupContext("cudaGLGetDevices", 0);
  __Pyx_TraceCall("cudaGLGetDevices", __pyx_f[0], 9139, 0, __PYX_ERR(0, 9139, __pyx_L1_error));

  /* "cuda/cudart.pyx":9185
 * 
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0             # <<<<<<<<<<<<<<
 *     cdef int* cpCudaDevices = NULL
 *     pypCudaDevices = []
 */
  __pyx_v_pCudaDeviceCount = 0;

  /* "cuda/cudart.pyx":9186
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0
 *     cdef int* cpCudaDevices = NULL             # <<<<<<<<<<<<<<
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:
 */
  __pyx_v_cpCudaDevices = NULL;

  /* "cuda/cudart.pyx":9187
 *     cdef unsigned int pCudaDeviceCount = 0
 *     cdef int* cpCudaDevices = NULL
 *     pypCudaDevices = []             # <<<<<<<<<<<<<<
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <int*>calloc(cudaDeviceCount, sizeof(int))
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pypCudaDevices = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9188
 *     cdef int* cpCudaDevices = NULL
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:             # <<<<<<<<<<<<<<
 *         cpCudaDevices = <int*>calloc(cudaDeviceCount, sizeof(int))
 *         if cpCudaDevices is NULL:
 */
  __pyx_t_2 = ((__pyx_v_cudaDeviceCount != 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9189
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <int*>calloc(cudaDeviceCount, sizeof(int))             # <<<<<<<<<<<<<<
 *         if cpCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(int)))
 */
    __pyx_v_cpCudaDevices = ((int *)calloc(__pyx_v_cudaDeviceCount, (sizeof(int))));

    /* "cuda/cudart.pyx":9190
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <int*>calloc(cudaDeviceCount, sizeof(int))
 *         if cpCudaDevices is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(int)))
 *     cdef ccudart.cudaGLDeviceList cdeviceList = deviceList.value
 */
    __pyx_t_2 = ((__pyx_v_cpCudaDevices == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":9191
 *         cpCudaDevices = <int*>calloc(cudaDeviceCount, sizeof(int))
 *         if cpCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(int)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGLDeviceList cdeviceList = deviceList.value
 *     err = ccudart.cudaGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 */
      __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_cudaDeviceCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9191, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9191, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9191, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9191, __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(int))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9191, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9191, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9191, __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(0, 9191, __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(0, 9191, __pyx_L1_error)

      /* "cuda/cudart.pyx":9190
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <int*>calloc(cudaDeviceCount, sizeof(int))
 *         if cpCudaDevices is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(int)))
 *     cdef ccudart.cudaGLDeviceList cdeviceList = deviceList.value
 */
    }

    /* "cuda/cudart.pyx":9188
 *     cdef int* cpCudaDevices = NULL
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:             # <<<<<<<<<<<<<<
 *         cpCudaDevices = <int*>calloc(cudaDeviceCount, sizeof(int))
 *         if cpCudaDevices is NULL:
 */
  }

  /* "cuda/cudart.pyx":9192
 *         if cpCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(int)))
 *     cdef ccudart.cudaGLDeviceList cdeviceList = deviceList.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if cudaError_t(err) == cudaError_t(0):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_deviceList, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdeviceList = __pyx_t_5;

  /* "cuda/cudart.pyx":9193
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(int)))
 *     cdef ccudart.cudaGLDeviceList cdeviceList = deviceList.value
 *     err = ccudart.cudaGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypCudaDevices = [<void_ptr>cpCudaDevices[idx] for idx in range(cudaDeviceCount)]
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGLGetDevices((&__pyx_v_pCudaDeviceCount), __pyx_v_cpCudaDevices, __pyx_v_cudaDeviceCount, __pyx_v_cdeviceList); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9193, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9194
 *     cdef ccudart.cudaGLDeviceList cdeviceList = deviceList.value
 *     err = ccudart.cudaGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypCudaDevices = [<void_ptr>cpCudaDevices[idx] for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
  __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(0, 9194, __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_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9194, __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(0, 9194, __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(0, 9194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9195
 *     err = ccudart.cudaGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypCudaDevices = [<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(0, 9195, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __pyx_v_cudaDeviceCount;
      __pyx_t_9 = __pyx_t_8;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_9genexpr64__pyx_v_idx = __pyx_t_10;
        __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cpCudaDevices[__pyx_9genexpr64__pyx_v_idx]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9195, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 9195, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypCudaDevices, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9194
 *     cdef ccudart.cudaGLDeviceList cdeviceList = deviceList.value
 *     err = ccudart.cudaGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypCudaDevices = [<void_ptr>cpCudaDevices[idx] for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:
 */
  }

  /* "cuda/cudart.pyx":9196
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypCudaDevices = [<void_ptr>cpCudaDevices[idx] for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpCudaDevices)
 *     return (cudaError_t(err), pCudaDeviceCount, pypCudaDevices)
 */
  __pyx_t_2 = ((__pyx_v_cpCudaDevices != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9197
 *         pypCudaDevices = [<void_ptr>cpCudaDevices[idx] for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:
 *         free(cpCudaDevices)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pCudaDeviceCount, pypCudaDevices)
 * 
 */
    free(__pyx_v_cpCudaDevices);

    /* "cuda/cudart.pyx":9196
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypCudaDevices = [<void_ptr>cpCudaDevices[idx] for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpCudaDevices)
 *     return (cudaError_t(err), pCudaDeviceCount, pypCudaDevices)
 */
  }

  /* "cuda/cudart.pyx":9198
 *     if cpCudaDevices is not NULL:
 *         free(cpCudaDevices)
 *     return (cudaError_t(err), pCudaDeviceCount, pypCudaDevices)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9198, __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_pCudaDeviceCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_INCREF(__pyx_v_pypCudaDevices);
  __Pyx_GIVEREF(__pyx_v_pypCudaDevices);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_pypCudaDevices);
  __pyx_t_3 = 0;
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9139
 * 
 * @cython.embedsignature(True)
 * def cudaGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : cudaGLDeviceList):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaGLGetDevices", __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/cudart.pyx":9201
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterImage(image, target, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register an OpenGL texture or renderbuffer object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_11cudaGraphicsGLRegisterImage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_10cudaGraphicsGLRegisterImage[] = "cudaGraphicsGLRegisterImage(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    `resource`.\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:`~.cudaGraphicsRegisterFlagsNone`: 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:`~.cudaGraphicsRegisterFlagsReadOnly`: Specifies that CUDA\n      will not write to this resource.\n\n    - :py:obj:`~.cudaGraphicsRegisterFlagsWriteDiscard`: 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:`~.cudaGraphicsRegisterFlagsSurfaceLoadStore`: Specifies that\n      CUDA will bind this resource to a surface reference.\n\n    - :py:obj:`~.cudaGraphicsRegisterFlagsTextureGather`: 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, GL_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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n    resource : :py:obj:`~.cudaGraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsUnregisterResource`, :py:obj:`~.cudaGraphicsMapResources`, :py:obj:`~.cudaGraphicsSubResourceGetMappedArray`, :py:obj:`~.cuGraphicsGLRegisterImage`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaGraphicsGLRegisterImage = {"cudaGraphicsGLRegisterImage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_11cudaGraphicsGLRegisterImage, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_10cudaGraphicsGLRegisterImage};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaGraphicsGLRegisterImage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_image = 0;
  PyObject *__pyx_v_target = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsGLRegisterImage (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_image,&__pyx_n_s_target,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_image)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsGLRegisterImage", 1, 3, 3, 1); __PYX_ERR(0, 9201, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsGLRegisterImage", 1, 3, 3, 2); __PYX_ERR(0, 9201, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsGLRegisterImage") < 0)) __PYX_ERR(0, 9201, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 9201, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsGLRegisterImage", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9201, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaGraphicsGLRegisterImage(__pyx_self, __pyx_v_image, __pyx_v_target, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_10cudaGraphicsGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, PyObject *__pyx_v_target, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_GLenum __pyx_v_ctarget;
  PyObject *__pyx_v_ptarget = NULL;
  __pyx_t_4cuda_7ccudart_GLuint __pyx_v_cimage;
  PyObject *__pyx_v_pimage = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__421)
  __Pyx_RefNannySetupContext("cudaGraphicsGLRegisterImage", 0);
  __Pyx_TraceCall("cudaGraphicsGLRegisterImage", __pyx_f[0], 9201, 0, __PYX_ERR(0, 9201, __pyx_L1_error));

  /* "cuda/cudart.pyx":9275
 *     """
 *     cdef ccudart.GLenum ctarget
 *     if target is None:             # <<<<<<<<<<<<<<
 *         ctarget = <ccudart.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum)):
 */
  __pyx_t_1 = (__pyx_v_target == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9276
 *     cdef ccudart.GLenum ctarget
 *     if target is None:
 *         ctarget = <ccudart.GLenum><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(target, (GLenum)):
 *         ptarget = int(target)
 */
    __pyx_v_ctarget = ((__pyx_t_4cuda_7ccudart_GLenum)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":9275
 *     """
 *     cdef ccudart.GLenum ctarget
 *     if target is None:             # <<<<<<<<<<<<<<
 *         ctarget = <ccudart.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9277
 *     if target is None:
 *         ctarget = <ccudart.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum)):             # <<<<<<<<<<<<<<
 *         ptarget = int(target)
 *         ctarget = <ccudart.GLenum><void_ptr>ptarget
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_target, __pyx_ptype_4cuda_6cudart_GLenum); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9278
 *         ctarget = <ccudart.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum)):
 *         ptarget = int(target)             # <<<<<<<<<<<<<<
 *         ctarget = <ccudart.GLenum><void_ptr>ptarget
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_target); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptarget = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9279
 *     elif isinstance(target, (GLenum)):
 *         ptarget = int(target)
 *         ctarget = <ccudart.GLenum><void_ptr>ptarget             # <<<<<<<<<<<<<<
 *     else:
 *         ptarget = int(GLenum(target))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptarget); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9279, __pyx_L1_error)
    __pyx_v_ctarget = ((__pyx_t_4cuda_7ccudart_GLenum)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":9277
 *     if target is None:
 *         ctarget = <ccudart.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum)):             # <<<<<<<<<<<<<<
 *         ptarget = int(target)
 *         ctarget = <ccudart.GLenum><void_ptr>ptarget
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9281
 *         ctarget = <ccudart.GLenum><void_ptr>ptarget
 *     else:
 *         ptarget = int(GLenum(target))             # <<<<<<<<<<<<<<
 *         ctarget = <ccudart.GLenum><void_ptr>ptarget
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_GLenum), __pyx_v_target); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptarget = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":9282
 *     else:
 *         ptarget = int(GLenum(target))
 *         ctarget = <ccudart.GLenum><void_ptr>ptarget             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.GLuint cimage
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptarget); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9282, __pyx_L1_error)
    __pyx_v_ctarget = ((__pyx_t_4cuda_7ccudart_GLenum)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":9285
 * 
 *     cdef ccudart.GLuint cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint)):
 */
  __pyx_t_1 = (__pyx_v_image == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9286
 *     cdef ccudart.GLuint cimage
 *     if image is None:
 *         cimage = <ccudart.GLuint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(image, (GLuint)):
 *         pimage = int(image)
 */
    __pyx_v_cimage = ((__pyx_t_4cuda_7ccudart_GLuint)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":9285
 * 
 *     cdef ccudart.GLuint cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":9287
 *     if image is None:
 *         cimage = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccudart.GLuint><void_ptr>pimage
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_image, __pyx_ptype_4cuda_6cudart_GLuint); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9288
 *         cimage = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint)):
 *         pimage = int(image)             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.GLuint><void_ptr>pimage
 *     else:
 */
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_image); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_pimage = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":9289
 *     elif isinstance(image, (GLuint)):
 *         pimage = int(image)
 *         cimage = <ccudart.GLuint><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     else:
 *         pimage = int(GLuint(image))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9289, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_7ccudart_GLuint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":9287
 *     if image is None:
 *         cimage = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccudart.GLuint><void_ptr>pimage
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":9291
 *         cimage = <ccudart.GLuint><void_ptr>pimage
 *     else:
 *         pimage = int(GLuint(image))             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.GLuint><void_ptr>pimage
 * 
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_GLuint), __pyx_v_image); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pimage = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9292
 *     else:
 *         pimage = int(GLuint(image))
 *         cimage = <ccudart.GLuint><void_ptr>pimage             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9292, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_7ccudart_GLuint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":9294
 *         cimage = <ccudart.GLuint><void_ptr>pimage
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsGLRegisterImage(resource._ptr, cimage, ctarget, flags)
 *     return (cudaError_t(err), resource)
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_resource = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9295
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsGLRegisterImage(resource._ptr, cimage, ctarget, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), resource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsGLRegisterImage(__pyx_v_resource->_ptr, __pyx_v_cimage, __pyx_v_ctarget, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9295, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9296
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsGLRegisterImage(resource._ptr, cimage, ctarget, flags)
 *     return (cudaError_t(err), resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_3 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_resource));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_resource));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_resource));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9201
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterImage(image, target, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register an OpenGL texture or renderbuffer object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsGLRegisterImage", __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_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9299
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterBuffer(buffer, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an OpenGL buffer object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_13cudaGraphicsGLRegisterBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaGraphicsGLRegisterBuffer[] = "cudaGraphicsGLRegisterBuffer(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 `resource`. The register\n    flags `flags` specify the intended usage, as follows:\n\n    - :py:obj:`~.cudaGraphicsRegisterFlagsNone`: 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:`~.cudaGraphicsRegisterFlagsReadOnly`: Specifies that CUDA\n      will not write to this resource.\n\n    - :py:obj:`~.cudaGraphicsRegisterFlagsWriteDiscard`: 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n    resource : :py:obj:`~.cudaGraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsUnregisterResource`, :py:obj:`~.cudaGraphicsMapResources`, :py:obj:`~.cudaGraphicsResourceGetMappedPointer`, :py:obj:`~.cuGraphicsGLRegisterBuffer`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_13cudaGraphicsGLRegisterBuffer = {"cudaGraphicsGLRegisterBuffer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_13cudaGraphicsGLRegisterBuffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_12cudaGraphicsGLRegisterBuffer};
static PyObject *__pyx_pw_4cuda_6cudart_13cudaGraphicsGLRegisterBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_buffer = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsGLRegisterBuffer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buffer,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_buffer)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsGLRegisterBuffer", 1, 2, 2, 1); __PYX_ERR(0, 9299, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsGLRegisterBuffer") < 0)) __PYX_ERR(0, 9299, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 9299, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsGLRegisterBuffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9299, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsGLRegisterBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaGraphicsGLRegisterBuffer(__pyx_self, __pyx_v_buffer, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_12cudaGraphicsGLRegisterBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buffer, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_GLuint __pyx_v_cbuffer;
  PyObject *__pyx_v_pbuffer = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__422)
  __Pyx_RefNannySetupContext("cudaGraphicsGLRegisterBuffer", 0);
  __Pyx_TraceCall("cudaGraphicsGLRegisterBuffer", __pyx_f[0], 9299, 0, __PYX_ERR(0, 9299, __pyx_L1_error));

  /* "cuda/cudart.pyx":9338
 *     """
 *     cdef ccudart.GLuint cbuffer
 *     if buffer is None:             # <<<<<<<<<<<<<<
 *         cbuffer = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint)):
 */
  __pyx_t_1 = (__pyx_v_buffer == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9339
 *     cdef ccudart.GLuint cbuffer
 *     if buffer is None:
 *         cbuffer = <ccudart.GLuint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(buffer, (GLuint)):
 *         pbuffer = int(buffer)
 */
    __pyx_v_cbuffer = ((__pyx_t_4cuda_7ccudart_GLuint)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":9338
 *     """
 *     cdef ccudart.GLuint cbuffer
 *     if buffer is None:             # <<<<<<<<<<<<<<
 *         cbuffer = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9340
 *     if buffer is None:
 *         cbuffer = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint)):             # <<<<<<<<<<<<<<
 *         pbuffer = int(buffer)
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_buffer, __pyx_ptype_4cuda_6cudart_GLuint); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9341
 *         cbuffer = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint)):
 *         pbuffer = int(buffer)             # <<<<<<<<<<<<<<
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_buffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pbuffer = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":9342
 *     elif isinstance(buffer, (GLuint)):
 *         pbuffer = int(buffer)
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer             # <<<<<<<<<<<<<<
 *     else:
 *         pbuffer = int(GLuint(buffer))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pbuffer); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9342, __pyx_L1_error)
    __pyx_v_cbuffer = ((__pyx_t_4cuda_7ccudart_GLuint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":9340
 *     if buffer is None:
 *         cbuffer = <ccudart.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint)):             # <<<<<<<<<<<<<<
 *         pbuffer = int(buffer)
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9344
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer
 *     else:
 *         pbuffer = int(GLuint(buffer))             # <<<<<<<<<<<<<<
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_GLuint), __pyx_v_buffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pbuffer = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":9345
 *     else:
 *         pbuffer = int(GLuint(buffer))
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pbuffer); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9345, __pyx_L1_error)
    __pyx_v_cbuffer = ((__pyx_t_4cuda_7ccudart_GLuint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":9347
 *         cbuffer = <ccudart.GLuint><void_ptr>pbuffer
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsGLRegisterBuffer(resource._ptr, cbuffer, flags)
 *     return (cudaError_t(err), resource)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_resource = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":9348
 * 
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsGLRegisterBuffer(resource._ptr, cbuffer, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), resource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsGLRegisterBuffer(__pyx_v_resource->_ptr, __pyx_v_cbuffer, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9348, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9349
 *     cdef cudaGraphicsResource_t resource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsGLRegisterBuffer(resource._ptr, cbuffer, flags)
 *     return (cudaError_t(err), resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_resource));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_resource));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_resource));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9299
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterBuffer(buffer, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an OpenGL buffer object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsGLRegisterBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pbuffer);
  __Pyx_XDECREF((PyObject *)__pyx_v_resource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9352
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceReset():             # <<<<<<<<<<<<<<
 *     """ Destroy all allocations and reset all state on the current device in the current process.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_15cudaDeviceReset(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaDeviceReset[] = "cudaDeviceReset()\n Destroy all allocations and reset all state on the current device in the current process.\n\n    Explicitly destroys and cleans up all resources associated with the\n    current device in the current process. It is the caller's\n    responsibility to ensure that the resources are not accessed or passed\n    in subsequent API calls and doing so will result in undefined behavior.\n    These resources include CUDA types such as :py:obj:`~.cudaStream_t`,\n    :py:obj:`~.cudaEvent_t`, :py:obj:`~.cudaArray_t`,\n    :py:obj:`~.cudaMipmappedArray_t`, :py:obj:`~.cudaTextureObject_t`,\n    :py:obj:`~.cudaSurfaceObject_t`, :py:obj:`~.textureReference`,\n    :py:obj:`~.surfaceReference`, :py:obj:`~.cudaExternalMemory_t`,\n    :py:obj:`~.cudaExternalSemaphore_t` and\n    :py:obj:`~.cudaGraphicsResource_t`. Any subsequent API call to this\n    device will reinitialize the device.\n\n    Note that this function will reset the device immediately. It is the\n    caller's responsibility to ensure that the device is not being accessed\n    by any other host threads from the process when this function is\n    called.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSynchronize`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaDeviceReset = {"cudaDeviceReset", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaDeviceReset, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaDeviceReset};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaDeviceReset(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceReset (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceReset(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceReset(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__423)
  __Pyx_RefNannySetupContext("cudaDeviceReset", 0);
  __Pyx_TraceCall("cudaDeviceReset", __pyx_f[0], 9352, 0, __PYX_ERR(0, 9352, __pyx_L1_error));

  /* "cuda/cudart.pyx":9382
 *     :py:obj:`~.cudaDeviceSynchronize`
 *     """
 *     err = ccudart.cudaDeviceReset()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceReset(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9382, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":9383
 *     """
 *     err = ccudart.cudaDeviceReset()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 9383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9352
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceReset():             # <<<<<<<<<<<<<<
 *     """ Destroy all allocations and reset all state on the current device in the current process.
 * 
 */

  /* 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.cudart.cudaDeviceReset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9386
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaDeviceSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaDeviceSynchronize[] = "cudaDeviceSynchronize()\n Wait for compute device to finish.\n\n    Blocks until the device has completed all preceding requested tasks.\n    :py:obj:`~.cudaDeviceSynchronize()` returns an error if one of the\n    preceding tasks has failed. If the\n    :py:obj:`~.cudaDeviceScheduleBlockingSync` flag was set for this\n    device, the host thread will block until the device has finished its\n    work.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceReset`, :py:obj:`~.cuCtxSynchronize`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaDeviceSynchronize = {"cudaDeviceSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaDeviceSynchronize, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaDeviceSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaDeviceSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaDeviceSynchronize(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_16cudaDeviceSynchronize(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__424)
  __Pyx_RefNannySetupContext("cudaDeviceSynchronize", 0);
  __Pyx_TraceCall("cudaDeviceSynchronize", __pyx_f[0], 9386, 0, __PYX_ERR(0, 9386, __pyx_L1_error));

  /* "cuda/cudart.pyx":9405
 *     :py:obj:`~.cudaDeviceReset`, :py:obj:`~.cuCtxSynchronize`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceSynchronize()
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":9406
 *     """
 *     with nogil:
 *         err = ccudart.cudaDeviceSynchronize()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceSynchronize(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 9406, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":9405
 *     :py:obj:`~.cudaDeviceReset`, :py:obj:`~.cuCtxSynchronize`
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceSynchronize()
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":9407
 *     with nogil:
 *         err = ccudart.cudaDeviceSynchronize()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 9407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9386
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */

  /* 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.cudart.cudaDeviceSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9410
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaDeviceSetLimit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaDeviceSetLimit[] = "cudaDeviceSetLimit(limit: cudaLimit, 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 device. 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:`~.cudaDeviceGetLimit()` to\n    find out exactly what the limit has been set to.\n\n    Setting each :py:obj:`~.cudaLimit` has its own specific restrictions,\n    so each is discussed here.\n\n    - :py:obj:`~.cudaLimitStackSize` controls the stack size in bytes of\n      each GPU thread.\n\n    - :py:obj:`~.cudaLimitPrintfFifoSize` controls the size in bytes of the\n      shared FIFO used by the :py:obj:`~.printf()` device system call.\n      Setting :py:obj:`~.cudaLimitPrintfFifoSize` must not be performed\n      after launching any kernel that uses the :py:obj:`~.printf()` device\n      system call - in such case :py:obj:`~.cudaErrorInvalidValue` will be\n      returned.\n\n    - :py:obj:`~.cudaLimitMallocHeapSize` controls the size in bytes of the\n      heap used by the :py:obj:`~.malloc()` and :py:obj:`~.free()` device\n      system calls. Setting :py:obj:`~.cudaLimitMallocHeapSize` must not be\n      performed after launching any kernel that uses the\n      :py:obj:`~.malloc()` or :py:obj:`~.free()` device system calls - in\n      such case :py:obj:`~.cudaErrorInvalidValue` will be returned.\n\n    - :py:obj:`~.cudaLimitDevRuntimeSyncDepth` controls the maximum nesting\n      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 runtime 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:`~.cudaDeviceSetLimit` will return\n      :py:obj:`~.cudaErrorMemoryAllocation`, and the limit can be reset to\n      a 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:`~.cudaErrorUnsupportedLimit` being returned.\n\n    - :py:obj:`~.cudaLimitDevRuntimePendingLaunchCount` controls the\n      maximum number of outstanding device runtime launches that can be\n      made from the current device. A grid is outstanding from the point of\n      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 runtime to reserve larger amounts of device memory\n      upfront which can no longer be used for allocations. If these\n      reservations fail, :py:obj:`~.cudaDeviceSetLimit` will return\n      :py:obj:`~.cudaErrorMemoryAllocation`, and the limit can be reset to\n      a 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      com""pute capability less than 3.5 will result in the error\n      :py:obj:`~.cudaErrorUnsupportedLimit` being returned.\n\n    - :py:obj:`~.cudaLimitMaxL2FetchGranularity` 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:`~.cudaLimitPersistingL2CacheSize` 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:`~.cudaLimit`\n        Limit to set\n    value : size_t\n        Size of limit\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorUnsupportedLimit`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceGetLimit`, :py:obj:`~.cuCtxSetLimit`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaDeviceSetLimit = {"cudaDeviceSetLimit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_19cudaDeviceSetLimit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_18cudaDeviceSetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaDeviceSetLimit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_limit = 0;
  size_t __pyx_v_value;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceSetLimit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_limit,&__pyx_n_s_value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_limit)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceSetLimit", 1, 2, 2, 1); __PYX_ERR(0, 9410, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceSetLimit") < 0)) __PYX_ERR(0, 9410, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 9410, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceSetLimit", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9410, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceSetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_limit) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "limit"); __PYX_ERR(0, 9410, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaDeviceSetLimit(__pyx_self, __pyx_v_limit, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_18cudaDeviceSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value) {
  enum cudaLimit __pyx_v_climit;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaLimit __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__425)
  __Pyx_RefNannySetupContext("cudaDeviceSetLimit", 0);
  __Pyx_TraceCall("cudaDeviceSetLimit", __pyx_f[0], 9410, 0, __PYX_ERR(0, 9410, __pyx_L1_error));

  /* "cuda/cudart.pyx":9504
 *     :py:obj:`~.cudaDeviceGetLimit`, :py:obj:`~.cuCtxSetLimit`
 *     """
 *     cdef ccudart.cudaLimit climit = limit.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceSetLimit(climit, value)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaLimit)__Pyx_PyInt_As_enum__cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":9505
 *     """
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaDeviceSetLimit(climit, value)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaDeviceSetLimit(__pyx_v_climit, __pyx_v_value); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9505, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":9506
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaDeviceSetLimit(climit, value)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 9506, __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(0, 9506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9410
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetLimit(limit not None : cudaLimit, 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.cudart.cudaDeviceSetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9509
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaDeviceGetLimit(PyObject *__pyx_self, PyObject *__pyx_v_limit); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaDeviceGetLimit[] = "cudaDeviceGetLimit(limit: cudaLimit)\n Returns resource limits.\n\n    - Returns in `*pValue` the current size of `limit`. The following\n      :py:obj:`~.cudaLimit` values are supported.\n\n    :py:obj:`~.cudaLimitStackSize` is the stack size in bytes of each GPU\n    thread.\n\n    - :py:obj:`~.cudaLimitPrintfFifoSize` is the size in bytes of the\n      shared FIFO used by the :py:obj:`~.printf()` device system call.\n\n    - :py:obj:`~.cudaLimitMallocHeapSize` is the size in bytes of the heap\n      used by the :py:obj:`~.malloc()` and :py:obj:`~.free()` device system\n      calls.\n\n    - :py:obj:`~.cudaLimitDevRuntimeSyncDepth` is the maximum grid depth at\n      which a thread can isssue the device runtime call\n      :py:obj:`~.cudaDeviceSynchronize()` to wait on child grid launches to\n      complete.\n\n    - :py:obj:`~.cudaLimitDevRuntimePendingLaunchCount` is the maximum\n      number of outstanding device runtime launches.\n\n    - :py:obj:`~.cudaLimitMaxL2FetchGranularity` is the L2 cache fetch\n      granularity.\n\n    - :py:obj:`~.cudaLimitPersistingL2CacheSize` is the persisting L2 cache\n      size in bytes.\n\n    Parameters\n    ----------\n    limit : :py:obj:`~.cudaLimit`\n        Limit to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorUnsupportedLimit`, :py:obj:`~.cudaErrorInvalidValue`\n    pValue : int\n        Returned size of the limit\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSetLimit`, :py:obj:`~.cuCtxGetLimit`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaDeviceGetLimit = {"cudaDeviceGetLimit", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaDeviceGetLimit, METH_O, __pyx_doc_4cuda_6cudart_20cudaDeviceGetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaDeviceGetLimit(PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetLimit (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_limit) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "limit"); __PYX_ERR(0, 9509, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaDeviceGetLimit(__pyx_self, ((PyObject *)__pyx_v_limit));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_20cudaDeviceGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  size_t __pyx_v_pValue;
  enum cudaLimit __pyx_v_climit;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaLimit __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__426)
  __Pyx_RefNannySetupContext("cudaDeviceGetLimit", 0);
  __Pyx_TraceCall("cudaDeviceGetLimit", __pyx_f[0], 9509, 0, __PYX_ERR(0, 9509, __pyx_L1_error));

  /* "cuda/cudart.pyx":9555
 *     :py:obj:`~.cudaDeviceSetLimit`, :py:obj:`~.cuCtxGetLimit`
 *     """
 *     cdef size_t pValue = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaDeviceGetLimit(&pValue, climit)
 */
  __pyx_v_pValue = 0;

  /* "cuda/cudart.pyx":9556
 *     """
 *     cdef size_t pValue = 0
 *     cdef ccudart.cudaLimit climit = limit.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetLimit(&pValue, climit)
 *     return (cudaError_t(err), pValue)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaLimit)__Pyx_PyInt_As_enum__cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":9557
 *     cdef size_t pValue = 0
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaDeviceGetLimit(&pValue, climit)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pValue)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaDeviceGetLimit((&__pyx_v_pValue), __pyx_v_climit); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9557, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":9558
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaDeviceGetLimit(&pValue, climit)
 *     return (cudaError_t(err), pValue)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 9558, __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(0, 9558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9509
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaDeviceGetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9561
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetTexture1DLinearMaxWidth(fmtDesc : cudaChannelFormatDesc, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given element size.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23cudaDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaDeviceGetTexture1DLinearMaxWidth[] = "cudaDeviceGetTexture1DLinearMaxWidth(cudaChannelFormatDesc fmtDesc: cudaChannelFormatDesc, int device)\n Returns the maximum number of elements allocatable in a 1D linear texture for a given element size.\n\n    Returns in `maxWidthInElements` the maximum number of elements\n    allocatable in a 1D linear texture for given format descriptor\n    `fmtDesc`.\n\n    Parameters\n    ----------\n    fmtDesc : :py:obj:`~.cudaChannelFormatDesc`\n        Texture format description.\n    None : int\n        None\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorUnsupportedLimit`, :py:obj:`~.cudaErrorInvalidValue`\n    maxWidthInElements : int\n        Returns maximum number of texture elements allocatable for given\n        `fmtDesc`.\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetMaxTexture1DLinear`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaDeviceGetTexture1DLinearMaxWidth = {"cudaDeviceGetTexture1DLinearMaxWidth", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_23cudaDeviceGetTexture1DLinearMaxWidth, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_22cudaDeviceGetTexture1DLinearMaxWidth};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_fmtDesc = 0;
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetTexture1DLinearMaxWidth (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fmtDesc,&__pyx_n_s_device_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fmtDesc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceGetTexture1DLinearMaxWidth", 1, 2, 2, 1); __PYX_ERR(0, 9561, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceGetTexture1DLinearMaxWidth") < 0)) __PYX_ERR(0, 9561, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_fmtDesc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)values[0]);
    __pyx_v_device = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9561, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceGetTexture1DLinearMaxWidth", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9561, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetTexture1DLinearMaxWidth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fmtDesc), __pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc, 1, "fmtDesc", 0))) __PYX_ERR(0, 9561, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaDeviceGetTexture1DLinearMaxWidth(__pyx_self, __pyx_v_fmtDesc, __pyx_v_device);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_22cudaDeviceGetTexture1DLinearMaxWidth(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_fmtDesc, int __pyx_v_device) {
  size_t __pyx_v_maxWidthInElements;
  struct cudaChannelFormatDesc *__pyx_v_cfmtDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct cudaChannelFormatDesc *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__427)
  __Pyx_RefNannySetupContext("cudaDeviceGetTexture1DLinearMaxWidth", 0);
  __Pyx_TraceCall("cudaDeviceGetTexture1DLinearMaxWidth", __pyx_f[0], 9561, 0, __PYX_ERR(0, 9561, __pyx_L1_error));

  /* "cuda/cudart.pyx":9587
 *     :py:obj:`~.cuDeviceGetMaxTexture1DLinear`,
 *     """
 *     cdef size_t maxWidthInElements = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaChannelFormatDesc* cfmtDesc_ptr = fmtDesc._ptr if fmtDesc != None else NULL
 *     err = ccudart.cudaDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cfmtDesc_ptr, device)
 */
  __pyx_v_maxWidthInElements = 0;

  /* "cuda/cudart.pyx":9588
 *     """
 *     cdef size_t maxWidthInElements = 0
 *     cdef ccudart.cudaChannelFormatDesc* cfmtDesc_ptr = fmtDesc._ptr if fmtDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cfmtDesc_ptr, device)
 *     return (cudaError_t(err), maxWidthInElements)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_fmtDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9588, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 9588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_fmtDesc->_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cfmtDesc_ptr = __pyx_t_1;

  /* "cuda/cudart.pyx":9589
 *     cdef size_t maxWidthInElements = 0
 *     cdef ccudart.cudaChannelFormatDesc* cfmtDesc_ptr = fmtDesc._ptr if fmtDesc != None else NULL
 *     err = ccudart.cudaDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cfmtDesc_ptr, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), maxWidthInElements)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaDeviceGetTexture1DLinearMaxWidth((&__pyx_v_maxWidthInElements), __pyx_v_cfmtDesc_ptr, __pyx_v_device); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9589, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":9590
 *     cdef ccudart.cudaChannelFormatDesc* cfmtDesc_ptr = fmtDesc._ptr if fmtDesc != None else NULL
 *     err = ccudart.cudaDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cfmtDesc_ptr, device)
 *     return (cudaError_t(err), maxWidthInElements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9590, __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_maxWidthInElements); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9561
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetTexture1DLinearMaxWidth(fmtDesc : cudaChannelFormatDesc, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given element size.
 * 
 */

  /* 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.cudart.cudaDeviceGetTexture1DLinearMaxWidth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9593
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaDeviceGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaDeviceGetCacheConfig[] = "cudaDeviceGetCacheConfig()\n Returns the preferred cache configuration for the current device.\n\n    On devices where the L1 cache and shared memory use the same hardware\n    resources, this returns through `pCacheConfig` the preferred cache\n    configuration for the current device. This is only a preference. The\n    runtime will use the requested configuration if possible, but it is\n    free to choose a different configuration if required to execute\n    functions.\n\n    This will return a `pCacheConfig` of\n    :py:obj:`~.cudaFuncCachePreferNone` on devices where the size of the L1\n    cache and shared memory are fixed.\n\n    The supported cache configurations are:\n\n    - :py:obj:`~.cudaFuncCachePreferNone`: no preference for shared memory\n      or L1 (default)\n\n    - :py:obj:`~.cudaFuncCachePreferShared`: prefer larger shared memory\n      and smaller L1 cache\n\n    - :py:obj:`~.cudaFuncCachePreferL1`: prefer larger L1 cache and smaller\n      shared memory\n\n    - :py:obj:`~.cudaFuncCachePreferEqual`: prefer equal size L1 cache and\n      shared memory\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n    pCacheConfig : :py:obj:`~.cudaFuncCache`\n        Returned cache configuration\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cudaFuncSetCacheConfig (C API)`, cudaFuncSetCacheConfig (C++ API), :py:obj:`~.cuCtxGetCacheConfig`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_25cudaDeviceGetCacheConfig = {"cudaDeviceGetCacheConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaDeviceGetCacheConfig, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaDeviceGetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_25cudaDeviceGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetCacheConfig (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaDeviceGetCacheConfig(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_24cudaDeviceGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  enum cudaFuncCache __pyx_v_pCacheConfig;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__428)
  __Pyx_RefNannySetupContext("cudaDeviceGetCacheConfig", 0);
  __Pyx_TraceCall("cudaDeviceGetCacheConfig", __pyx_f[0], 9593, 0, __PYX_ERR(0, 9593, __pyx_L1_error));

  /* "cuda/cudart.pyx":9633
 *     """
 *     cdef ccudart.cudaFuncCache pCacheConfig
 *     err = ccudart.cudaDeviceGetCacheConfig(&pCacheConfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaFuncCache(pCacheConfig))
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceGetCacheConfig((&__pyx_v_pCacheConfig)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9633, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":9634
 *     cdef ccudart.cudaFuncCache pCacheConfig
 *     err = ccudart.cudaDeviceGetCacheConfig(&pCacheConfig)
 *     return (cudaError_t(err), cudaFuncCache(pCacheConfig))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 9634, __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_cudaFuncCache); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaFuncCache(__pyx_v_pCacheConfig); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9593
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current 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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9637
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetStreamPriorityRange():             # <<<<<<<<<<<<<<
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_27cudaDeviceGetStreamPriorityRange(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaDeviceGetStreamPriorityRange[] = "cudaDeviceGetStreamPriorityRange()\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 the\n    meaningful range as specified by this API, the priority is\n    automatically clamped down or up to either `*leastPriority` or\n    `*greatestPriority` respectively. See\n    :py:obj:`~.cudaStreamCreateWithPriority` for details on creating a\n    priority stream. A NULL may be passed in for `*leastPriority` or\n    `*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:`~.cudaDeviceGetAttribute`).\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\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:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaStreamGetPriority`, :py:obj:`~.cuCtxGetStreamPriorityRange`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_27cudaDeviceGetStreamPriorityRange = {"cudaDeviceGetStreamPriorityRange", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaDeviceGetStreamPriorityRange, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaDeviceGetStreamPriorityRange};
static PyObject *__pyx_pw_4cuda_6cudart_27cudaDeviceGetStreamPriorityRange(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetStreamPriorityRange (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaDeviceGetStreamPriorityRange(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_26cudaDeviceGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_leastPriority;
  int __pyx_v_greatestPriority;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__429)
  __Pyx_RefNannySetupContext("cudaDeviceGetStreamPriorityRange", 0);
  __Pyx_TraceCall("cudaDeviceGetStreamPriorityRange", __pyx_f[0], 9637, 0, __PYX_ERR(0, 9637, __pyx_L1_error));

  /* "cuda/cudart.pyx":9672
 *     :py:obj:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaStreamGetPriority`, :py:obj:`~.cuCtxGetStreamPriorityRange`
 *     """
 *     cdef int leastPriority = 0             # <<<<<<<<<<<<<<
 *     cdef int greatestPriority = 0
 *     err = ccudart.cudaDeviceGetStreamPriorityRange(&leastPriority, &greatestPriority)
 */
  __pyx_v_leastPriority = 0;

  /* "cuda/cudart.pyx":9673
 *     """
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     return (cudaError_t(err), leastPriority, greatestPriority)
 */
  __pyx_v_greatestPriority = 0;

  /* "cuda/cudart.pyx":9674
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0
 *     err = ccudart.cudaDeviceGetStreamPriorityRange(&leastPriority, &greatestPriority)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), leastPriority, greatestPriority)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceGetStreamPriorityRange((&__pyx_v_leastPriority), (&__pyx_v_greatestPriority)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9674, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":9675
 *     cdef int greatestPriority = 0
 *     err = ccudart.cudaDeviceGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     return (cudaError_t(err), leastPriority, greatestPriority)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 9675, __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(0, 9675, __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(0, 9675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
  __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/cudart.pyx":9637
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetStreamPriorityRange():             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaDeviceGetStreamPriorityRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9678
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_29cudaDeviceSetCacheConfig(PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaDeviceSetCacheConfig[] = "cudaDeviceSetCacheConfig(cacheConfig: cudaFuncCache)\n Sets the preferred cache configuration for the current device.\n\n    On devices where the L1 cache and shared memory use the same hardware\n    resources, this sets through `cacheConfig` the preferred cache\n    configuration for the current device. This is only a preference. The\n    runtime will use the requested configuration if possible, but it is\n    free to choose a different configuration if required to execute the\n    function. Any function preference set via\n    :py:obj:`~.cudaFuncSetCacheConfig (C API)` or cudaFuncSetCacheConfig\n    (C++ API) will be preferred over this device-wide setting. Setting the\n    device-wide cache configuration to :py:obj:`~.cudaFuncCachePreferNone`\n    will cause subsequent kernel launches to prefer to not change the cache\n    configuration unless 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:`~.cudaFuncCachePreferNone`: no preference for shared memory\n      or L1 (default)\n\n    - :py:obj:`~.cudaFuncCachePreferShared`: prefer larger shared memory\n      and smaller L1 cache\n\n    - :py:obj:`~.cudaFuncCachePreferL1`: prefer larger L1 cache and smaller\n      shared memory\n\n    - :py:obj:`~.cudaFuncCachePreferEqual`: prefer equal size L1 cache and\n      shared memory\n\n    Parameters\n    ----------\n    cacheConfig : :py:obj:`~.cudaFuncCache`\n        Requested cache configuration\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceGetCacheConfig`, :py:obj:`~.cudaFuncSetCacheConfig (C API)`, cudaFuncSetCacheConfig (C++ API), :py:obj:`~.cuCtxSetCacheConfig`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_29cudaDeviceSetCacheConfig = {"cudaDeviceSetCacheConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_29cudaDeviceSetCacheConfig, METH_O, __pyx_doc_4cuda_6cudart_28cudaDeviceSetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_29cudaDeviceSetCacheConfig(PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceSetCacheConfig (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_cacheConfig) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "cacheConfig"); __PYX_ERR(0, 9678, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaDeviceSetCacheConfig(__pyx_self, ((PyObject *)__pyx_v_cacheConfig));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_28cudaDeviceSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig) {
  enum cudaFuncCache __pyx_v_ccacheConfig;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaFuncCache __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__430)
  __Pyx_RefNannySetupContext("cudaDeviceSetCacheConfig", 0);
  __Pyx_TraceCall("cudaDeviceSetCacheConfig", __pyx_f[0], 9678, 0, __PYX_ERR(0, 9678, __pyx_L1_error));

  /* "cuda/cudart.pyx":9727
 *     :py:obj:`~.cudaDeviceGetCacheConfig`, :py:obj:`~.cudaFuncSetCacheConfig (C API)`, cudaFuncSetCacheConfig (C++ API), :py:obj:`~.cuCtxSetCacheConfig`
 *     """
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceSetCacheConfig(ccacheConfig)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cacheConfig, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaFuncCache)__Pyx_PyInt_As_enum__cudaFuncCache(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ccacheConfig = __pyx_t_2;

  /* "cuda/cudart.pyx":9728
 *     """
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 *     err = ccudart.cudaDeviceSetCacheConfig(ccacheConfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaDeviceSetCacheConfig(__pyx_v_ccacheConfig); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9728, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":9729
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 *     err = ccudart.cudaDeviceSetCacheConfig(ccacheConfig)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 9729, __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(0, 9729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9678
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */

  /* 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.cudart.cudaDeviceSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9732
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetSharedMemConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the shared memory configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_31cudaDeviceGetSharedMemConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_30cudaDeviceGetSharedMemConfig[] = "cudaDeviceGetSharedMemConfig()\n Returns the shared memory configuration for the current device.\n\n    This function will return in `pConfig` the current size of shared\n    memory banks on the current device. On devices with configurable shared\n    memory banks, :py:obj:`~.cudaDeviceSetSharedMemConfig` can be used to\n    change this setting, so that all subsequent kernel launches will by\n    default use the new bank size. When\n    :py:obj:`~.cudaDeviceGetSharedMemConfig` is called on devices without\n    configurable shared memory, it will return the fixed bank size of the\n    hardware.\n\n    The returned bank configurations can be either:\n\n    - :py:obj:`~.cudaSharedMemBankSizeFourByte` - shared memory bank width\n      is four bytes.\n\n    - :py:obj:`~.cudaSharedMemBankSizeEightByte` - shared memory bank width\n      is eight bytes.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pConfig : :py:obj:`~.cudaSharedMemConfig`\n        Returned cache configuration\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cudaDeviceGetCacheConfig`, :py:obj:`~.cudaDeviceSetSharedMemConfig`, :py:obj:`~.cudaFuncSetCacheConfig`, :py:obj:`~.cuCtxGetSharedMemConfig`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaDeviceGetSharedMemConfig = {"cudaDeviceGetSharedMemConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaDeviceGetSharedMemConfig, METH_NOARGS, __pyx_doc_4cuda_6cudart_30cudaDeviceGetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaDeviceGetSharedMemConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetSharedMemConfig (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_30cudaDeviceGetSharedMemConfig(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_30cudaDeviceGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  enum cudaSharedMemConfig __pyx_v_pConfig;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__431)
  __Pyx_RefNannySetupContext("cudaDeviceGetSharedMemConfig", 0);
  __Pyx_TraceCall("cudaDeviceGetSharedMemConfig", __pyx_f[0], 9732, 0, __PYX_ERR(0, 9732, __pyx_L1_error));

  /* "cuda/cudart.pyx":9764
 *     """
 *     cdef ccudart.cudaSharedMemConfig pConfig
 *     err = ccudart.cudaDeviceGetSharedMemConfig(&pConfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaSharedMemConfig(pConfig))
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceGetSharedMemConfig((&__pyx_v_pConfig)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9764, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":9765
 *     cdef ccudart.cudaSharedMemConfig pConfig
 *     err = ccudart.cudaDeviceGetSharedMemConfig(&pConfig)
 *     return (cudaError_t(err), cudaSharedMemConfig(pConfig))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 9765, __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_cudaSharedMemConfig); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaSharedMemConfig(__pyx_v_pConfig); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9732
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetSharedMemConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the shared memory configuration for the current 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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9768
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetSharedMemConfig(config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33cudaDeviceSetSharedMemConfig(PyObject *__pyx_self, PyObject *__pyx_v_config); /*proto*/
static char __pyx_doc_4cuda_6cudart_32cudaDeviceSetSharedMemConfig[] = "cudaDeviceSetSharedMemConfig(config: cudaSharedMemConfig)\n Sets the shared memory configuration for the current device.\n\n    On devices with configurable shared memory banks, this function will\n    set the shared memory bank size which is used for all subsequent kernel\n    launches. Any per-function setting of shared memory set via\n    :py:obj:`~.cudaFuncSetSharedMemConfig` will override the device wide\n    setting.\n\n    Changing the shared memory configuration between launches may introduce\n    a device side synchronization point.\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:`~.cudaSharedMemBankSizeDefault`: set bank width the device\n      default (currently, four bytes)\n\n    - :py:obj:`~.cudaSharedMemBankSizeFourByte`: set shared memory bank\n      width to be four bytes natively.\n\n    - :py:obj:`~.cudaSharedMemBankSizeEightByte`: set shared memory bank\n      width to be eight bytes natively.\n\n    Parameters\n    ----------\n    config : :py:obj:`~.cudaSharedMemConfig`\n        Requested cache configuration\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cudaDeviceGetCacheConfig`, :py:obj:`~.cudaDeviceGetSharedMemConfig`, :py:obj:`~.cudaFuncSetCacheConfig`, :py:obj:`~.cuCtxSetSharedMemConfig`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33cudaDeviceSetSharedMemConfig = {"cudaDeviceSetSharedMemConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaDeviceSetSharedMemConfig, METH_O, __pyx_doc_4cuda_6cudart_32cudaDeviceSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_6cudart_33cudaDeviceSetSharedMemConfig(PyObject *__pyx_self, PyObject *__pyx_v_config) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceSetSharedMemConfig (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_config) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "config"); __PYX_ERR(0, 9768, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_32cudaDeviceSetSharedMemConfig(__pyx_self, ((PyObject *)__pyx_v_config));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_32cudaDeviceSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config) {
  enum cudaSharedMemConfig __pyx_v_cconfig;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaSharedMemConfig __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__432)
  __Pyx_RefNannySetupContext("cudaDeviceSetSharedMemConfig", 0);
  __Pyx_TraceCall("cudaDeviceSetSharedMemConfig", __pyx_f[0], 9768, 0, __PYX_ERR(0, 9768, __pyx_L1_error));

  /* "cuda/cudart.pyx":9814
 *     :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cudaDeviceGetCacheConfig`, :py:obj:`~.cudaDeviceGetSharedMemConfig`, :py:obj:`~.cudaFuncSetCacheConfig`, :py:obj:`~.cuCtxSetSharedMemConfig`
 *     """
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceSetSharedMemConfig(cconfig)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaSharedMemConfig)__Pyx_PyInt_As_enum__cudaSharedMemConfig(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cconfig = __pyx_t_2;

  /* "cuda/cudart.pyx":9815
 *     """
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value
 *     err = ccudart.cudaDeviceSetSharedMemConfig(cconfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaDeviceSetSharedMemConfig(__pyx_v_cconfig); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9815, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":9816
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value
 *     err = ccudart.cudaDeviceSetSharedMemConfig(cconfig)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 9816, __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(0, 9816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9768
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetSharedMemConfig(config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for the current device.
 * 
 */

  /* 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.cudart.cudaDeviceSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9819
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetByPCIBusId(char* pciBusId):             # <<<<<<<<<<<<<<
 *     """ Returns a handle to a compute device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_35cudaDeviceGetByPCIBusId(PyObject *__pyx_self, PyObject *__pyx_arg_pciBusId); /*proto*/
static char __pyx_doc_4cuda_6cudart_34cudaDeviceGetByPCIBusId[] = "cudaDeviceGetByPCIBusId(char *pciBusId)\n Returns a handle to a compute device.\n\n    Returns in `*device` a device ordinal 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n    device : int\n        Returned device ordinal\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceGetPCIBusId`, :py:obj:`~.cuDeviceGetByPCIBusId`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35cudaDeviceGetByPCIBusId = {"cudaDeviceGetByPCIBusId", (PyCFunction)__pyx_pw_4cuda_6cudart_35cudaDeviceGetByPCIBusId, METH_O, __pyx_doc_4cuda_6cudart_34cudaDeviceGetByPCIBusId};
static PyObject *__pyx_pw_4cuda_6cudart_35cudaDeviceGetByPCIBusId(PyObject *__pyx_self, PyObject *__pyx_arg_pciBusId) {
  char *__pyx_v_pciBusId;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetByPCIBusId (wrapper)", 0);
  assert(__pyx_arg_pciBusId); {
    __pyx_v_pciBusId = __Pyx_PyObject_AsWritableString(__pyx_arg_pciBusId); if (unlikely((!__pyx_v_pciBusId) && PyErr_Occurred())) __PYX_ERR(0, 9819, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetByPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_34cudaDeviceGetByPCIBusId(__pyx_self, ((char *)__pyx_v_pciBusId));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_34cudaDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId) {
  int __pyx_v_device;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__433)
  __Pyx_RefNannySetupContext("cudaDeviceGetByPCIBusId", 0);
  __Pyx_TraceCall("cudaDeviceGetByPCIBusId", __pyx_f[0], 9819, 0, __PYX_ERR(0, 9819, __pyx_L1_error));

  /* "cuda/cudart.pyx":9843
 *     :py:obj:`~.cudaDeviceGetPCIBusId`, :py:obj:`~.cuDeviceGetByPCIBusId`
 *     """
 *     cdef int device = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetByPCIBusId(&device, pciBusId)
 *     return (cudaError_t(err), device)
 */
  __pyx_v_device = 0;

  /* "cuda/cudart.pyx":9844
 *     """
 *     cdef int device = 0
 *     err = ccudart.cudaDeviceGetByPCIBusId(&device, pciBusId)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), device)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceGetByPCIBusId((&__pyx_v_device), __pyx_v_pciBusId); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9844, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":9845
 *     cdef int device = 0
 *     err = ccudart.cudaDeviceGetByPCIBusId(&device, pciBusId)
 *     return (cudaError_t(err), device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 9845, __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_device); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9819
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetByPCIBusId(char* pciBusId):             # <<<<<<<<<<<<<<
 *     """ Returns a handle to a compute 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_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetByPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9848
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetPCIBusId(int length, int device):             # <<<<<<<<<<<<<<
 *     """ Returns a PCI Bus Id string for the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_37cudaDeviceGetPCIBusId(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_36cudaDeviceGetPCIBusId[] = "cudaDeviceGetPCIBusId(int length, int device)\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    device : int\n        Device to get identifier string for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n    pciBusId : bytes\n        Returned identifier string for the device in the following format\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceGetByPCIBusId`, :py:obj:`~.cuDeviceGetPCIBusId`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_37cudaDeviceGetPCIBusId = {"cudaDeviceGetPCIBusId", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_37cudaDeviceGetPCIBusId, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_36cudaDeviceGetPCIBusId};
static PyObject *__pyx_pw_4cuda_6cudart_37cudaDeviceGetPCIBusId(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_length;
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetPCIBusId (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_length,&__pyx_n_s_device_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_length)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceGetPCIBusId", 1, 2, 2, 1); __PYX_ERR(0, 9848, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceGetPCIBusId") < 0)) __PYX_ERR(0, 9848, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_length = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9848, __pyx_L3_error)
    __pyx_v_device = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 9848, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceGetPCIBusId", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9848, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaDeviceGetPCIBusId(__pyx_self, __pyx_v_length, __pyx_v_device);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_36cudaDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, int __pyx_v_device) {
  PyObject *__pyx_v_pypciBusId = NULL;
  char *__pyx_v_pciBusId;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  char *__pyx_t_3;
  cudaError_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_TraceFrameInit(__pyx_codeobj__434)
  __Pyx_RefNannySetupContext("cudaDeviceGetPCIBusId", 0);
  __Pyx_TraceCall("cudaDeviceGetPCIBusId", __pyx_f[0], 9848, 0, __PYX_ERR(0, 9848, __pyx_L1_error));

  /* "cuda/cudart.pyx":9877
 *     :py:obj:`~.cudaDeviceGetByPCIBusId`, :py:obj:`~.cuDeviceGetPCIBusId`
 *     """
 *     pypciBusId = b" " * length             # <<<<<<<<<<<<<<
 *     cdef char* pciBusId = pypciBusId
 *     err = ccudart.cudaDeviceGetPCIBusId(pciBusId, length, device)
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Multiply(__pyx_kp_b__435, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (!(likely(PyBytes_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 9877, __pyx_L1_error)
  __pyx_v_pypciBusId = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9878
 *     """
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetPCIBusId(pciBusId, length, device)
 *     return (cudaError_t(err), pypciBusId)
 */
  if (unlikely(__pyx_v_pypciBusId == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(0, 9878, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyBytes_AsWritableString(__pyx_v_pypciBusId); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 9878, __pyx_L1_error)
  __pyx_v_pciBusId = __pyx_t_3;

  /* "cuda/cudart.pyx":9879
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
 *     err = ccudart.cudaDeviceGetPCIBusId(pciBusId, length, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pypciBusId)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaDeviceGetPCIBusId(__pyx_v_pciBusId, __pyx_v_length, __pyx_v_device); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9879, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":9880
 *     cdef char* pciBusId = pypciBusId
 *     err = ccudart.cudaDeviceGetPCIBusId(pciBusId, length, device)
 *     return (cudaError_t(err), pypciBusId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_INCREF(__pyx_v_pypciBusId);
  __Pyx_GIVEREF(__pyx_v_pypciBusId);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_pypciBusId);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9848
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetPCIBusId(int length, int device):             # <<<<<<<<<<<<<<
 *     """ Returns a PCI Bus Id string for the device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pypciBusId);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9883
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetEventHandle(event):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess handle for a previously allocated event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_39cudaIpcGetEventHandle(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_38cudaIpcGetEventHandle[] = "cudaIpcGetEventHandle(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:`~.cudaEventInterprocess` and\n    :py:obj:`~.cudaEventDisableTiming` flags set. This opaque handle may be\n    copied into other processes and opened with\n    :py:obj:`~.cudaIpcOpenEventHandle` to allow efficient hardware\n    synchronization between GPU work in different processes.\n\n    After the event has been been opened in the importing process,\n    :py:obj:`~.cudaEventRecord`, :py:obj:`~.cudaEventSynchronize`,\n    :py:obj:`~.cudaStreamWaitEvent` and :py:obj:`~.cudaEventQuery` may be\n    used in either process. Performing operations on the imported event\n    after the exported event has been freed with\n    :py:obj:`~.cudaEventDestroy` will result in undefined behavior.\n\n    IPC functionality is restricted to devices with support for unified\n    addressing on Linux operating systems. IPC functionality is not\n    supported on Tegra platforms.\n\n    Parameters\n    ----------\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event allocated with :py:obj:`~.cudaEventInterprocess` and\n        :py:obj:`~.cudaEventDisableTiming` flags.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorMemoryAllocation`, :py:obj:`~.cudaErrorMapBufferObjectFailed`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`\n    handle : :py:obj:`~.cudaIpcEventHandle_t`\n        Pointer to a user allocated cudaIpcEventHandle in which to return\n        the opaque event handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaIpcOpenEventHandle`, :py:obj:`~.cudaIpcGetMemHandle`, :py:obj:`~.cudaIpcOpenMemHan""dle`, :py:obj:`~.cudaIpcCloseMemHandle`, :py:obj:`~.cuIpcGetEventHandle`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_39cudaIpcGetEventHandle = {"cudaIpcGetEventHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_39cudaIpcGetEventHandle, METH_O, __pyx_doc_4cuda_6cudart_38cudaIpcGetEventHandle};
static PyObject *__pyx_pw_4cuda_6cudart_39cudaIpcGetEventHandle(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcGetEventHandle (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38cudaIpcGetEventHandle(__pyx_self, ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_38cudaIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *__pyx_v_handle = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__436)
  __Pyx_RefNannySetupContext("cudaIpcGetEventHandle", 0);
  __Pyx_TraceCall("cudaIpcGetEventHandle", __pyx_f[0], 9883, 0, __PYX_ERR(0, 9883, __pyx_L1_error));

  /* "cuda/cudart.pyx":9923
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9924
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":9923
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9925
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":9926
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":9927
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9927, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":9925
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":9929
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":9930
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 9930, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":9932
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaIpcGetEventHandle(handle._ptr, cevent)
 *     return (cudaError_t(err), handle)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_handle = ((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":9933
 * 
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 *     err = ccudart.cudaIpcGetEventHandle(handle._ptr, cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), handle)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaIpcGetEventHandle(__pyx_v_handle->__pyx_base._ptr, __pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9933, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":9934
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 *     err = ccudart.cudaIpcGetEventHandle(handle._ptr, cevent)
 *     return (cudaError_t(err), handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_handle));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_handle));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_handle));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9883
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetEventHandle(event):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess handle for a previously allocated event.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcGetEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9937
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenEventHandle(handle not None : cudaIpcEventHandle_t):             # <<<<<<<<<<<<<<
 *     """ Opens an interprocess event handle for use in the current process.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41cudaIpcOpenEventHandle(PyObject *__pyx_self, PyObject *__pyx_v_handle); /*proto*/
static char __pyx_doc_4cuda_6cudart_40cudaIpcOpenEventHandle[] = "cudaIpcOpenEventHandle(cudaIpcEventHandle_t handle: cudaIpcEventHandle_t)\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:`~.cudaIpcGetEventHandle`. This function returns a\n    :py:obj:`~.cudaEvent_t` that behaves like a locally created event with\n    the :py:obj:`~.cudaEventDisableTiming` flag specified. This event must\n    be freed with :py:obj:`~.cudaEventDestroy`.\n\n    Performing operations on the imported event after the exported event\n    has been freed with :py:obj:`~.cudaEventDestroy` will result in\n    undefined behavior.\n\n    IPC functionality is restricted to devices with support for unified\n    addressing on Linux operating systems. IPC functionality is not\n    supported on Tegra platforms.\n\n    Parameters\n    ----------\n    handle : :py:obj:`~.cudaIpcEventHandle_t`\n        Interprocess handle to open\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorMapBufferObjectFailed`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorDeviceUninitialized`\n    event : :py:obj:`~.cudaEvent_t`\n        Returns the imported event\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaIpcGetEventHandle`, :py:obj:`~.cudaIpcGetMemHandle`, :py:obj:`~.cudaIpcOpenMemHandle`, :py:obj:`~.cudaIpcCloseMemHandle`, :py:obj:`~.cuIpcOpenEventHandle`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41cudaIpcOpenEventHandle = {"cudaIpcOpenEventHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_41cudaIpcOpenEventHandle, METH_O, __pyx_doc_4cuda_6cudart_40cudaIpcOpenEventHandle};
static PyObject *__pyx_pw_4cuda_6cudart_41cudaIpcOpenEventHandle(PyObject *__pyx_self, PyObject *__pyx_v_handle) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcOpenEventHandle (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_handle), __pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_t, 0, "handle", 0))) __PYX_ERR(0, 9937, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_40cudaIpcOpenEventHandle(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *)__pyx_v_handle));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_40cudaIpcOpenEventHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *__pyx_v_handle) {
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__437)
  __Pyx_RefNannySetupContext("cudaIpcOpenEventHandle", 0);
  __Pyx_TraceCall("cudaIpcOpenEventHandle", __pyx_f[0], 9937, 0, __PYX_ERR(0, 9937, __pyx_L1_error));

  /* "cuda/cudart.pyx":9970
 *     :py:obj:`~.cudaEventCreate`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaIpcGetEventHandle`, :py:obj:`~.cudaIpcGetMemHandle`, :py:obj:`~.cudaIpcOpenMemHandle`, :py:obj:`~.cudaIpcCloseMemHandle`, :py:obj:`~.cuIpcOpenEventHandle`
 *     """
 *     cdef cudaEvent_t event = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaIpcOpenEventHandle(<ccudart.cudaEvent_t*>event._ptr, handle._ptr[0])
 *     return (cudaError_t(err), event)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_event = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9971
 *     """
 *     cdef cudaEvent_t event = cudaEvent_t()
 *     err = ccudart.cudaIpcOpenEventHandle(<ccudart.cudaEvent_t*>event._ptr, handle._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), event)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaIpcOpenEventHandle(((cudaEvent_t *)__pyx_v_event->__pyx_base._ptr), (__pyx_v_handle->__pyx_base._ptr[0])); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9971, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":9972
 *     cdef cudaEvent_t event = cudaEvent_t()
 *     err = ccudart.cudaIpcOpenEventHandle(<ccudart.cudaEvent_t*>event._ptr, handle._ptr[0])
 *     return (cudaError_t(err), event)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9972, __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(0, 9972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_event));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_event));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_event));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9937
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenEventHandle(handle not None : cudaIpcEventHandle_t):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaIpcOpenEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_event);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9975
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_43cudaIpcGetMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /*proto*/
static char __pyx_doc_4cuda_6cudart_42cudaIpcGetMemHandle[] = "cudaIpcGetMemHandle(devPtr)\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:`~.cudaMalloc` 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:`~.cudaFree` and a\n    subsequent call to :py:obj:`~.cudaMalloc` returns memory with the same\n    device address, :py:obj:`~.cudaIpcGetMemHandle` 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 operating systems. IPC functionality is not\n    supported on Tegra platforms.\n\n    Parameters\n    ----------\n    devPtr : Any\n        Base pointer to previously allocated device memory\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorMemoryAllocation`, :py:obj:`~.cudaErrorMapBufferObjectFailed`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`\n    handle : :py:obj:`~.cudaIpcMemHandle_t`\n        Pointer to user allocated :py:obj:`~.cudaIpcMemHandle` to return\n        the handle in.\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaIpcGetEventHandle`, :py:obj:`~.cudaIpcOpenEventHandle`, :py:obj:`~.cudaIpcOpenMemHandle`, :py:obj:`~.cudaIpcCloseMemHandle`, :py:obj:`~.cuIpcGetMemHandle`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_43cudaIpcGetMemHandle = {"cudaIpcGetMemHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_43cudaIpcGetMemHandle, METH_O, __pyx_doc_4cuda_6cudart_42cudaIpcGetMemHandle};
static PyObject *__pyx_pw_4cuda_6cudart_43cudaIpcGetMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcGetMemHandle (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_42cudaIpcGetMemHandle(__pyx_self, ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_42cudaIpcGetMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t *__pyx_v_handle = 0;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__438)
  __Pyx_RefNannySetupContext("cudaIpcGetMemHandle", 0);
  __Pyx_TraceCall("cudaIpcGetMemHandle", __pyx_f[0], 9975, 0, __PYX_ERR(0, 9975, __pyx_L1_error));

  /* "cuda/cudart.pyx":10009
 *     :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaIpcGetEventHandle`, :py:obj:`~.cudaIpcOpenEventHandle`, :py:obj:`~.cudaIpcOpenMemHandle`, :py:obj:`~.cudaIpcCloseMemHandle`, :py:obj:`~.cuIpcGetMemHandle`
 *     """
 *     cdef cudaIpcMemHandle_t handle = cudaIpcMemHandle_t()             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_handle = ((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10010
 *     """
 *     cdef cudaIpcMemHandle_t handle = cudaIpcMemHandle_t()
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaIpcGetMemHandle(handle._ptr, cdevPtr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10011
 *     cdef cudaIpcMemHandle_t handle = cudaIpcMemHandle_t()
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaIpcGetMemHandle(handle._ptr, cdevPtr_ptr)
 *     return (cudaError_t(err), handle)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10011, __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(0, 10011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":10012
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaIpcGetMemHandle(handle._ptr, cdevPtr_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), handle)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaIpcGetMemHandle(__pyx_v_handle->__pyx_base._ptr, __pyx_v_cdevPtr_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10012, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10013
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaIpcGetMemHandle(handle._ptr, cdevPtr_ptr)
 *     return (cudaError_t(err), handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 10013, __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(0, 10013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_handle));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_handle));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_handle));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9975
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess memory handle for an existing device 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.cudart.cudaIpcGetMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10016
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenMemHandle(handle not None : cudaIpcMemHandle_t, 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_6cudart_45cudaIpcOpenMemHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_44cudaIpcOpenMemHandle[] = "cudaIpcOpenMemHandle(cudaIpcMemHandle_t handle: cudaIpcMemHandle_t, 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:`~.cudaIpcGetMemHandle` into the current device address space.\n    For contexts on different devices :py:obj:`~.cudaIpcOpenMemHandle` can\n    attempt to enable peer access between the devices as if the user called\n    :py:obj:`~.cudaDeviceEnablePeerAccess`. This behavior is controlled by\n    the :py:obj:`~.cudaIpcMemLazyEnablePeerAccess` flag.\n    :py:obj:`~.cudaDeviceCanAccessPeer` can determine if a mapping is\n    possible.\n\n    :py:obj:`~.cudaIpcOpenMemHandle` can open handles to devices that may\n    not be visible in the process calling the API.\n\n    Contexts that may open :py:obj:`~.cudaIpcMemHandles` are restricted in\n    the following way. :py:obj:`~.cudaIpcMemHandles` from each device in a\n    given process may only be opened by one context per device per other\n    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:`~.cudaIpcOpenMemHandle` must be freed\n    with :py:obj:`~.cudaIpcCloseMemHandle`.\n\n    Calling :py:obj:`~.cudaFree` on an exported memory region before\n    calling :py:obj:`~.cudaIpcCloseMemHandle` 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 operating systems. IPC functionality is not\n    supported on Tegra platforms.\n\n    Parameters\n    ----------\n    handle : :py:obj:`~.cudaIpcMemHandle_t`\n        :py:obj:`~.cudaIpcMemHandle` to open\n    flags : unsigned int\n        Flags for this operation. Must be specified as\n        :py:obj:`~.cudaIpcMemLazyEna""blePeerAccess`\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorMapBufferObjectFailed`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorDeviceUninitialized`, :py:obj:`~.cudaErrorTooManyPeers`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`\n    devPtr : Any\n        Returned device pointer\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaIpcGetEventHandle`, :py:obj:`~.cudaIpcOpenEventHandle`, :py:obj:`~.cudaIpcGetMemHandle`, :py:obj:`~.cudaIpcCloseMemHandle`, :py:obj:`~.cudaDeviceEnablePeerAccess`, :py:obj:`~.cudaDeviceCanAccessPeer`, :py:obj:`~.cuIpcOpenMemHandle`\n\n    Notes\n    -----\n    No guarantees are made about the address returned in `*devPtr`. \n     In particular, multiple processes may not receive the same address for the same `handle`.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_45cudaIpcOpenMemHandle = {"cudaIpcOpenMemHandle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_45cudaIpcOpenMemHandle, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_44cudaIpcOpenMemHandle};
static PyObject *__pyx_pw_4cuda_6cudart_45cudaIpcOpenMemHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t *__pyx_v_handle = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcOpenMemHandle (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle_2,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_handle_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaIpcOpenMemHandle", 1, 2, 2, 1); __PYX_ERR(0, 10016, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaIpcOpenMemHandle") < 0)) __PYX_ERR(0, 10016, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_handle = ((struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t *)values[0]);
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 10016, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaIpcOpenMemHandle", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10016, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaIpcOpenMemHandle", __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_6cudart_cudaIpcMemHandle_t, 0, "handle", 0))) __PYX_ERR(0, 10016, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_44cudaIpcOpenMemHandle(__pyx_self, __pyx_v_handle, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_44cudaIpcOpenMemHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t *__pyx_v_handle, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__439)
  __Pyx_RefNannySetupContext("cudaIpcOpenMemHandle", 0);
  __Pyx_TraceCall("cudaIpcOpenMemHandle", __pyx_f[0], 10016, 0, __PYX_ERR(0, 10016, __pyx_L1_error));

  /* "cuda/cudart.pyx":10075
 *      In particular, multiple processes may not receive the same address for the same `handle`.
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaIpcOpenMemHandle(<void**>&devPtr, handle._ptr[0], flags)
 *     return (cudaError_t(err), devPtr)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":10076
 *     """
 *     cdef void_ptr devPtr = 0
 *     err = ccudart.cudaIpcOpenMemHandle(<void**>&devPtr, handle._ptr[0], flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaIpcOpenMemHandle(((void **)(&__pyx_v_devPtr)), (__pyx_v_handle->__pyx_base._ptr[0]), __pyx_v_flags); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10076, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10077
 *     cdef void_ptr devPtr = 0
 *     err = ccudart.cudaIpcOpenMemHandle(<void**>&devPtr, handle._ptr[0], flags)
 *     return (cudaError_t(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 10077, __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_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10016
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenMemHandle(handle not None : cudaIpcMemHandle_t, 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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcOpenMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10080
 * 
 * @cython.embedsignature(True)
 * def cudaIpcCloseMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Attempts to close memory mapped with cudaIpcOpenMemHandle.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_47cudaIpcCloseMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /*proto*/
static char __pyx_doc_4cuda_6cudart_46cudaIpcCloseMemHandle[] = "cudaIpcCloseMemHandle(devPtr)\n Attempts to close memory mapped with cudaIpcOpenMemHandle.\n\n    Decrements the reference count of the memory returnd by\n    :py:obj:`~.cudaIpcOpenMemHandle` 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 operating systems. IPC functionality is not\n    supported on Tegra platforms.\n\n    Parameters\n    ----------\n    devPtr : Any\n        Device pointer returned by :py:obj:`~.cudaIpcOpenMemHandle`\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorMapBufferObjectFailed`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaIpcGetEventHandle`, :py:obj:`~.cudaIpcOpenEventHandle`, :py:obj:`~.cudaIpcGetMemHandle`, :py:obj:`~.cudaIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_47cudaIpcCloseMemHandle = {"cudaIpcCloseMemHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_47cudaIpcCloseMemHandle, METH_O, __pyx_doc_4cuda_6cudart_46cudaIpcCloseMemHandle};
static PyObject *__pyx_pw_4cuda_6cudart_47cudaIpcCloseMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcCloseMemHandle (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_46cudaIpcCloseMemHandle(__pyx_self, ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_46cudaIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__440)
  __Pyx_RefNannySetupContext("cudaIpcCloseMemHandle", 0);
  __Pyx_TraceCall("cudaIpcCloseMemHandle", __pyx_f[0], 10080, 0, __PYX_ERR(0, 10080, __pyx_L1_error));

  /* "cuda/cudart.pyx":10110
 *     :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaIpcGetEventHandle`, :py:obj:`~.cudaIpcOpenEventHandle`, :py:obj:`~.cudaIpcGetMemHandle`, :py:obj:`~.cudaIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaIpcCloseMemHandle(cdevPtr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10111
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaIpcCloseMemHandle(cdevPtr_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10111, __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(0, 10111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":10112
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaIpcCloseMemHandle(cdevPtr_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaIpcCloseMemHandle(__pyx_v_cdevPtr_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10112, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10113
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaIpcCloseMemHandle(cdevPtr_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 10113, __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(0, 10113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10080
 * 
 * @cython.embedsignature(True)
 * def cudaIpcCloseMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Attempts to close memory mapped with cudaIpcOpenMemHandle.
 * 
 */

  /* 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.cudart.cudaIpcCloseMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10116
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceFlushGPUDirectRDMAWrites(target not None : cudaFlushGPUDirectRDMAWritesTarget, scope not None : cudaFlushGPUDirectRDMAWritesScope):             # <<<<<<<<<<<<<<
 *     """ Blocks until remote writes are visible to the specified scope.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_49cudaDeviceFlushGPUDirectRDMAWrites(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_48cudaDeviceFlushGPUDirectRDMAWrites[] = "cudaDeviceFlushGPUDirectRDMAWrites(target: cudaFlushGPUDirectRDMAWritesTarget, scope: cudaFlushGPUDirectRDMAWritesScope)\n Blocks until remote writes are visible to the specified scope.\n\n    Blocks until remote writes to the target context via mappings created\n    through GPUDirect RDMA 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:`~.cudaDevAttrGPUDirectRDMAWritesOrdering`, the call will be a\n    no-op and can be safely omitted for performance. This can be determined\n    by comparing the numerical values between the two enums, with smaller\n    scopes having smaller values.\n\n    Users may query support for this API via\n    :py:obj:`~.cudaDevAttrGPUDirectRDMAFlushWritesOptions`.\n\n    Parameters\n    ----------\n    target : :py:obj:`~.cudaFlushGPUDirectRDMAWritesTarget`\n        The target of the operation, see cudaFlushGPUDirectRDMAWritesTarget\n    scope : :py:obj:`~.cudaFlushGPUDirectRDMAWritesScope`\n        The scope of the operation, see cudaFlushGPUDirectRDMAWritesScope\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorNotSupported`,\n\n    See Also\n    --------\n    :py:obj:`~.cuFlushGPUDirectRDMAWrites`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_49cudaDeviceFlushGPUDirectRDMAWrites = {"cudaDeviceFlushGPUDirectRDMAWrites", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_49cudaDeviceFlushGPUDirectRDMAWrites, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_48cudaDeviceFlushGPUDirectRDMAWrites};
static PyObject *__pyx_pw_4cuda_6cudart_49cudaDeviceFlushGPUDirectRDMAWrites(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_target = 0;
  PyObject *__pyx_v_scope = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceFlushGPUDirectRDMAWrites (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_target,&__pyx_n_s_scope,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scope)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceFlushGPUDirectRDMAWrites", 1, 2, 2, 1); __PYX_ERR(0, 10116, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceFlushGPUDirectRDMAWrites") < 0)) __PYX_ERR(0, 10116, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_target = values[0];
    __pyx_v_scope = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceFlushGPUDirectRDMAWrites", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10116, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceFlushGPUDirectRDMAWrites", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_target) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "target"); __PYX_ERR(0, 10116, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_scope) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "scope"); __PYX_ERR(0, 10116, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_48cudaDeviceFlushGPUDirectRDMAWrites(__pyx_self, __pyx_v_target, __pyx_v_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_48cudaDeviceFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope) {
  enum cudaFlushGPUDirectRDMAWritesTarget __pyx_v_ctarget;
  enum cudaFlushGPUDirectRDMAWritesScope __pyx_v_cscope;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaFlushGPUDirectRDMAWritesTarget __pyx_t_2;
  enum cudaFlushGPUDirectRDMAWritesScope __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__441)
  __Pyx_RefNannySetupContext("cudaDeviceFlushGPUDirectRDMAWrites", 0);
  __Pyx_TraceCall("cudaDeviceFlushGPUDirectRDMAWrites", __pyx_f[0], 10116, 0, __PYX_ERR(0, 10116, __pyx_L1_error));

  /* "cuda/cudart.pyx":10149
 *     :py:obj:`~.cuFlushGPUDirectRDMAWrites`
 *     """
 *     cdef ccudart.cudaFlushGPUDirectRDMAWritesTarget ctarget = target.value             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaFlushGPUDirectRDMAWritesScope cscope = scope.value
 *     err = ccudart.cudaDeviceFlushGPUDirectRDMAWrites(ctarget, cscope)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaFlushGPUDirectRDMAWritesTarget)__Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesTarget(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ctarget = __pyx_t_2;

  /* "cuda/cudart.pyx":10150
 *     """
 *     cdef ccudart.cudaFlushGPUDirectRDMAWritesTarget ctarget = target.value
 *     cdef ccudart.cudaFlushGPUDirectRDMAWritesScope cscope = scope.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceFlushGPUDirectRDMAWrites(ctarget, cscope)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaFlushGPUDirectRDMAWritesScope)__Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesScope(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cscope = __pyx_t_3;

  /* "cuda/cudart.pyx":10151
 *     cdef ccudart.cudaFlushGPUDirectRDMAWritesTarget ctarget = target.value
 *     cdef ccudart.cudaFlushGPUDirectRDMAWritesScope cscope = scope.value
 *     err = ccudart.cudaDeviceFlushGPUDirectRDMAWrites(ctarget, cscope)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaDeviceFlushGPUDirectRDMAWrites(__pyx_v_ctarget, __pyx_v_cscope); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10151, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":10152
 *     cdef ccudart.cudaFlushGPUDirectRDMAWritesScope cscope = scope.value
 *     err = ccudart.cudaDeviceFlushGPUDirectRDMAWrites(ctarget, cscope)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10152, __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(0, 10152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10116
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceFlushGPUDirectRDMAWrites(target not None : cudaFlushGPUDirectRDMAWritesTarget, scope not None : cudaFlushGPUDirectRDMAWritesScope):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaDeviceFlushGPUDirectRDMAWrites", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10155
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExit():             # <<<<<<<<<<<<<<
 *     """ Exit and clean up from CUDA launches.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_51cudaThreadExit(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_50cudaThreadExit[] = "cudaThreadExit()\n Exit and clean up from CUDA launches.\n\n    [Deprecated]\n\n    Note that this function is deprecated because its name does not reflect\n    its behavior. Its functionality is identical to the non-deprecated\n    function :py:obj:`~.cudaDeviceReset()`, which should be used instead.\n\n    Explicitly destroys all cleans up all resources associated with the\n    current device in the current process. Any subsequent API call to this\n    device will reinitialize the device.\n\n    Note that this function will reset the device immediately. It is the\n    caller's responsibility to ensure that the device is not being accessed\n    by any other host threads from the process when this function is\n    called.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceReset`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_51cudaThreadExit = {"cudaThreadExit", (PyCFunction)__pyx_pw_4cuda_6cudart_51cudaThreadExit, METH_NOARGS, __pyx_doc_4cuda_6cudart_50cudaThreadExit};
static PyObject *__pyx_pw_4cuda_6cudart_51cudaThreadExit(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadExit (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50cudaThreadExit(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_50cudaThreadExit(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__442)
  __Pyx_RefNannySetupContext("cudaThreadExit", 0);
  __Pyx_TraceCall("cudaThreadExit", __pyx_f[0], 10155, 0, __PYX_ERR(0, 10155, __pyx_L1_error));

  /* "cuda/cudart.pyx":10182
 *     :py:obj:`~.cudaDeviceReset`
 *     """
 *     err = ccudart.cudaThreadExit()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaThreadExit(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10182, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10183
 *     """
 *     err = ccudart.cudaThreadExit()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10155
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExit():             # <<<<<<<<<<<<<<
 *     """ Exit and clean up from CUDA launches.
 * 
 */

  /* 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.cudart.cudaThreadExit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10186
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_53cudaThreadSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_52cudaThreadSynchronize[] = "cudaThreadSynchronize()\n Wait for compute device to finish.\n\n    [Deprecated]\n\n    Note that this function is deprecated because its name does not reflect\n    its behavior. Its functionality is similar to the non-deprecated\n    function :py:obj:`~.cudaDeviceSynchronize()`, which should be used\n    instead.\n\n    Blocks until the device has completed all preceding requested tasks.\n    :py:obj:`~.cudaThreadSynchronize()` returns an error if one of the\n    preceding tasks has failed. If the\n    :py:obj:`~.cudaDeviceScheduleBlockingSync` flag was set for this\n    device, the host thread will block until the device has finished its\n    work.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSynchronize`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_53cudaThreadSynchronize = {"cudaThreadSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_53cudaThreadSynchronize, METH_NOARGS, __pyx_doc_4cuda_6cudart_52cudaThreadSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_53cudaThreadSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_52cudaThreadSynchronize(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_52cudaThreadSynchronize(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__443)
  __Pyx_RefNannySetupContext("cudaThreadSynchronize", 0);
  __Pyx_TraceCall("cudaThreadSynchronize", __pyx_f[0], 10186, 0, __PYX_ERR(0, 10186, __pyx_L1_error));

  /* "cuda/cudart.pyx":10212
 *     :py:obj:`~.cudaDeviceSynchronize`
 *     """
 *     err = ccudart.cudaThreadSynchronize()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaThreadSynchronize(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10212, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10213
 *     """
 *     err = ccudart.cudaThreadSynchronize()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 10213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10186
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */

  /* 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.cudart.cudaThreadSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10216
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_55cudaThreadSetLimit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_54cudaThreadSetLimit[] = "cudaThreadSetLimit(limit: cudaLimit, size_t value)\n Set resource limits.\n\n    [Deprecated]\n\n    Note that this function is deprecated because its name does not reflect\n    its behavior. Its functionality is identical to the non-deprecated\n    function :py:obj:`~.cudaDeviceSetLimit()`, which should be used\n    instead.\n\n    Setting `limit` to `value` is a request by the application to update\n    the current limit maintained by the device. 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:`~.cudaThreadGetLimit()` to\n    find out exactly what the limit has been set to.\n\n    Setting each :py:obj:`~.cudaLimit` has its own specific restrictions,\n    so each is discussed here.\n\n    - :py:obj:`~.cudaLimitStackSize` controls the stack size of each GPU\n      thread.\n\n    - :py:obj:`~.cudaLimitPrintfFifoSize` controls the size of the shared\n      FIFO used by the :py:obj:`~.printf()` device system call. Setting\n      :py:obj:`~.cudaLimitPrintfFifoSize` must be performed before\n      launching any kernel that uses the :py:obj:`~.printf()` device system\n      call, otherwise :py:obj:`~.cudaErrorInvalidValue` will be returned.\n\n    - :py:obj:`~.cudaLimitMallocHeapSize` controls the size of the heap\n      used by the :py:obj:`~.malloc()` and :py:obj:`~.free()` device system\n      calls. Setting :py:obj:`~.cudaLimitMallocHeapSize` must be performed\n      before launching any kernel that uses the :py:obj:`~.malloc()` or\n      :py:obj:`~.free()` device system calls, otherwise\n      :py:obj:`~.cudaErrorInvalidValue` will be returned.\n\n    Parameters\n    ----------\n    limit : :py:obj:`~.cudaLimit`\n        Limit to set\n    value : size_t\n        Size in bytes of limit\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorUnsupportedLimit`,"" :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSetLimit`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_55cudaThreadSetLimit = {"cudaThreadSetLimit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_55cudaThreadSetLimit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_54cudaThreadSetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_55cudaThreadSetLimit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_limit = 0;
  size_t __pyx_v_value;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadSetLimit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_limit,&__pyx_n_s_value,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_limit)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaThreadSetLimit", 1, 2, 2, 1); __PYX_ERR(0, 10216, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaThreadSetLimit") < 0)) __PYX_ERR(0, 10216, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 10216, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaThreadSetLimit", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10216, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaThreadSetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_limit) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "limit"); __PYX_ERR(0, 10216, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_54cudaThreadSetLimit(__pyx_self, __pyx_v_limit, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_54cudaThreadSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value) {
  enum cudaLimit __pyx_v_climit;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaLimit __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__444)
  __Pyx_RefNannySetupContext("cudaThreadSetLimit", 0);
  __Pyx_TraceCall("cudaThreadSetLimit", __pyx_f[0], 10216, 0, __PYX_ERR(0, 10216, __pyx_L1_error));

  /* "cuda/cudart.pyx":10268
 *     :py:obj:`~.cudaDeviceSetLimit`
 *     """
 *     cdef ccudart.cudaLimit climit = limit.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaThreadSetLimit(climit, value)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaLimit)__Pyx_PyInt_As_enum__cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":10269
 *     """
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaThreadSetLimit(climit, value)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaThreadSetLimit(__pyx_v_climit, __pyx_v_value); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10269, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10270
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaThreadSetLimit(climit, value)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 10270, __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(0, 10270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10216
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetLimit(limit not None : cudaLimit, 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.cudart.cudaThreadSetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10273
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_57cudaThreadGetLimit(PyObject *__pyx_self, PyObject *__pyx_v_limit); /*proto*/
static char __pyx_doc_4cuda_6cudart_56cudaThreadGetLimit[] = "cudaThreadGetLimit(limit: cudaLimit)\n Returns resource limits.\n\n    [Deprecated]\n\n    Note that this function is deprecated because its name does not reflect\n    its behavior. Its functionality is identical to the non-deprecated\n    function :py:obj:`~.cudaDeviceGetLimit()`, which should be used\n    instead.\n\n    Returns in `*pValue` the current size of `limit`. The supported\n    :py:obj:`~.cudaLimit` values are:\n\n    - :py:obj:`~.cudaLimitStackSize`: stack size of each GPU thread;\n\n    - :py:obj:`~.cudaLimitPrintfFifoSize`: size of the shared FIFO used by\n      the :py:obj:`~.printf()` device system call.\n\n    - :py:obj:`~.cudaLimitMallocHeapSize`: size of the heap used by the\n      :py:obj:`~.malloc()` and :py:obj:`~.free()` device system calls;\n\n    Parameters\n    ----------\n    limit : :py:obj:`~.cudaLimit`\n        Limit to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorUnsupportedLimit`, :py:obj:`~.cudaErrorInvalidValue`\n    pValue : int\n        Returned size in bytes of limit\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceGetLimit`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_57cudaThreadGetLimit = {"cudaThreadGetLimit", (PyCFunction)__pyx_pw_4cuda_6cudart_57cudaThreadGetLimit, METH_O, __pyx_doc_4cuda_6cudart_56cudaThreadGetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_57cudaThreadGetLimit(PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadGetLimit (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_limit) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "limit"); __PYX_ERR(0, 10273, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_56cudaThreadGetLimit(__pyx_self, ((PyObject *)__pyx_v_limit));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_56cudaThreadGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  size_t __pyx_v_pValue;
  enum cudaLimit __pyx_v_climit;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaLimit __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__445)
  __Pyx_RefNannySetupContext("cudaThreadGetLimit", 0);
  __Pyx_TraceCall("cudaThreadGetLimit", __pyx_f[0], 10273, 0, __PYX_ERR(0, 10273, __pyx_L1_error));

  /* "cuda/cudart.pyx":10310
 *     :py:obj:`~.cudaDeviceGetLimit`
 *     """
 *     cdef size_t pValue = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaThreadGetLimit(&pValue, climit)
 */
  __pyx_v_pValue = 0;

  /* "cuda/cudart.pyx":10311
 *     """
 *     cdef size_t pValue = 0
 *     cdef ccudart.cudaLimit climit = limit.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaThreadGetLimit(&pValue, climit)
 *     return (cudaError_t(err), pValue)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaLimit)__Pyx_PyInt_As_enum__cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":10312
 *     cdef size_t pValue = 0
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaThreadGetLimit(&pValue, climit)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pValue)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaThreadGetLimit((&__pyx_v_pValue), __pyx_v_climit); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10312, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10313
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaThreadGetLimit(&pValue, climit)
 *     return (cudaError_t(err), pValue)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 10313, __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(0, 10313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10273
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaThreadGetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10316
 * 
 * @cython.embedsignature(True)
 * def cudaGetLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_59cudaGetLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_58cudaGetLastError[] = "cudaGetLastError()\n Returns the last error from a runtime call.\n\n    Returns the last error that has been produced by any of the runtime\n    calls in the same host thread and resets it to :py:obj:`~.cudaSuccess`.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorMissingConfiguration`, :py:obj:`~.cudaErrorMemoryAllocation`, :py:obj:`~.cudaErrorInitializationError`, :py:obj:`~.cudaErrorLaunchFailure`, :py:obj:`~.cudaErrorLaunchTimeout`, :py:obj:`~.cudaErrorLaunchOutOfResources`, :py:obj:`~.cudaErrorInvalidDeviceFunction`, :py:obj:`~.cudaErrorInvalidConfiguration`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidSymbol`, :py:obj:`~.cudaErrorUnmapBufferObjectFailed`, :py:obj:`~.cudaErrorInvalidDevicePointer`, :py:obj:`~.cudaErrorInvalidTexture`, :py:obj:`~.cudaErrorInvalidTextureBinding`, :py:obj:`~.cudaErrorInvalidChannelDescriptor`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`, :py:obj:`~.cudaErrorInvalidFilterSetting`, :py:obj:`~.cudaErrorInvalidNormSetting`, :py:obj:`~.cudaErrorUnknown`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorInsufficientDriver`, :py:obj:`~.cudaErrorNoDevice`, :py:obj:`~.cudaErrorSetOnActiveProcess`, :py:obj:`~.cudaErrorStartupFailure`, :py:obj:`~.cudaErrorInvalidPtx`, :py:obj:`~.cudaErrorUnsupportedPtxVersion`, :py:obj:`~.cudaErrorNoKernelImageForDevice`, :py:obj:`~.cudaErrorJitCompilerNotFound`, :py:obj:`~.cudaErrorJitCompilationDisabled`\n\n    See Also\n    --------\n    :py:obj:`~.cudaPeekAtLastError`, :py:obj:`~.cudaGetErrorName`, :py:obj:`~.cudaGetErrorString`, :py:obj:`~.cudaError`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_59cudaGetLastError = {"cudaGetLastError", (PyCFunction)__pyx_pw_4cuda_6cudart_59cudaGetLastError, METH_NOARGS, __pyx_doc_4cuda_6cudart_58cudaGetLastError};
static PyObject *__pyx_pw_4cuda_6cudart_59cudaGetLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetLastError (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_58cudaGetLastError(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_58cudaGetLastError(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__446)
  __Pyx_RefNannySetupContext("cudaGetLastError", 0);
  __Pyx_TraceCall("cudaGetLastError", __pyx_f[0], 10316, 0, __PYX_ERR(0, 10316, __pyx_L1_error));

  /* "cuda/cudart.pyx":10331
 *     :py:obj:`~.cudaPeekAtLastError`, :py:obj:`~.cudaGetErrorName`, :py:obj:`~.cudaGetErrorString`, :py:obj:`~.cudaError`
 *     """
 *     err = ccudart.cudaGetLastError()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGetLastError(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10331, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10332
 *     """
 *     err = ccudart.cudaGetLastError()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 10332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10316
 * 
 * @cython.embedsignature(True)
 * def cudaGetLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */

  /* 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.cudart.cudaGetLastError", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10335
 * 
 * @cython.embedsignature(True)
 * def cudaPeekAtLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_61cudaPeekAtLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_60cudaPeekAtLastError[] = "cudaPeekAtLastError()\n Returns the last error from a runtime call.\n\n    Returns the last error that has been produced by any of the runtime\n    calls in the same host thread. Note that this call does not reset the\n    error to :py:obj:`~.cudaSuccess` like :py:obj:`~.cudaGetLastError()`.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorMissingConfiguration`, :py:obj:`~.cudaErrorMemoryAllocation`, :py:obj:`~.cudaErrorInitializationError`, :py:obj:`~.cudaErrorLaunchFailure`, :py:obj:`~.cudaErrorLaunchTimeout`, :py:obj:`~.cudaErrorLaunchOutOfResources`, :py:obj:`~.cudaErrorInvalidDeviceFunction`, :py:obj:`~.cudaErrorInvalidConfiguration`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidSymbol`, :py:obj:`~.cudaErrorUnmapBufferObjectFailed`, :py:obj:`~.cudaErrorInvalidDevicePointer`, :py:obj:`~.cudaErrorInvalidTexture`, :py:obj:`~.cudaErrorInvalidTextureBinding`, :py:obj:`~.cudaErrorInvalidChannelDescriptor`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`, :py:obj:`~.cudaErrorInvalidFilterSetting`, :py:obj:`~.cudaErrorInvalidNormSetting`, :py:obj:`~.cudaErrorUnknown`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorInsufficientDriver`, :py:obj:`~.cudaErrorNoDevice`, :py:obj:`~.cudaErrorSetOnActiveProcess`, :py:obj:`~.cudaErrorStartupFailure`, :py:obj:`~.cudaErrorInvalidPtx`, :py:obj:`~.cudaErrorUnsupportedPtxVersion`, :py:obj:`~.cudaErrorNoKernelImageForDevice`, :py:obj:`~.cudaErrorJitCompilerNotFound`, :py:obj:`~.cudaErrorJitCompilationDisabled`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetLastError`, :py:obj:`~.cudaGetErrorName`, :py:obj:`~.cudaGetErrorString`, :py:obj:`~.cudaError`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_61cudaPeekAtLastError = {"cudaPeekAtLastError", (PyCFunction)__pyx_pw_4cuda_6cudart_61cudaPeekAtLastError, METH_NOARGS, __pyx_doc_4cuda_6cudart_60cudaPeekAtLastError};
static PyObject *__pyx_pw_4cuda_6cudart_61cudaPeekAtLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaPeekAtLastError (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_60cudaPeekAtLastError(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_60cudaPeekAtLastError(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__447)
  __Pyx_RefNannySetupContext("cudaPeekAtLastError", 0);
  __Pyx_TraceCall("cudaPeekAtLastError", __pyx_f[0], 10335, 0, __PYX_ERR(0, 10335, __pyx_L1_error));

  /* "cuda/cudart.pyx":10351
 *     :py:obj:`~.cudaGetLastError`, :py:obj:`~.cudaGetErrorName`, :py:obj:`~.cudaGetErrorString`, :py:obj:`~.cudaError`
 *     """
 *     err = ccudart.cudaPeekAtLastError()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaPeekAtLastError(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10351, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10352
 *     """
 *     err = ccudart.cudaPeekAtLastError()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 10352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10335
 * 
 * @cython.embedsignature(True)
 * def cudaPeekAtLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */

  /* 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.cudart.cudaPeekAtLastError", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10355
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorName(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the string representation of an error code enum name.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_63cudaGetErrorName(PyObject *__pyx_self, PyObject *__pyx_v_error); /*proto*/
static char __pyx_doc_4cuda_6cudart_62cudaGetErrorName[] = "cudaGetErrorName(error: cudaError_t)\n Returns the string representation of an error code enum name.\n\n    Returns a string containing the name of an error code in the enum. If\n    the error code is not recognized, \"unrecognized error code\" is\n    returned.\n\n    Parameters\n    ----------\n    error : :py:obj:`~.cudaError_t`\n        Error code to convert to string\n\n    Returns\n    -------\n    cudaError_t.cudaSuccess\n        cudaError_t.cudaSuccess\n    bytes\n        `char*` pointer to a NULL-terminated string\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetErrorString`, :py:obj:`~.cudaGetLastError`, :py:obj:`~.cudaPeekAtLastError`, :py:obj:`~.cudaError`, :py:obj:`~.cuGetErrorName`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_63cudaGetErrorName = {"cudaGetErrorName", (PyCFunction)__pyx_pw_4cuda_6cudart_63cudaGetErrorName, METH_O, __pyx_doc_4cuda_6cudart_62cudaGetErrorName};
static PyObject *__pyx_pw_4cuda_6cudart_63cudaGetErrorName(PyObject *__pyx_self, PyObject *__pyx_v_error) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetErrorName (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_error) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "error"); __PYX_ERR(0, 10355, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_62cudaGetErrorName(__pyx_self, ((PyObject *)__pyx_v_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_62cudaGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  cudaError_t __pyx_v_cerror;
  char const *__pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  char const *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__448)
  __Pyx_RefNannySetupContext("cudaGetErrorName", 0);
  __Pyx_TraceCall("cudaGetErrorName", __pyx_f[0], 10355, 0, __PYX_ERR(0, 10355, __pyx_L1_error));

  /* "cuda/cudart.pyx":10378
 *     :py:obj:`~.cudaGetErrorString`, :py:obj:`~.cudaGetLastError`, :py:obj:`~.cudaPeekAtLastError`, :py:obj:`~.cudaError`, :py:obj:`~.cuGetErrorName`
 *     """
 *     cdef ccudart.cudaError_t cerror = error.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetErrorName(cerror)
 *     return (cudaError_t.cudaSuccess, err)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaError)__Pyx_PyInt_As_enum__cudaError(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cerror = __pyx_t_2;

  /* "cuda/cudart.pyx":10379
 *     """
 *     cdef ccudart.cudaError_t cerror = error.value
 *     err = ccudart.cudaGetErrorName(cerror)             # <<<<<<<<<<<<<<
 *     return (cudaError_t.cudaSuccess, err)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaGetErrorName(__pyx_v_cerror); if (unlikely(__pyx_t_3 == ((char const *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 10379, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10380
 *     cdef ccudart.cudaError_t cerror = error.value
 *     err = ccudart.cudaGetErrorName(cerror)
 *     return (cudaError_t.cudaSuccess, err)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cudaSuccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
  __pyx_t_4 = 0;
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10355
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorName(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the string representation of an error code enum name.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGetErrorName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10383
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorString(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the description string for an error code.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_65cudaGetErrorString(PyObject *__pyx_self, PyObject *__pyx_v_error); /*proto*/
static char __pyx_doc_4cuda_6cudart_64cudaGetErrorString[] = "cudaGetErrorString(error: cudaError_t)\n Returns the description string for an error code.\n\n    Returns the description string for an error code. If the error code is\n    not recognized, \"unrecognized error code\" is returned.\n\n    Parameters\n    ----------\n    error : :py:obj:`~.cudaError_t`\n        Error code to convert to string\n\n    Returns\n    -------\n    cudaError_t.cudaSuccess\n        cudaError_t.cudaSuccess\n    bytes\n        `char*` pointer to a NULL-terminated string\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetErrorName`, :py:obj:`~.cudaGetLastError`, :py:obj:`~.cudaPeekAtLastError`, :py:obj:`~.cudaError`, :py:obj:`~.cuGetErrorString`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_65cudaGetErrorString = {"cudaGetErrorString", (PyCFunction)__pyx_pw_4cuda_6cudart_65cudaGetErrorString, METH_O, __pyx_doc_4cuda_6cudart_64cudaGetErrorString};
static PyObject *__pyx_pw_4cuda_6cudart_65cudaGetErrorString(PyObject *__pyx_self, PyObject *__pyx_v_error) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetErrorString (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_error) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "error"); __PYX_ERR(0, 10383, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_64cudaGetErrorString(__pyx_self, ((PyObject *)__pyx_v_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_64cudaGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  cudaError_t __pyx_v_cerror;
  char const *__pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  char const *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__449)
  __Pyx_RefNannySetupContext("cudaGetErrorString", 0);
  __Pyx_TraceCall("cudaGetErrorString", __pyx_f[0], 10383, 0, __PYX_ERR(0, 10383, __pyx_L1_error));

  /* "cuda/cudart.pyx":10405
 *     :py:obj:`~.cudaGetErrorName`, :py:obj:`~.cudaGetLastError`, :py:obj:`~.cudaPeekAtLastError`, :py:obj:`~.cudaError`, :py:obj:`~.cuGetErrorString`
 *     """
 *     cdef ccudart.cudaError_t cerror = error.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetErrorString(cerror)
 *     return (cudaError_t.cudaSuccess, err)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaError)__Pyx_PyInt_As_enum__cudaError(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cerror = __pyx_t_2;

  /* "cuda/cudart.pyx":10406
 *     """
 *     cdef ccudart.cudaError_t cerror = error.value
 *     err = ccudart.cudaGetErrorString(cerror)             # <<<<<<<<<<<<<<
 *     return (cudaError_t.cudaSuccess, err)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaGetErrorString(__pyx_v_cerror); if (unlikely(__pyx_t_3 == ((char const *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 10406, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10407
 *     cdef ccudart.cudaError_t cerror = error.value
 *     err = ccudart.cudaGetErrorString(cerror)
 *     return (cudaError_t.cudaSuccess, err)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cudaSuccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
  __pyx_t_4 = 0;
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10383
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorString(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the description string for an error code.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGetErrorString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10410
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceCount():             # <<<<<<<<<<<<<<
 *     """ Returns the number of compute-capable devices.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_67cudaGetDeviceCount(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_66cudaGetDeviceCount[] = "cudaGetDeviceCount()\n Returns the number of compute-capable devices.\n\n    Returns in `*count` the number of devices with compute capability\n    greater or equal to 2.0 that are available for execution.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n    count : int\n        Returns the number of devices with compute capability greater or\n        equal to 2.0\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuDeviceGetCount`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_67cudaGetDeviceCount = {"cudaGetDeviceCount", (PyCFunction)__pyx_pw_4cuda_6cudart_67cudaGetDeviceCount, METH_NOARGS, __pyx_doc_4cuda_6cudart_66cudaGetDeviceCount};
static PyObject *__pyx_pw_4cuda_6cudart_67cudaGetDeviceCount(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDeviceCount (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_66cudaGetDeviceCount(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_66cudaGetDeviceCount(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_count;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__450)
  __Pyx_RefNannySetupContext("cudaGetDeviceCount", 0);
  __Pyx_TraceCall("cudaGetDeviceCount", __pyx_f[0], 10410, 0, __PYX_ERR(0, 10410, __pyx_L1_error));

  /* "cuda/cudart.pyx":10428
 *     :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuDeviceGetCount`
 *     """
 *     cdef int count = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDeviceCount(&count)
 *     return (cudaError_t(err), count)
 */
  __pyx_v_count = 0;

  /* "cuda/cudart.pyx":10429
 *     """
 *     cdef int count = 0
 *     err = ccudart.cudaGetDeviceCount(&count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), count)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGetDeviceCount((&__pyx_v_count)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10429, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10430
 *     cdef int count = 0
 *     err = ccudart.cudaGetDeviceCount(&count)
 *     return (cudaError_t(err), count)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 10430, __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(0, 10430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10410
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceCount():             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaGetDeviceCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10433
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceProperties(int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the compute-device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_69cudaGetDeviceProperties(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_68cudaGetDeviceProperties[] = "cudaGetDeviceProperties(int device)\n Returns information about the compute-device.\n\n    Returns in `*prop` the properties of device `dev`. The\n    :py:obj:`~.cudaDeviceProp` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\n\n    - :py:obj:`~.name[256]` is an ASCII string identifying the device.\n\n    - :py:obj:`~.uuid` is a 16-byte unique identifier.\n\n    - :py:obj:`~.totalGlobalMem` is the total amount of global memory\n      available on the device in bytes.\n\n    - :py:obj:`~.sharedMemPerBlock` is the maximum amount of shared memory\n      available to a thread block in bytes.\n\n    - :py:obj:`~.regsPerBlock` is the maximum number of 32-bit registers\n      available to a thread block.\n\n    - :py:obj:`~.warpSize` is the warp size in threads.\n\n    - :py:obj:`~.memPitch` is the maximum pitch in bytes allowed by the\n      memory copy functions that involve memory regions allocated through\n      :py:obj:`~.cudaMallocPitch()`.\n\n    - :py:obj:`~.maxThreadsPerBlock` is the maximum number of threads per\n      block.\n\n    - :py:obj:`~.maxThreadsDim[3]` contains the maximum size of each\n      dimension of a block.\n\n    - :py:obj:`~.maxGridSize[3]` contains the maximum size of each\n      dimension of a grid.\n\n    - :py:obj:`~.clockRate` is the clock frequency in kilohertz.\n\n    - :py:obj:`~.totalConstMem` is the total amount of constant memory\n      available on the device in bytes.\n\n    - :py:obj:`~.major`, :py:obj:`~.minor` are the major and minor revision\n      numbers defining the device's compute capability.\n\n    - :py:obj:`~.textureAlignment` is the alignment requirement; texture\n      base addresses that are aligned to :py:obj:`~.textureAlignment` bytes\n      do not need an offset applied to texture fetches.\n\n    - :py:obj:`~.texturePitchAlignment` is the pitch alignment requirement\n      for 2D texture references that are bound to pitched memory.\n\n    - :py:obj:`~.devic""eOverlap` is 1 if the device can concurrently copy\n      memory between host and device while executing a kernel, or 0 if not.\n      Deprecated, use instead asyncEngineCount.\n\n    - :py:obj:`~.multiProcessorCount` is the number of multiprocessors on\n      the device.\n\n    - :py:obj:`~.kernelExecTimeoutEnabled` is 1 if there is a run time\n      limit for kernels executed on the device, or 0 if not.\n\n    - :py:obj:`~.integrated` is 1 if the device is an integrated\n      (motherboard) GPU and 0 if it is a discrete (card) component.\n\n    - :py:obj:`~.canMapHostMemory` is 1 if the device can map host memory\n      into the CUDA address space for use with\n      :py:obj:`~.cudaHostAlloc()`/:py:obj:`~.cudaHostGetDevicePointer()`,\n      or 0 if not.\n\n    - :py:obj:`~.computeMode` is the compute mode that the device is\n      currently in. Available modes are as follows:\n\n      - cudaComputeModeDefault: Default mode - Device is not restricted and\n        multiple threads can use :py:obj:`~.cudaSetDevice()` with this\n        device.\n\n      - cudaComputeModeProhibited: Compute-prohibited mode - No threads can\n        use :py:obj:`~.cudaSetDevice()` with this device.\n\n      - cudaComputeModeExclusiveProcess: Compute-exclusive-process mode -\n        Many threads in one process will be able to use\n        :py:obj:`~.cudaSetDevice()` with this device.   When an occupied\n        exclusive mode device is chosen with :py:obj:`~.cudaSetDevice`, all\n        subsequent non-device management runtime functions will return\n        :py:obj:`~.cudaErrorDevicesUnavailable`.\n\n    - :py:obj:`~.maxTexture1D` is the maximum 1D texture size.\n\n    - :py:obj:`~.maxTexture1DMipmap` is the maximum 1D mipmapped texture\n      texture size.\n\n    - :py:obj:`~.maxTexture1DLinear` is the maximum 1D texture size for\n      textures bound to linear memory.\n\n    - :py:obj:`~.maxTexture2D[2]` contains the maximum 2D texture\n      dimensions.\n\n    - :py:obj:`~.maxTexture""2DMipmap[2]` contains the maximum 2D mipmapped\n      texture dimensions.\n\n    - :py:obj:`~.maxTexture2DLinear[3]` contains the maximum 2D texture\n      dimensions for 2D textures bound to pitch linear memory.\n\n    - :py:obj:`~.maxTexture2DGather[2]` contains the maximum 2D texture\n      dimensions if texture gather operations have to be performed.\n\n    - :py:obj:`~.maxTexture3D[3]` contains the maximum 3D texture\n      dimensions.\n\n    - :py:obj:`~.maxTexture3DAlt[3]` contains the maximum alternate 3D\n      texture dimensions.\n\n    - :py:obj:`~.maxTextureCubemap` is the maximum cubemap texture width or\n      height.\n\n    - :py:obj:`~.maxTexture1DLayered[2]` contains the maximum 1D layered\n      texture dimensions.\n\n    - :py:obj:`~.maxTexture2DLayered[3]` contains the maximum 2D layered\n      texture dimensions.\n\n    - :py:obj:`~.maxTextureCubemapLayered[2]` contains the maximum cubemap\n      layered texture dimensions.\n\n    - :py:obj:`~.maxSurface1D` is the maximum 1D surface size.\n\n    - :py:obj:`~.maxSurface2D[2]` contains the maximum 2D surface\n      dimensions.\n\n    - :py:obj:`~.maxSurface3D[3]` contains the maximum 3D surface\n      dimensions.\n\n    - :py:obj:`~.maxSurface1DLayered[2]` contains the maximum 1D layered\n      surface dimensions.\n\n    - :py:obj:`~.maxSurface2DLayered[3]` contains the maximum 2D layered\n      surface dimensions.\n\n    - :py:obj:`~.maxSurfaceCubemap` is the maximum cubemap surface width or\n      height.\n\n    - :py:obj:`~.maxSurfaceCubemapLayered[2]` contains the maximum cubemap\n      layered surface dimensions.\n\n    - :py:obj:`~.surfaceAlignment` specifies the alignment requirements for\n      surfaces.\n\n    - :py:obj:`~.concurrentKernels` is 1 if the device supports executing\n      multiple kernels within the same context simultaneously, or 0 if not.\n      It is not guaranteed that multiple kernels will be resident on the\n      device concurrently so this feature should not be relie""d upon for\n      correctness.\n\n    - :py:obj:`~.ECCEnabled` is 1 if the device has ECC support turned on,\n      or 0 if not.\n\n    - :py:obj:`~.pciBusID` is the PCI bus identifier of the device.\n\n    - :py:obj:`~.pciDeviceID` is the PCI device (sometimes called slot)\n      identifier of the device.\n\n    - :py:obj:`~.pciDomainID` is the PCI domain identifier of the device.\n\n    - :py:obj:`~.tccDriver` is 1 if the device is using a TCC driver or 0\n      if not.\n\n    - :py:obj:`~.asyncEngineCount` is 1 when the device can concurrently\n      copy memory between host and device while executing a kernel. It is 2\n      when the device can concurrently copy memory between host and device\n      in both directions and execute a kernel at the same time. It is 0 if\n      neither of these is supported.\n\n    - :py:obj:`~.unifiedAddressing` is 1 if the device shares a unified\n      address space with the host and 0 otherwise.\n\n    - :py:obj:`~.memoryClockRate` is the peak memory clock frequency in\n      kilohertz.\n\n    - :py:obj:`~.memoryBusWidth` is the memory bus width   in bits.\n\n    - :py:obj:`~.l2CacheSize` is L2 cache size in bytes.\n\n    - :py:obj:`~.persistingL2CacheMaxSize` is L2 cache's maximum persisting\n      lines size in bytes.\n\n    - :py:obj:`~.maxThreadsPerMultiProcessor`   is the number of maximum\n      resident threads per multiprocessor.\n\n    - :py:obj:`~.streamPrioritiesSupported` is 1 if the device supports\n      stream priorities, or 0 if it is not supported.\n\n    - :py:obj:`~.globalL1CacheSupported` is 1 if the device supports\n      caching of globals in L1 cache, or 0 if it is not supported.\n\n    - :py:obj:`~.localL1CacheSupported` is 1 if the device supports caching\n      of locals in L1 cache, or 0 if it is not supported.\n\n    - :py:obj:`~.sharedMemPerMultiprocessor` is the maximum amount of\n      shared memory available to a multiprocessor in bytes; this amount is\n      shared by all thread blocks simultaneo""usly resident on a\n      multiprocessor.\n\n    - :py:obj:`~.regsPerMultiprocessor` is the maximum number of 32-bit\n      registers available to a multiprocessor; this number is shared by all\n      thread blocks simultaneously resident on a multiprocessor.\n\n    - :py:obj:`~.managedMemory` is 1 if the device supports allocating\n      managed memory on this system, or 0 if it is not supported.\n\n    - :py:obj:`~.isMultiGpuBoard` is 1 if the device is on a multi-GPU\n      board (e.g. Gemini cards), and 0 if not;\n\n    - :py:obj:`~.multiGpuBoardGroupID` is a unique identifier for a group\n      of devices associated with the same board. Devices on the same multi-\n      GPU board will share the same identifier.\n\n    - :py:obj:`~.singleToDoublePrecisionPerfRatio`   is the ratio of single\n      precision performance (in floating-point operations per second) to\n      double precision performance.\n\n    - :py:obj:`~.pageableMemoryAccess` is 1 if the device supports\n      coherently accessing pageable memory without calling cudaHostRegister\n      on it, and 0 otherwise.\n\n    - :py:obj:`~.concurrentManagedAccess` is 1 if the device can coherently\n      access managed memory concurrently with the CPU, and 0 otherwise.\n\n    - :py:obj:`~.computePreemptionSupported` is 1 if the device supports\n      Compute Preemption, and 0 otherwise.\n\n    - :py:obj:`~.canUseHostPointerForRegisteredMem` is 1 if the device can\n      access host registered memory at the same virtual address as the CPU,\n      and 0 otherwise.\n\n    - :py:obj:`~.cooperativeLaunch` is 1 if the device supports launching\n      cooperative kernels via :py:obj:`~.cudaLaunchCooperativeKernel`, and\n      0 otherwise.\n\n    - :py:obj:`~.cooperativeMultiDeviceLaunch` is 1 if the device supports\n      launching cooperative kernels via\n      :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice`, and 0 otherwise.\n\n    - :py:obj:`~.pageableMemoryAccessUsesHostPageTables` is 1 if the device\n      a""ccesses pageable memory via the host's page tables, and 0 otherwise.\n\n    - :py:obj:`~.directManagedMemAccessFromHost` is 1 if the host can\n      directly access managed memory on the device without migration, and 0\n      otherwise.\n\n    - :py:obj:`~.maxBlocksPerMultiProcessor` is the maximum number of\n      thread blocks that can reside on a multiprocessor.\n\n    - :py:obj:`~.accessPolicyMaxWindowSize` is the maximum value of\n      :py:obj:`~.cudaAccessPolicyWindow.num_bytes`.\n\n    Parameters\n    ----------\n    device : int\n        Device number to get properties for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`\n    prop : :py:obj:`~.cudaDeviceProp`\n        Properties for the specified device\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cudaDeviceGetAttribute`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetName`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_69cudaGetDeviceProperties = {"cudaGetDeviceProperties", (PyCFunction)__pyx_pw_4cuda_6cudart_69cudaGetDeviceProperties, METH_O, __pyx_doc_4cuda_6cudart_68cudaGetDeviceProperties};
static PyObject *__pyx_pw_4cuda_6cudart_69cudaGetDeviceProperties(PyObject *__pyx_self, PyObject *__pyx_arg_device) {
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDeviceProperties (wrapper)", 0);
  assert(__pyx_arg_device); {
    __pyx_v_device = __Pyx_PyInt_As_int(__pyx_arg_device); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 10433, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGetDeviceProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_68cudaGetDeviceProperties(__pyx_self, ((int)__pyx_v_device));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_68cudaGetDeviceProperties(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_prop = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__451)
  __Pyx_RefNannySetupContext("cudaGetDeviceProperties", 0);
  __Pyx_TraceCall("cudaGetDeviceProperties", __pyx_f[0], 10433, 0, __PYX_ERR(0, 10433, __pyx_L1_error));

  /* "cuda/cudart.pyx":10706
 *     :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cudaDeviceGetAttribute`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetName`
 *     """
 *     cdef cudaDeviceProp prop = cudaDeviceProp()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDeviceProperties(prop._ptr, device)
 *     return (cudaError_t(err), prop)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaDeviceProp)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_prop = ((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10707
 *     """
 *     cdef cudaDeviceProp prop = cudaDeviceProp()
 *     err = ccudart.cudaGetDeviceProperties(prop._ptr, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), prop)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGetDeviceProperties(__pyx_v_prop->_ptr, __pyx_v_device); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10707, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":10708
 *     cdef cudaDeviceProp prop = cudaDeviceProp()
 *     err = ccudart.cudaGetDeviceProperties(prop._ptr, device)
 *     return (cudaError_t(err), prop)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10708, __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(0, 10708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_prop));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_prop));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_prop));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10433
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceProperties(int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the 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.cudart.cudaGetDeviceProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_prop);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10711
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetAttribute(attr not None : cudaDeviceAttr, int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_71cudaDeviceGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_70cudaDeviceGetAttribute[] = "cudaDeviceGetAttribute(attr: cudaDeviceAttr, int device)\n Returns information about the device.\n\n    Returns in `*value` the integer value of the attribute `attr` on device\n    `device`. The supported attributes are:\n\n    - :py:obj:`~.cudaDevAttrMaxThreadsPerBlock`: Maximum number of threads\n      per block\n\n    - :py:obj:`~.cudaDevAttrMaxBlockDimX`: Maximum x-dimension of a block\n\n    - :py:obj:`~.cudaDevAttrMaxBlockDimY`: Maximum y-dimension of a block\n\n    - :py:obj:`~.cudaDevAttrMaxBlockDimZ`: Maximum z-dimension of a block\n\n    - :py:obj:`~.cudaDevAttrMaxGridDimX`: Maximum x-dimension of a grid\n\n    - :py:obj:`~.cudaDevAttrMaxGridDimY`: Maximum y-dimension of a grid\n\n    - :py:obj:`~.cudaDevAttrMaxGridDimZ`: Maximum z-dimension of a grid\n\n    - :py:obj:`~.cudaDevAttrMaxSharedMemoryPerBlock`: Maximum amount of\n      shared memory available to a thread block in bytes\n\n    - :py:obj:`~.cudaDevAttrTotalConstantMemory`: Memory available on\n      device for constant variables in a CUDA C kernel in bytes\n\n    - :py:obj:`~.cudaDevAttrWarpSize`: Warp size in threads\n\n    - :py:obj:`~.cudaDevAttrMaxPitch`: Maximum pitch in bytes allowed by\n      the memory copy functions that involve memory regions allocated\n      through :py:obj:`~.cudaMallocPitch()`\n\n    - :py:obj:`~.cudaDevAttrMaxTexture1DWidth`: Maximum 1D texture width\n\n    - :py:obj:`~.cudaDevAttrMaxTexture1DLinearWidth`: Maximum width for a\n      1D texture bound to linear memory\n\n    - :py:obj:`~.cudaDevAttrMaxTexture1DMipmappedWidth`: Maximum mipmapped\n      1D texture width\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DWidth`: Maximum 2D texture width\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DHeight`: Maximum 2D texture height\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DLinearWidth`: Maximum width for a\n      2D texture bound to linear memory\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DLinearHeight`: Maximum height for a\n      2D texture bound to linear memory\n\n    - :py:o""bj:`~.cudaDevAttrMaxTexture2DLinearPitch`: Maximum pitch in\n      bytes for a 2D texture bound to linear memory\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DMipmappedWidth`: Maximum mipmapped\n      2D texture width\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DMipmappedHeight`: Maximum mipmapped\n      2D texture height\n\n    - :py:obj:`~.cudaDevAttrMaxTexture3DWidth`: Maximum 3D texture width\n\n    - :py:obj:`~.cudaDevAttrMaxTexture3DHeight`: Maximum 3D texture height\n\n    - :py:obj:`~.cudaDevAttrMaxTexture3DDepth`: Maximum 3D texture depth\n\n    - :py:obj:`~.cudaDevAttrMaxTexture3DWidthAlt`: Alternate maximum 3D\n      texture width, 0 if no alternate maximum 3D texture size is supported\n\n    - :py:obj:`~.cudaDevAttrMaxTexture3DHeightAlt`: Alternate maximum 3D\n      texture height, 0 if no alternate maximum 3D texture size is\n      supported\n\n    - :py:obj:`~.cudaDevAttrMaxTexture3DDepthAlt`: Alternate maximum 3D\n      texture depth, 0 if no alternate maximum 3D texture size is supported\n\n    - :py:obj:`~.cudaDevAttrMaxTextureCubemapWidth`: Maximum cubemap\n      texture width or height\n\n    - :py:obj:`~.cudaDevAttrMaxTexture1DLayeredWidth`: Maximum 1D layered\n      texture width\n\n    - :py:obj:`~.cudaDevAttrMaxTexture1DLayeredLayers`: Maximum layers in a\n      1D layered texture\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DLayeredWidth`: Maximum 2D layered\n      texture width\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DLayeredHeight`: Maximum 2D layered\n      texture height\n\n    - :py:obj:`~.cudaDevAttrMaxTexture2DLayeredLayers`: Maximum layers in a\n      2D layered texture\n\n    - :py:obj:`~.cudaDevAttrMaxTextureCubemapLayeredWidth`: Maximum cubemap\n      layered texture width or height\n\n    - :py:obj:`~.cudaDevAttrMaxTextureCubemapLayeredLayers`: Maximum layers\n      in a cubemap layered texture\n\n    - :py:obj:`~.cudaDevAttrMaxSurface1DWidth`: Maximum 1D surface width\n\n    - :py:obj:`~.cudaDevAttrMaxSurface2DWidth`: Maximum 2D surfac""e width\n\n    - :py:obj:`~.cudaDevAttrMaxSurface2DHeight`: Maximum 2D surface height\n\n    - :py:obj:`~.cudaDevAttrMaxSurface3DWidth`: Maximum 3D surface width\n\n    - :py:obj:`~.cudaDevAttrMaxSurface3DHeight`: Maximum 3D surface height\n\n    - :py:obj:`~.cudaDevAttrMaxSurface3DDepth`: Maximum 3D surface depth\n\n    - :py:obj:`~.cudaDevAttrMaxSurface1DLayeredWidth`: Maximum 1D layered\n      surface width\n\n    - :py:obj:`~.cudaDevAttrMaxSurface1DLayeredLayers`: Maximum layers in a\n      1D layered surface\n\n    - :py:obj:`~.cudaDevAttrMaxSurface2DLayeredWidth`: Maximum 2D layered\n      surface width\n\n    - :py:obj:`~.cudaDevAttrMaxSurface2DLayeredHeight`: Maximum 2D layered\n      surface height\n\n    - :py:obj:`~.cudaDevAttrMaxSurface2DLayeredLayers`: Maximum layers in a\n      2D layered surface\n\n    - :py:obj:`~.cudaDevAttrMaxSurfaceCubemapWidth`: Maximum cubemap\n      surface width\n\n    - :py:obj:`~.cudaDevAttrMaxSurfaceCubemapLayeredWidth`: Maximum cubemap\n      layered surface width\n\n    - :py:obj:`~.cudaDevAttrMaxSurfaceCubemapLayeredLayers`: Maximum layers\n      in a cubemap layered surface\n\n    - :py:obj:`~.cudaDevAttrMaxRegistersPerBlock`: Maximum number of 32-bit\n      registers available to a thread block\n\n    - :py:obj:`~.cudaDevAttrClockRate`: Peak clock frequency in kilohertz\n\n    - :py:obj:`~.cudaDevAttrTextureAlignment`: Alignment requirement;\n      texture base addresses aligned to :py:obj:`~.textureAlign` bytes do\n      not need an offset applied to texture fetches\n\n    - :py:obj:`~.cudaDevAttrTexturePitchAlignment`: Pitch alignment\n      requirement for 2D texture references bound to pitched memory\n\n    - :py:obj:`~.cudaDevAttrGpuOverlap`: 1 if the device can concurrently\n      copy memory between host and device while executing a kernel, or 0 if\n      not\n\n    - :py:obj:`~.cudaDevAttrMultiProcessorCount`: Number of multiprocessors\n      on the device\n\n    - :py:obj:`~.cudaDevAttrKernelExecTimeout`: 1 if"" there is a run time\n      limit for kernels executed on the device, or 0 if not\n\n    - :py:obj:`~.cudaDevAttrIntegrated`: 1 if the device is integrated with\n      the memory subsystem, or 0 if not\n\n    - :py:obj:`~.cudaDevAttrCanMapHostMemory`: 1 if the device can map host\n      memory into the CUDA address space, or 0 if not\n\n    - :py:obj:`~.cudaDevAttrComputeMode`: Compute mode is the compute mode\n      that the device is currently in. Available modes are as follows:\n\n      - :py:obj:`~.cudaComputeModeDefault`: Default mode - Device is not\n        restricted and multiple threads can use :py:obj:`~.cudaSetDevice()`\n        with this device.\n\n      - :py:obj:`~.cudaComputeModeProhibited`: Compute-prohibited mode - No\n        threads can use :py:obj:`~.cudaSetDevice()` with this device.\n\n      - :py:obj:`~.cudaComputeModeExclusiveProcess`: Compute-exclusive-\n        process mode - Many threads in one process will be able to use\n        :py:obj:`~.cudaSetDevice()` with this device.\n\n    - :py:obj:`~.cudaDevAttrConcurrentKernels`: 1 if the device supports\n      executing multiple kernels within the same context simultaneously, or\n      0 if not. It is not guaranteed that multiple kernels will be resident\n      on the device concurrently so this feature should not be relied upon\n      for correctness.\n\n    - :py:obj:`~.cudaDevAttrEccEnabled`: 1 if error correction is enabled\n      on the device, 0 if error correction is disabled or not supported by\n      the device\n\n    - :py:obj:`~.cudaDevAttrPciBusId`: PCI bus identifier of the device\n\n    - :py:obj:`~.cudaDevAttrPciDeviceId`: PCI device (also known as slot)\n      identifier of the device\n\n    - :py:obj:`~.cudaDevAttrTccDriver`: 1 if the device is using a TCC\n      driver. TCC is only available on Tesla hardware running Windows Vista\n      or later.\n\n    - :py:obj:`~.cudaDevAttrMemoryClockRate`: Peak memory clock frequency\n      in kilohertz\n\n    - :py:obj:`~.cudaDevAttrG""lobalMemoryBusWidth`: Global memory bus width\n      in bits\n\n    - :py:obj:`~.cudaDevAttrL2CacheSize`: Size of L2 cache in bytes. 0 if\n      the device doesn't have L2 cache.\n\n    - :py:obj:`~.cudaDevAttrMaxThreadsPerMultiProcessor`: Maximum resident\n      threads per multiprocessor\n\n    - :py:obj:`~.cudaDevAttrUnifiedAddressing`: 1 if the device shares a\n      unified address space with the host, or 0 if not\n\n    - :py:obj:`~.cudaDevAttrComputeCapabilityMajor`: Major compute\n      capability version number\n\n    - :py:obj:`~.cudaDevAttrComputeCapabilityMinor`: Minor compute\n      capability version number\n\n    - :py:obj:`~.cudaDevAttrStreamPrioritiesSupported`: 1 if the device\n      supports stream priorities, or 0 if not\n\n    - :py:obj:`~.cudaDevAttrGlobalL1CacheSupported`: 1 if device supports\n      caching globals in L1 cache, 0 if not\n\n    - :py:obj:`~.cudaDevAttrLocalL1CacheSupported`: 1 if device supports\n      caching locals in L1 cache, 0 if not\n\n    - :py:obj:`~.cudaDevAttrMaxSharedMemoryPerMultiprocessor`: Maximum\n      amount of shared memory available to a multiprocessor in bytes; this\n      amount is shared by all thread blocks simultaneously resident on a\n      multiprocessor\n\n    - :py:obj:`~.cudaDevAttrMaxRegistersPerMultiprocessor`: Maximum number\n      of 32-bit registers available to a multiprocessor; this number is\n      shared by all thread blocks simultaneously resident on a\n      multiprocessor\n\n    - :py:obj:`~.cudaDevAttrManagedMemory`: 1 if device supports allocating\n      managed memory, 0 if not\n\n    - :py:obj:`~.cudaDevAttrIsMultiGpuBoard`: 1 if device is on a multi-GPU\n      board, 0 if not\n\n    - :py:obj:`~.cudaDevAttrMultiGpuBoardGroupID`: Unique identifier for a\n      group of devices on the same multi-GPU board\n\n    - :py:obj:`~.cudaDevAttrHostNativeAtomicSupported`: 1 if the link\n      between the device and the host supports native atomic operations\n\n    - :py:obj:`~.cudaDevAttrSing""leToDoublePrecisionPerfRatio`: Ratio of\n      single precision performance (in floating-point operations per\n      second) to double precision performance\n\n    - :py:obj:`~.cudaDevAttrPageableMemoryAccess`: 1 if the device supports\n      coherently accessing pageable memory without calling cudaHostRegister\n      on it, and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrConcurrentManagedAccess`: 1 if the device can\n      coherently access managed memory concurrently with the CPU, and 0\n      otherwise\n\n    - :py:obj:`~.cudaDevAttrComputePreemptionSupported`: 1 if the device\n      supports Compute Preemption, 0 if not\n\n    - :py:obj:`~.cudaDevAttrCanUseHostPointerForRegisteredMem`: 1 if the\n      device can access host registered memory at the same virtual address\n      as the CPU, and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrCooperativeLaunch`: 1 if the device supports\n      launching cooperative kernels via\n      :py:obj:`~.cudaLaunchCooperativeKernel`, and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrCooperativeMultiDeviceLaunch`: 1 if the device\n      supports launching cooperative kernels via\n      :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice`, and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrCanFlushRemoteWrites`: 1 if the device supports\n      flushing of outstanding remote writes, and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrHostRegisterSupported`: 1 if the device\n      supports host memory registration via :py:obj:`~.cudaHostRegister`,\n      and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrPageableMemoryAccessUsesHostPageTables`: 1 if\n      the device accesses pageable memory via the host's page tables, and 0\n      otherwise\n\n    - :py:obj:`~.cudaDevAttrDirectManagedMemAccessFromHost`: 1 if the host\n      can directly access managed memory on the device without migration,\n      and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrMaxSharedMemoryPerBlockOptin`: Maximum per\n      block shared memory size on the device. This value can be op""ted into\n      when using :py:obj:`~.cudaFuncSetAttribute`\n\n    - :py:obj:`~.cudaDevAttrMaxBlocksPerMultiprocessor`: Maximum number of\n      thread blocks that can reside on a multiprocessor\n\n    - :py:obj:`~.cudaDevAttrMaxPersistingL2CacheSize`: Maximum L2\n      persisting lines capacity setting in bytes\n\n    - :py:obj:`~.cudaDevAttrMaxAccessPolicyWindowSize`: Maximum value of\n      :py:obj:`~.cudaAccessPolicyWindow.num_bytes`\n\n    - :py:obj:`~.cudaDevAttrReservedSharedMemoryPerBlock`: Shared memory\n      reserved by CUDA driver per block in bytes\n\n    - :py:obj:`~.cudaDevAttrSparseCudaArraySupported`: 1 if the device\n      supports sparse CUDA arrays and sparse CUDA mipmapped arrays.\n\n    - :py:obj:`~.cudaDevAttrHostRegisterReadOnlySupported`: Device supports\n      using the :py:obj:`~.cudaHostRegister` flag cudaHostRegisterReadOnly\n      to register memory that must be mapped as read-only to the GPU\n\n    - :py:obj:`~.cudaDevAttrMemoryPoolsSupported`: 1 if the device supports\n      using the cudaMallocAsync and cudaMemPool family of APIs, and 0\n      otherwise\n\n    - :py:obj:`~.cudaDevAttrGPUDirectRDMASupported`: 1 if the device\n      supports GPUDirect RDMA APIs, and 0 otherwise\n\n    - :py:obj:`~.cudaDevAttrGPUDirectRDMAFlushWritesOptions`: bitmask to be\n      interpreted according to the\n      :py:obj:`~.cudaFlushGPUDirectRDMAWritesOptions` enum\n\n    - :py:obj:`~.cudaDevAttrGPUDirectRDMAWritesOrdering`: see the\n      :py:obj:`~.cudaGPUDirectRDMAWritesOrdering` enum for numerical values\n\n    - :py:obj:`~.cudaDevAttrMemoryPoolSupportedHandleTypes`: Bitmask of\n      handle types supported with mempool based IPC\n\n    - :py:obj:`~.cudaDevAttrDeferredMappingCudaArraySupported` : 1 if the\n      device supports deferred mapping CUDA arrays and CUDA mipmapped\n      arrays.\n\n    Parameters\n    ----------\n    attr : :py:obj:`~.cudaDeviceAttr`\n        Device attribute to query\n    device : int\n        Device number to query""\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`\n    value : int\n        Returned device attribute value\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cuDeviceGetAttribute`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_71cudaDeviceGetAttribute = {"cudaDeviceGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_71cudaDeviceGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_70cudaDeviceGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_71cudaDeviceGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attr,&__pyx_n_s_device_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceGetAttribute", 1, 2, 2, 1); __PYX_ERR(0, 10711, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceGetAttribute") < 0)) __PYX_ERR(0, 10711, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_attr = values[0];
    __pyx_v_device = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 10711, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceGetAttribute", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10711, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 10711, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_70cudaDeviceGetAttribute(__pyx_self, __pyx_v_attr, __pyx_v_device);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_70cudaDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_device) {
  int __pyx_v_value;
  enum cudaDeviceAttr __pyx_v_cattr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaDeviceAttr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__452)
  __Pyx_RefNannySetupContext("cudaDeviceGetAttribute", 0);
  __Pyx_TraceCall("cudaDeviceGetAttribute", __pyx_f[0], 10711, 0, __PYX_ERR(0, 10711, __pyx_L1_error));

  /* "cuda/cudart.pyx":11064
 *     :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cuDeviceGetAttribute`
 *     """
 *     cdef int value = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaDeviceAttr cattr = attr.value
 *     err = ccudart.cudaDeviceGetAttribute(&value, cattr, device)
 */
  __pyx_v_value = 0;

  /* "cuda/cudart.pyx":11065
 *     """
 *     cdef int value = 0
 *     cdef ccudart.cudaDeviceAttr cattr = attr.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetAttribute(&value, cattr, device)
 *     return (cudaError_t(err), value)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaDeviceAttr)__Pyx_PyInt_As_enum__cudaDeviceAttr(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":11066
 *     cdef int value = 0
 *     cdef ccudart.cudaDeviceAttr cattr = attr.value
 *     err = ccudart.cudaDeviceGetAttribute(&value, cattr, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), value)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaDeviceGetAttribute((&__pyx_v_value), __pyx_v_cattr, __pyx_v_device); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11066, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":11067
 *     cdef ccudart.cudaDeviceAttr cattr = attr.value
 *     err = ccudart.cudaDeviceGetAttribute(&value, cattr, device)
 *     return (cudaError_t(err), value)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 11067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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(0, 11067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10711
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetAttribute(attr not None : cudaDeviceAttr, int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the device.
 * 
 */

  /* 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.cudart.cudaDeviceGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11070
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetDefaultMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Returns the default mempool of a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_73cudaDeviceGetDefaultMemPool(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_72cudaDeviceGetDefaultMemPool[] = "cudaDeviceGetDefaultMemPool(int device)\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    device : int\n        None\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue` :py:obj:`~.cudaErrorNotSupported`\n    memPool : :py:obj:`~.cudaMemPool_t`\n        None\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaMemPoolTrimTo`, :py:obj:`~.cudaMemPoolGetAttribute`, :py:obj:`~.cudaDeviceSetMemPool`, :py:obj:`~.cudaMemPoolSetAttribute`, :py:obj:`~.cudaMemPoolSetAccess`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_73cudaDeviceGetDefaultMemPool = {"cudaDeviceGetDefaultMemPool", (PyCFunction)__pyx_pw_4cuda_6cudart_73cudaDeviceGetDefaultMemPool, METH_O, __pyx_doc_4cuda_6cudart_72cudaDeviceGetDefaultMemPool};
static PyObject *__pyx_pw_4cuda_6cudart_73cudaDeviceGetDefaultMemPool(PyObject *__pyx_self, PyObject *__pyx_arg_device) {
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetDefaultMemPool (wrapper)", 0);
  assert(__pyx_arg_device); {
    __pyx_v_device = __Pyx_PyInt_As_int(__pyx_arg_device); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11070, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetDefaultMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_72cudaDeviceGetDefaultMemPool(__pyx_self, ((int)__pyx_v_device));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_72cudaDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *__pyx_v_memPool = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__453)
  __Pyx_RefNannySetupContext("cudaDeviceGetDefaultMemPool", 0);
  __Pyx_TraceCall("cudaDeviceGetDefaultMemPool", __pyx_f[0], 11070, 0, __PYX_ERR(0, 11070, __pyx_L1_error));

  /* "cuda/cudart.pyx":11092
 *     :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaMemPoolTrimTo`, :py:obj:`~.cudaMemPoolGetAttribute`, :py:obj:`~.cudaDeviceSetMemPool`, :py:obj:`~.cudaMemPoolSetAttribute`, :py:obj:`~.cudaMemPoolSetAccess`
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaDeviceGetDefaultMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_memPool = ((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11093
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceGetDefaultMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 *     return (cudaError_t(err), memPool)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":11094
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     with nogil:
 *         err = ccudart.cudaDeviceGetDefaultMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), memPool)
 * 
 */
        __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaDeviceGetDefaultMemPool(((cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_device); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11094, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/cudart.pyx":11093
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceGetDefaultMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 *     return (cudaError_t(err), memPool)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":11095
 *     with nogil:
 *         err = ccudart.cudaDeviceGetDefaultMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 *     return (cudaError_t(err), memPool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11095, __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(0, 11095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_memPool));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_memPool));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_memPool));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11070
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetDefaultMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Returns the default mempool of a 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.cudart.cudaDeviceGetDefaultMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_memPool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11098
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetMemPool(int device, memPool):             # <<<<<<<<<<<<<<
 *     """ Sets the current memory pool of a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_75cudaDeviceSetMemPool(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_74cudaDeviceSetMemPool[] = "cudaDeviceSetMemPool(int device, memPool)\n Sets the current memory pool of a device.\n\n    The memory pool must be local to the specified device. Unless a mempool\n    is specified in the :py:obj:`~.cudaMallocAsync` call,\n    :py:obj:`~.cudaMallocAsync` 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    device : int\n        None\n    memPool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        None\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue` :py:obj:`~.cudaErrorInvalidDevice` :py:obj:`~.cudaErrorNotSupported`\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceSetDefaultMemPool`, :py:obj:`~.cudaDeviceGetMemPool`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaMemPoolCreate`, :py:obj:`~.cudaMemPoolDestroy`, :py:obj:`~.cudaMallocFromPoolAsync`\n\n    Notes\n    -----\n    Use :py:obj:`~.cudaMallocFromPoolAsync` to specify asynchronous allocations from a device different than the one the stream runs on.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_75cudaDeviceSetMemPool = {"cudaDeviceSetMemPool", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_75cudaDeviceSetMemPool, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_74cudaDeviceSetMemPool};
static PyObject *__pyx_pw_4cuda_6cudart_75cudaDeviceSetMemPool(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_device;
  PyObject *__pyx_v_memPool = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceSetMemPool (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device_2,&__pyx_n_s_memPool,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceSetMemPool", 1, 2, 2, 1); __PYX_ERR(0, 11098, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceSetMemPool") < 0)) __PYX_ERR(0, 11098, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_device = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11098, __pyx_L3_error)
    __pyx_v_memPool = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceSetMemPool", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11098, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceSetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_74cudaDeviceSetMemPool(__pyx_self, __pyx_v_device, __pyx_v_memPool);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_74cudaDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_memPool) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__454)
  __Pyx_RefNannySetupContext("cudaDeviceSetMemPool", 0);
  __Pyx_TraceCall("cudaDeviceSetMemPool", __pyx_f[0], 11098, 0, __PYX_ERR(0, 11098, __pyx_L1_error));

  /* "cuda/cudart.pyx":11128
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11129
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11128
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11130
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11131
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11132
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11132, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11130
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11134
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11135
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11135, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11137
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceSetMemPool(device, cmemPool)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":11138
 * 
 *     with nogil:
 *         err = ccudart.cudaDeviceSetMemPool(device, cmemPool)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaDeviceSetMemPool(__pyx_v_device, __pyx_v_cmemPool); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11138, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":11137
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceSetMemPool(device, cmemPool)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":11139
 *     with nogil:
 *         err = ccudart.cudaDeviceSetMemPool(device, cmemPool)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11098
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetMemPool(int device, memPool):             # <<<<<<<<<<<<<<
 *     """ Sets the current memory pool of a device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceSetMemPool", __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/cudart.pyx":11142
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Gets the current mempool for a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_77cudaDeviceGetMemPool(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_76cudaDeviceGetMemPool[] = "cudaDeviceGetMemPool(int device)\n Gets the current mempool for a device.\n\n    Returns the last pool provided to :py:obj:`~.cudaDeviceSetMemPool` for\n    this device or the device's default memory pool if\n    :py:obj:`~.cudaDeviceSetMemPool` 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` or\n    :py:obj:`~.cudaDeviceSetMemPool`.\n\n    Parameters\n    ----------\n    device : int\n        None\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue` :py:obj:`~.cudaErrorNotSupported`\n    memPool : :py:obj:`~.cudaMemPool_t`\n        None\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceSetMemPool`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_77cudaDeviceGetMemPool = {"cudaDeviceGetMemPool", (PyCFunction)__pyx_pw_4cuda_6cudart_77cudaDeviceGetMemPool, METH_O, __pyx_doc_4cuda_6cudart_76cudaDeviceGetMemPool};
static PyObject *__pyx_pw_4cuda_6cudart_77cudaDeviceGetMemPool(PyObject *__pyx_self, PyObject *__pyx_arg_device) {
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetMemPool (wrapper)", 0);
  assert(__pyx_arg_device); {
    __pyx_v_device = __Pyx_PyInt_As_int(__pyx_arg_device); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11142, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_76cudaDeviceGetMemPool(__pyx_self, ((int)__pyx_v_device));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_76cudaDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *__pyx_v_memPool = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__455)
  __Pyx_RefNannySetupContext("cudaDeviceGetMemPool", 0);
  __Pyx_TraceCall("cudaDeviceGetMemPool", __pyx_f[0], 11142, 0, __PYX_ERR(0, 11142, __pyx_L1_error));

  /* "cuda/cudart.pyx":11168
 *     :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceSetMemPool`
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaDeviceGetMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_memPool = ((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11169
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceGetMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 *     return (cudaError_t(err), memPool)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":11170
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     with nogil:
 *         err = ccudart.cudaDeviceGetMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), memPool)
 * 
 */
        __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaDeviceGetMemPool(((cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_device); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11170, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/cudart.pyx":11169
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceGetMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 *     return (cudaError_t(err), memPool)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":11171
 *     with nogil:
 *         err = ccudart.cudaDeviceGetMemPool(<ccudart.cudaMemPool_t*>memPool._ptr, device)
 *     return (cudaError_t(err), memPool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11171, __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(0, 11171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_memPool));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_memPool));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_memPool));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11142
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Gets the current mempool for a 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.cudart.cudaDeviceGetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_memPool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11174
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetNvSciSyncAttributes(int device, int flags):             # <<<<<<<<<<<<<<
 *     """ Return NvSciSync attributes that this device can support.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_79cudaDeviceGetNvSciSyncAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_78cudaDeviceGetNvSciSyncAttributes[] = "cudaDeviceGetNvSciSyncAttributes(int device, 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 that matches this device's capabilities.\n\n    If NvSciSyncAttrKey_RequiredPerm field in `nvSciSyncAttrList` is\n    already set this API will return :py:obj:`~.cudaErrorInvalidValue`.\n\n    The applications should set `nvSciSyncAttrList` to a valid\n    NvSciSyncAttrList failing which this API will return\n    :py:obj:`~.cudaErrorInvalidHandle`.\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:`~.cudaNvSciSyncAttrSignal`, specifies that the applications\n      intends to signal an NvSciSync on this CUDA device.\n\n    - :py:obj:`~.cudaNvSciSyncAttrWait`, 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:`~.cudaErrorInvalidValue`. Both the flags are orthogonal to one\n    another: a developer may set both these flags that allows to set both\n    wait and signal specific attributes in the same `nvSciSyncAttrList`.\n\n    :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorDeviceUninitialized`,\n    :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidHandle`,\n    :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorNotSupported`,\n    :py:obj:`~.cudaErrorMemoryAllocation`\n\n    Parameters\n    ----------\n    device : int\n        Valid Cuda Device to get NvSciSync attributes for.\n    flags : int\n        flags describing NvSciSync usage.\n\n    Returns\n    -------\n    cudaError_t\n\n    nvSciSyncAttrList : Any\n        Return NvSciSync attributes supported.\n\n    See Also\n    --------\n    :py:obj:`~.cudaImportExternalSe""maphore`, :py:obj:`~.cudaDestroyExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_79cudaDeviceGetNvSciSyncAttributes = {"cudaDeviceGetNvSciSyncAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_79cudaDeviceGetNvSciSyncAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_78cudaDeviceGetNvSciSyncAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_79cudaDeviceGetNvSciSyncAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_device;
  int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetNvSciSyncAttributes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device_2,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceGetNvSciSyncAttributes", 1, 2, 2, 1); __PYX_ERR(0, 11174, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceGetNvSciSyncAttributes") < 0)) __PYX_ERR(0, 11174, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_device = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11174, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11174, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceGetNvSciSyncAttributes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11174, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetNvSciSyncAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_78cudaDeviceGetNvSciSyncAttributes(__pyx_self, __pyx_v_device, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_78cudaDeviceGetNvSciSyncAttributes(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_nvSciSyncAttrList;
  void *__pyx_v_cnvSciSyncAttrList_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__456)
  __Pyx_RefNannySetupContext("cudaDeviceGetNvSciSyncAttributes", 0);
  __Pyx_TraceCall("cudaDeviceGetNvSciSyncAttributes", __pyx_f[0], 11174, 0, __PYX_ERR(0, 11174, __pyx_L1_error));

  /* "cuda/cudart.pyx":11225
 *     :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaDestroyExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`
 *     """
 *     cdef void_ptr nvSciSyncAttrList = 0             # <<<<<<<<<<<<<<
 *     cdef void* cnvSciSyncAttrList_ptr = <void*>nvSciSyncAttrList
 *     err = ccudart.cudaDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, device, flags)
 */
  __pyx_v_nvSciSyncAttrList = 0;

  /* "cuda/cudart.pyx":11226
 *     """
 *     cdef void_ptr nvSciSyncAttrList = 0
 *     cdef void* cnvSciSyncAttrList_ptr = <void*>nvSciSyncAttrList             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, device, flags)
 *     return (cudaError_t(err), nvSciSyncAttrList)
 */
  __pyx_v_cnvSciSyncAttrList_ptr = ((void *)__pyx_v_nvSciSyncAttrList);

  /* "cuda/cudart.pyx":11227
 *     cdef void_ptr nvSciSyncAttrList = 0
 *     cdef void* cnvSciSyncAttrList_ptr = <void*>nvSciSyncAttrList
 *     err = ccudart.cudaDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, device, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), nvSciSyncAttrList)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceGetNvSciSyncAttributes(__pyx_v_cnvSciSyncAttrList_ptr, __pyx_v_device, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11227, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11228
 *     cdef void* cnvSciSyncAttrList_ptr = <void*>nvSciSyncAttrList
 *     err = ccudart.cudaDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, device, flags)
 *     return (cudaError_t(err), nvSciSyncAttrList)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 11228, __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_nvSciSyncAttrList); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11174
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetNvSciSyncAttributes(int device, int flags):             # <<<<<<<<<<<<<<
 *     """ Return NvSciSync attributes that this device can support.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetNvSciSyncAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11231
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetP2PAttribute(attr not None : cudaDeviceP2PAttr, int srcDevice, int dstDevice):             # <<<<<<<<<<<<<<
 *     """ Queries attributes of the link between two devices.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_81cudaDeviceGetP2PAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_80cudaDeviceGetP2PAttribute[] = "cudaDeviceGetP2PAttribute(attr: cudaDeviceP2PAttr, int srcDevice, int 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:`~.cudaDevP2PAttrPerformanceRank`: A relative value\n      indicating the performance of the link between two devices. Lower\n      value means better performance (0 being the value used for most\n      performant link).\n\n    - :py:obj:`~.cudaDevP2PAttrAccessSupported`: 1 if peer access is\n      enabled.\n\n    - :py:obj:`~.cudaDevP2PAttrNativeAtomicSupported`: 1 if native atomic\n      operations over the link are supported.\n\n    - :py:obj:`~.cudaDevP2PAttrCudaArrayAccessSupported`: 1 if accessing\n      CUDA arrays over the link is supported.\n\n    Returns :py:obj:`~.cudaErrorInvalidDevice` if `srcDevice` or\n    `dstDevice` are not valid or if they represent the same device.\n\n    Returns :py:obj:`~.cudaErrorInvalidValue` if `attrib` is not valid or\n    if `value` is a null pointer.\n\n    Parameters\n    ----------\n    attrib : :py:obj:`~.cudaDeviceP2PAttr`\n        The requested attribute of the link between `srcDevice` and\n        `dstDevice`.\n    srcDevice : int\n        The source device of the target link.\n    dstDevice : int\n        The destination device of the target link.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`\n    value : int\n        Returned value of the requested attribute\n\n    See Also\n    --------\n    :py:obj:`~.cudaCtxEnablePeerAccess`, :py:obj:`~.cudaCtxDisablePeerAccess`, :py:obj:`~.cudaCtxCanAccessPeer`, :py:obj:`~.cuDeviceGetP2PAttribute`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_81cudaDeviceGetP2PAttribute = {"cudaDeviceGetP2PAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_81cudaDeviceGetP2PAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_80cudaDeviceGetP2PAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_81cudaDeviceGetP2PAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_attr = 0;
  int __pyx_v_srcDevice;
  int __pyx_v_dstDevice;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetP2PAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attr,&__pyx_n_s_srcDevice_2,&__pyx_n_s_dstDevice_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_srcDevice_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceGetP2PAttribute", 1, 3, 3, 1); __PYX_ERR(0, 11231, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dstDevice_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceGetP2PAttribute", 1, 3, 3, 2); __PYX_ERR(0, 11231, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceGetP2PAttribute") < 0)) __PYX_ERR(0, 11231, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_attr = values[0];
    __pyx_v_srcDevice = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_srcDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11231, __pyx_L3_error)
    __pyx_v_dstDevice = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_dstDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11231, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceGetP2PAttribute", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11231, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetP2PAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 11231, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_80cudaDeviceGetP2PAttribute(__pyx_self, __pyx_v_attr, __pyx_v_srcDevice, __pyx_v_dstDevice);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_80cudaDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_srcDevice, int __pyx_v_dstDevice) {
  int __pyx_v_value;
  enum cudaDeviceP2PAttr __pyx_v_cattr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaDeviceP2PAttr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__457)
  __Pyx_RefNannySetupContext("cudaDeviceGetP2PAttribute", 0);
  __Pyx_TraceCall("cudaDeviceGetP2PAttribute", __pyx_f[0], 11231, 0, __PYX_ERR(0, 11231, __pyx_L1_error));

  /* "cuda/cudart.pyx":11279
 *     :py:obj:`~.cudaCtxEnablePeerAccess`, :py:obj:`~.cudaCtxDisablePeerAccess`, :py:obj:`~.cudaCtxCanAccessPeer`, :py:obj:`~.cuDeviceGetP2PAttribute`
 *     """
 *     cdef int value = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaDeviceP2PAttr cattr = attr.value
 *     err = ccudart.cudaDeviceGetP2PAttribute(&value, cattr, srcDevice, dstDevice)
 */
  __pyx_v_value = 0;

  /* "cuda/cudart.pyx":11280
 *     """
 *     cdef int value = 0
 *     cdef ccudart.cudaDeviceP2PAttr cattr = attr.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetP2PAttribute(&value, cattr, srcDevice, dstDevice)
 *     return (cudaError_t(err), value)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaDeviceP2PAttr)__Pyx_PyInt_As_enum__cudaDeviceP2PAttr(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":11281
 *     cdef int value = 0
 *     cdef ccudart.cudaDeviceP2PAttr cattr = attr.value
 *     err = ccudart.cudaDeviceGetP2PAttribute(&value, cattr, srcDevice, dstDevice)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), value)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaDeviceGetP2PAttribute((&__pyx_v_value), __pyx_v_cattr, __pyx_v_srcDevice, __pyx_v_dstDevice); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11281, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":11282
 *     cdef ccudart.cudaDeviceP2PAttr cattr = attr.value
 *     err = ccudart.cudaDeviceGetP2PAttribute(&value, cattr, srcDevice, dstDevice)
 *     return (cudaError_t(err), value)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 11282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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(0, 11282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11231
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetP2PAttribute(attr not None : cudaDeviceP2PAttr, int srcDevice, int dstDevice):             # <<<<<<<<<<<<<<
 *     """ Queries attributes of the link between two devices.
 * 
 */

  /* 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.cudart.cudaDeviceGetP2PAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11285
 * 
 * @cython.embedsignature(True)
 * def cudaChooseDevice(prop : cudaDeviceProp):             # <<<<<<<<<<<<<<
 *     """ Select compute-device which best matches criteria.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_83cudaChooseDevice(PyObject *__pyx_self, PyObject *__pyx_v_prop); /*proto*/
static char __pyx_doc_4cuda_6cudart_82cudaChooseDevice[] = "cudaChooseDevice(cudaDeviceProp prop: cudaDeviceProp)\n Select compute-device which best matches criteria.\n\n    Returns in `*device` the device which has properties that best match\n    `*prop`.\n\n    Parameters\n    ----------\n    prop : :py:obj:`~.cudaDeviceProp`\n        Desired device properties\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    device : int\n        Device with best match\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaGetDeviceProperties`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_83cudaChooseDevice = {"cudaChooseDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_83cudaChooseDevice, METH_O, __pyx_doc_4cuda_6cudart_82cudaChooseDevice};
static PyObject *__pyx_pw_4cuda_6cudart_83cudaChooseDevice(PyObject *__pyx_self, PyObject *__pyx_v_prop) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaChooseDevice (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_prop), __pyx_ptype_4cuda_6cudart_cudaDeviceProp, 1, "prop", 0))) __PYX_ERR(0, 11285, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_82cudaChooseDevice(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)__pyx_v_prop));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_82cudaChooseDevice(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_prop) {
  int __pyx_v_device;
  struct cudaDeviceProp *__pyx_v_cprop_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct cudaDeviceProp *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__458)
  __Pyx_RefNannySetupContext("cudaChooseDevice", 0);
  __Pyx_TraceCall("cudaChooseDevice", __pyx_f[0], 11285, 0, __PYX_ERR(0, 11285, __pyx_L1_error));

  /* "cuda/cudart.pyx":11307
 *     :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaGetDeviceProperties`
 *     """
 *     cdef int device = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaDeviceProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccudart.cudaChooseDevice(&device, cprop_ptr)
 */
  __pyx_v_device = 0;

  /* "cuda/cudart.pyx":11308
 *     """
 *     cdef int device = 0
 *     cdef ccudart.cudaDeviceProp* cprop_ptr = prop._ptr if prop != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaChooseDevice(&device, cprop_ptr)
 *     return (cudaError_t(err), device)
 */
  __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(0, 11308, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 11308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_prop->_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cprop_ptr = __pyx_t_1;

  /* "cuda/cudart.pyx":11309
 *     cdef int device = 0
 *     cdef ccudart.cudaDeviceProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccudart.cudaChooseDevice(&device, cprop_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), device)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaChooseDevice((&__pyx_v_device), __pyx_v_cprop_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11309, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":11310
 *     cdef ccudart.cudaDeviceProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccudart.cudaChooseDevice(&device, cprop_ptr)
 *     return (cudaError_t(err), device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_device); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11285
 * 
 * @cython.embedsignature(True)
 * def cudaChooseDevice(prop : cudaDeviceProp):             # <<<<<<<<<<<<<<
 *     """ Select compute-device which best matches criteria.
 * 
 */

  /* 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.cudart.cudaChooseDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11313
 * 
 * @cython.embedsignature(True)
 * def cudaSetDevice(int device):             # <<<<<<<<<<<<<<
 *     """ Set device to be used for GPU executions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_85cudaSetDevice(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_84cudaSetDevice[] = "cudaSetDevice(int device)\n Set device to be used for GPU executions.\n\n    Sets `device` as the current device for the calling host thread. Valid\n    device id's are 0 to (:py:obj:`~.cudaGetDeviceCount()` - 1).\n\n    Any device memory subsequently allocated from this host thread using\n    :py:obj:`~.cudaMalloc()`, :py:obj:`~.cudaMallocPitch()` or\n    :py:obj:`~.cudaMallocArray()` will be physically resident on `device`.\n    Any host memory allocated from this host thread using\n    :py:obj:`~.cudaMallocHost()` or :py:obj:`~.cudaHostAlloc()` or\n    :py:obj:`~.cudaHostRegister()` will have its lifetime associated with\n    `device`. Any streams or events created from this host thread will be\n    associated with `device`. Any kernels launched from this host thread\n    using the <<<>>> operator or :py:obj:`~.cudaLaunchKernel()` will be\n    executed on `device`.\n\n    This call may be made from any host thread, to any device, and at any\n    time. This function will do no synchronization with the previous or new\n    device, and should be considered a very low overhead call. If the\n    current context bound to the calling thread is not the primary context,\n    this call will bind the primary context to the calling thread and all\n    the subsequent memory allocations, stream and event creations, and\n    kernel launches will be associated with the primary context. This\n    function will not initialize the context until a runtime API requiring\n    the context (such as :py:obj:`~.cudaMalloc()`) is used. This function\n    will not return an error if the device is in\n    :py:obj:`~.cudaComputeModeExclusiveProcess` and is occupied by another\n    process or if the device is in :py:obj:`~.cudaComputeModeProhibited`.\n\n    Parameters\n    ----------\n    device : int\n        Device on which the active host thread should execute the device\n        code.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalid""Device`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuCtxSetCurrent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_85cudaSetDevice = {"cudaSetDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_85cudaSetDevice, METH_O, __pyx_doc_4cuda_6cudart_84cudaSetDevice};
static PyObject *__pyx_pw_4cuda_6cudart_85cudaSetDevice(PyObject *__pyx_self, PyObject *__pyx_arg_device) {
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaSetDevice (wrapper)", 0);
  assert(__pyx_arg_device); {
    __pyx_v_device = __Pyx_PyInt_As_int(__pyx_arg_device); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11313, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_84cudaSetDevice(__pyx_self, ((int)__pyx_v_device));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_84cudaSetDevice(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__459)
  __Pyx_RefNannySetupContext("cudaSetDevice", 0);
  __Pyx_TraceCall("cudaSetDevice", __pyx_f[0], 11313, 0, __PYX_ERR(0, 11313, __pyx_L1_error));

  /* "cuda/cudart.pyx":11358
 *     :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuCtxSetCurrent`
 *     """
 *     err = ccudart.cudaSetDevice(device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaSetDevice(__pyx_v_device); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11358, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11359
 *     """
 *     err = ccudart.cudaSetDevice(device)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 11359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11313
 * 
 * @cython.embedsignature(True)
 * def cudaSetDevice(int device):             # <<<<<<<<<<<<<<
 *     """ Set device to be used for GPU executions.
 * 
 */

  /* 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.cudart.cudaSetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11362
 * 
 * @cython.embedsignature(True)
 * def cudaGetDevice():             # <<<<<<<<<<<<<<
 *     """ Returns which device is currently being used.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_87cudaGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_86cudaGetDevice[] = "cudaGetDevice()\n Returns which device is currently being used.\n\n    Returns in `*device` the current device for the calling host thread.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    device : int\n        Returns the device on which the active host thread executes the\n        device code.\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuCtxGetCurrent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_87cudaGetDevice = {"cudaGetDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_87cudaGetDevice, METH_NOARGS, __pyx_doc_4cuda_6cudart_86cudaGetDevice};
static PyObject *__pyx_pw_4cuda_6cudart_87cudaGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDevice (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_86cudaGetDevice(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_86cudaGetDevice(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_device;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__460)
  __Pyx_RefNannySetupContext("cudaGetDevice", 0);
  __Pyx_TraceCall("cudaGetDevice", __pyx_f[0], 11362, 0, __PYX_ERR(0, 11362, __pyx_L1_error));

  /* "cuda/cudart.pyx":11379
 *     :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuCtxGetCurrent`
 *     """
 *     cdef int device = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDevice(&device)
 *     return (cudaError_t(err), device)
 */
  __pyx_v_device = 0;

  /* "cuda/cudart.pyx":11380
 *     """
 *     cdef int device = 0
 *     err = ccudart.cudaGetDevice(&device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), device)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGetDevice((&__pyx_v_device)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11380, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11381
 *     cdef int device = 0
 *     err = ccudart.cudaGetDevice(&device)
 *     return (cudaError_t(err), device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 11381, __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_device); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11362
 * 
 * @cython.embedsignature(True)
 * def cudaGetDevice():             # <<<<<<<<<<<<<<
 *     """ Returns which device is currently being used.
 * 
 */

  /* 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.cudart.cudaGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11384
 * 
 * @cython.embedsignature(True)
 * def cudaSetDeviceFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Sets flags to be used for device executions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_89cudaSetDeviceFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_88cudaSetDeviceFlags[] = "cudaSetDeviceFlags(unsigned int flags)\n Sets flags to be used for device executions.\n\n    Records `flags` as the flags for the current device. If the current\n    device has been set and that device has already been initialized, the\n    previous flags are overwritten. If the current device has not been\n    initialized, it is initialized with the provided flags. If no device\n    has been made current to the calling thread, a default device is\n    selected and initialized with the provided flags.\n\n    The two LSBs of the `flags` parameter can be used to control how the\n    CPU thread interacts with the OS scheduler when waiting for results\n    from the device.\n\n    - :py:obj:`~.cudaDeviceScheduleAuto`: 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 device, otherwise CUDA will not yield\n      while waiting for results and actively spin on the processor.\n      Additionally, on Tegra devices, :py:obj:`~.cudaDeviceScheduleAuto`\n      uses a heuristic based on the power profile of the platform and may\n      choose :py:obj:`~.cudaDeviceScheduleBlockingSync` for low-powered\n      devices.\n\n    - :py:obj:`~.cudaDeviceScheduleSpin`: Instruct CUDA to actively spin\n      when waiting for results from the device. This can decrease latency\n      when waiting for the device, but may lower the performance of CPU\n      threads if they are performing work in parallel with the CUDA thread.\n\n    - :py:obj:`~.cudaDeviceScheduleYield`: Instruct CUDA to yield its\n      thread when waiting for results from the device. This can increase\n      latency when waiting for the device, but can increase the performance\n      of CPU threads performing work in parallel with the device.\n\n    - :py:obj:`~.cudaDeviceScheduleBlockingSy""nc`: Instruct CUDA to block\n      the CPU thread on a synchronization primitive when waiting for the\n      device to finish work.\n\n    - :py:obj:`~.cudaDeviceBlockingSync`: Instruct CUDA to block the CPU\n      thread on a synchronization primitive when waiting for the device to\n      finish work.   :py:obj:`~.Deprecated:` This flag was deprecated as of\n      CUDA 4.0 and replaced with\n      :py:obj:`~.cudaDeviceScheduleBlockingSync`.\n\n    - :py:obj:`~.cudaDeviceMapHost`: This flag enables allocating pinned\n      host memory that is accessible to the device. It is implicit for the\n      runtime but may be absent if a context is created using the driver\n      API. If this flag is not set, :py:obj:`~.cudaHostGetDevicePointer()`\n      will always return a failure code.\n\n    - :py:obj:`~.cudaDeviceLmemResizeToMax`: 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.   :py:obj:`~.Deprecated:` This flag is\n      deprecated and the behavior enabled   by this flag is now the default\n      and cannot be disabled.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Parameters for device operation\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDeviceFlags`, :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaSetValidDevices`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuDevicePrimaryCtxSetFlags`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_89cudaSetDeviceFlags = {"cudaSetDeviceFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_89cudaSetDeviceFlags, METH_O, __pyx_doc_4cuda_6cudart_88cudaSetDeviceFlags};
static PyObject *__pyx_pw_4cuda_6cudart_89cudaSetDeviceFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaSetDeviceFlags (wrapper)", 0);
  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(0, 11384, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSetDeviceFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_88cudaSetDeviceFlags(__pyx_self, ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_88cudaSetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__461)
  __Pyx_RefNannySetupContext("cudaSetDeviceFlags", 0);
  __Pyx_TraceCall("cudaSetDeviceFlags", __pyx_f[0], 11384, 0, __PYX_ERR(0, 11384, __pyx_L1_error));

  /* "cuda/cudart.pyx":11457
 *     :py:obj:`~.cudaGetDeviceFlags`, :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaSetValidDevices`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuDevicePrimaryCtxSetFlags`
 *     """
 *     err = ccudart.cudaSetDeviceFlags(flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaSetDeviceFlags(__pyx_v_flags); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11457, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11458
 *     """
 *     err = ccudart.cudaSetDeviceFlags(flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 11458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11384
 * 
 * @cython.embedsignature(True)
 * def cudaSetDeviceFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Sets flags to be used for device executions.
 * 
 */

  /* 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.cudart.cudaSetDeviceFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11461
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceFlags():             # <<<<<<<<<<<<<<
 *     """ Gets the flags for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_91cudaGetDeviceFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_90cudaGetDeviceFlags[] = "cudaGetDeviceFlags()\n Gets the flags for the current device.\n\n    Returns in `flags` the flags for the current device. If there is a\n    current device for the calling thread, the flags for the device are\n    returned. If there is no current device, the flags for the first device\n    are returned, which may be the default flags. Compare to the behavior\n    of :py:obj:`~.cudaSetDeviceFlags`.\n\n    Typically, the flags returned should match the behavior that will be\n    seen if the calling thread uses a device after this call, without any\n    change to the flags or current device inbetween by this or another\n    thread. Note that if the device is not initialized, it is possible for\n    another thread to change the flags for the current device before it is\n    initialized. Additionally, when using exclusive mode, if this thread\n    has not requested a specific device, it may use a device other than the\n    first device, contrary to the assumption made by this function.\n\n    If a context has been created via the driver API and is current to the\n    calling thread, the flags for that context are always returned.\n\n    Flags returned by this function may specifically include\n    :py:obj:`~.cudaDeviceMapHost` even though it is not accepted by\n    :py:obj:`~.cudaSetDeviceFlags` because it is implicit in runtime API\n    flags. The reason for this is that the current context may have been\n    created via the driver API in which case the flag is not implicit and\n    may be unset.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`\n    flags : unsigned int\n        Pointer to store the device flags\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaSetDeviceFlags`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuDevicePrimaryCtxGetState`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_91cudaGetDeviceFlags = {"cudaGetDeviceFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_91cudaGetDeviceFlags, METH_NOARGS, __pyx_doc_4cuda_6cudart_90cudaGetDeviceFlags};
static PyObject *__pyx_pw_4cuda_6cudart_91cudaGetDeviceFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDeviceFlags (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_90cudaGetDeviceFlags(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_90cudaGetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self) {
  unsigned int __pyx_v_flags;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__462)
  __Pyx_RefNannySetupContext("cudaGetDeviceFlags", 0);
  __Pyx_TraceCall("cudaGetDeviceFlags", __pyx_f[0], 11461, 0, __PYX_ERR(0, 11461, __pyx_L1_error));

  /* "cuda/cudart.pyx":11500
 *     :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaGetDeviceProperties`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaSetDeviceFlags`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuDevicePrimaryCtxGetState`
 *     """
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDeviceFlags(&flags)
 *     return (cudaError_t(err), flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cudart.pyx":11501
 *     """
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaGetDeviceFlags(&flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), flags)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGetDeviceFlags((&__pyx_v_flags)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11501, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11502
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaGetDeviceFlags(&flags)
 *     return (cudaError_t(err), flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 11502, __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(0, 11502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11461
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceFlags():             # <<<<<<<<<<<<<<
 *     """ Gets the flags for the current 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_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGetDeviceFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11505
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreate():             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_93cudaStreamCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_92cudaStreamCreate[] = "cudaStreamCreate()\n Create an asynchronous stream.\n\n    Creates a new asynchronous stream.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pStream : :py:obj:`~.cudaStream_t`\n        Pointer to new stream identifier\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamGetPriority`, :py:obj:`~.cudaStreamGetFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_93cudaStreamCreate = {"cudaStreamCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_93cudaStreamCreate, METH_NOARGS, __pyx_doc_4cuda_6cudart_92cudaStreamCreate};
static PyObject *__pyx_pw_4cuda_6cudart_93cudaStreamCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamCreate (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_92cudaStreamCreate(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_92cudaStreamCreate(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart_cudaStream_t *__pyx_v_pStream = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__463)
  __Pyx_RefNannySetupContext("cudaStreamCreate", 0);
  __Pyx_TraceCall("cudaStreamCreate", __pyx_f[0], 11505, 0, __PYX_ERR(0, 11505, __pyx_L1_error));

  /* "cuda/cudart.pyx":11521
 *     :py:obj:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamGetPriority`, :py:obj:`~.cudaStreamGetFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamCreate`
 *     """
 *     cdef cudaStream_t pStream = cudaStream_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamCreate(<ccudart.cudaStream_t*>pStream._ptr)
 *     return (cudaError_t(err), pStream)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pStream = ((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11522
 *     """
 *     cdef cudaStream_t pStream = cudaStream_t()
 *     err = ccudart.cudaStreamCreate(<ccudart.cudaStream_t*>pStream._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pStream)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaStreamCreate(((cudaStream_t *)__pyx_v_pStream->__pyx_base._ptr)); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11522, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":11523
 *     cdef cudaStream_t pStream = cudaStream_t()
 *     err = ccudart.cudaStreamCreate(<ccudart.cudaStream_t*>pStream._ptr)
 *     return (cudaError_t(err), pStream)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11523, __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(0, 11523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pStream));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pStream));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pStream));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11505
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreate():             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous 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.cudart.cudaStreamCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11526
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_95cudaStreamCreateWithFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_94cudaStreamCreateWithFlags[] = "cudaStreamCreateWithFlags(unsigned int flags)\n Create an asynchronous stream.\n\n    Creates a new asynchronous stream. The `flags` argument determines the\n    behaviors of the stream. Valid values for `flags` are\n\n    - :py:obj:`~.cudaStreamDefault`: Default stream creation flag.\n\n    - :py:obj:`~.cudaStreamNonBlocking`: Specifies that work running in the\n      created stream may run concurrently with work in stream 0 (the NULL\n      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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pStream : :py:obj:`~.cudaStream_t`\n        Pointer to new stream identifier\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaStreamGetFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_95cudaStreamCreateWithFlags = {"cudaStreamCreateWithFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_95cudaStreamCreateWithFlags, METH_O, __pyx_doc_4cuda_6cudart_94cudaStreamCreateWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_95cudaStreamCreateWithFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamCreateWithFlags (wrapper)", 0);
  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(0, 11526, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCreateWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_94cudaStreamCreateWithFlags(__pyx_self, ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_94cudaStreamCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaStream_t *__pyx_v_pStream = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__464)
  __Pyx_RefNannySetupContext("cudaStreamCreateWithFlags", 0);
  __Pyx_TraceCall("cudaStreamCreateWithFlags", __pyx_f[0], 11526, 0, __PYX_ERR(0, 11526, __pyx_L1_error));

  /* "cuda/cudart.pyx":11555
 *     :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaStreamGetFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamCreate`
 *     """
 *     cdef cudaStream_t pStream = cudaStream_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamCreateWithFlags(<ccudart.cudaStream_t*>pStream._ptr, flags)
 *     return (cudaError_t(err), pStream)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pStream = ((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11556
 *     """
 *     cdef cudaStream_t pStream = cudaStream_t()
 *     err = ccudart.cudaStreamCreateWithFlags(<ccudart.cudaStream_t*>pStream._ptr, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pStream)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaStreamCreateWithFlags(((cudaStream_t *)__pyx_v_pStream->__pyx_base._ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11556, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":11557
 *     cdef cudaStream_t pStream = cudaStream_t()
 *     err = ccudart.cudaStreamCreateWithFlags(<ccudart.cudaStream_t*>pStream._ptr, flags)
 *     return (cudaError_t(err), pStream)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11557, __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(0, 11557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pStream));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pStream));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pStream));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11526
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous 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.cudart.cudaStreamCreateWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11560
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithPriority(unsigned int flags, int priority):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream with the specified priority.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_97cudaStreamCreateWithPriority(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_96cudaStreamCreateWithPriority[] = "cudaStreamCreateWithPriority(unsigned int flags, int priority)\n Create an asynchronous stream with the specified priority.\n\n    Creates a stream with the specified priority and returns a handle in\n    `pStream`. This API alters the scheduler priority of work in the\n    stream. Work in a higher priority stream may preempt work already\n    executing in a low priority stream.\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:`~.cudaDeviceGetStreamPriorityRange`. If the specified priority\n    is outside the numerical range returned by\n    :py:obj:`~.cudaDeviceGetStreamPriorityRange`, 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\n        :py:obj:`~.cudaStreamCreateWithFlags` for a list of valid flags\n        that can be passed\n    priority : int\n        Priority of the stream. Lower numbers represent higher priorities.\n        See :py:obj:`~.cudaDeviceGetStreamPriorityRange` for more\n        information about the meaningful stream priorities that can be\n        passed.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pStream : :py:obj:`~.cudaStream_t`\n        Pointer to new stream identifier\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaDeviceGetStreamPriorityRange`, :py:obj:`~.cudaStreamGetPriority`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamCreateWithPriority`\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_6cudart_97cudaStreamCreateWithPriority = {"cudaStreamCreateWithPriority", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_97cudaStreamCreateWithPriority, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_96cudaStreamCreateWithPriority};
static PyObject *__pyx_pw_4cuda_6cudart_97cudaStreamCreateWithPriority(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_flags;
  int __pyx_v_priority;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamCreateWithPriority (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags_2,&__pyx_n_s_priority_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_priority_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamCreateWithPriority", 1, 2, 2, 1); __PYX_ERR(0, 11560, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamCreateWithPriority") < 0)) __PYX_ERR(0, 11560, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 11560, __pyx_L3_error)
    __pyx_v_priority = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11560, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamCreateWithPriority", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11560, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCreateWithPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_96cudaStreamCreateWithPriority(__pyx_self, __pyx_v_flags, __pyx_v_priority);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_96cudaStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority) {
  struct __pyx_obj_4cuda_6cudart_cudaStream_t *__pyx_v_pStream = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__465)
  __Pyx_RefNannySetupContext("cudaStreamCreateWithPriority", 0);
  __Pyx_TraceCall("cudaStreamCreateWithPriority", __pyx_f[0], 11560, 0, __PYX_ERR(0, 11560, __pyx_L1_error));

  /* "cuda/cudart.pyx":11605
 *     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 cudaStream_t pStream = cudaStream_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamCreateWithPriority(<ccudart.cudaStream_t*>pStream._ptr, flags, priority)
 *     return (cudaError_t(err), pStream)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pStream = ((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11606
 *     """
 *     cdef cudaStream_t pStream = cudaStream_t()
 *     err = ccudart.cudaStreamCreateWithPriority(<ccudart.cudaStream_t*>pStream._ptr, flags, priority)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pStream)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaStreamCreateWithPriority(((cudaStream_t *)__pyx_v_pStream->__pyx_base._ptr), __pyx_v_flags, __pyx_v_priority); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11606, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":11607
 *     cdef cudaStream_t pStream = cudaStream_t()
 *     err = ccudart.cudaStreamCreateWithPriority(<ccudart.cudaStream_t*>pStream._ptr, flags, priority)
 *     return (cudaError_t(err), pStream)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11607, __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(0, 11607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pStream));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pStream));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pStream));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11560
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithPriority(unsigned int flags, int priority):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream with the specified 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.cudart.cudaStreamCreateWithPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11610
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetPriority(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the priority of a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_99cudaStreamGetPriority(PyObject *__pyx_self, PyObject *__pyx_v_hStream); /*proto*/
static char __pyx_doc_4cuda_6cudart_98cudaStreamGetPriority[] = "cudaStreamGetPriority(hStream)\n Query the priority of a stream.\n\n    Query the priority of a stream. The priority is returned in in\n    `priority`. Note that if the stream was created with a priority outside\n    the meaningful numerical range returned by\n    :py:obj:`~.cudaDeviceGetStreamPriorityRange`, this function returns the\n    clamped priority. See :py:obj:`~.cudaStreamCreateWithPriority` 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\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:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaDeviceGetStreamPriorityRange`, :py:obj:`~.cudaStreamGetFlags`, :py:obj:`~.cuStreamGetPriority`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_99cudaStreamGetPriority = {"cudaStreamGetPriority", (PyCFunction)__pyx_pw_4cuda_6cudart_99cudaStreamGetPriority, METH_O, __pyx_doc_4cuda_6cudart_98cudaStreamGetPriority};
static PyObject *__pyx_pw_4cuda_6cudart_99cudaStreamGetPriority(PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetPriority (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_98cudaStreamGetPriority(__pyx_self, ((PyObject *)__pyx_v_hStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_98cudaStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  cudaStream_t __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  int __pyx_v_priority;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__466)
  __Pyx_RefNannySetupContext("cudaStreamGetPriority", 0);
  __Pyx_TraceCall("cudaStreamGetPriority", __pyx_f[0], 11610, 0, __PYX_ERR(0, 11610, __pyx_L1_error));

  /* "cuda/cudart.pyx":11638
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11639
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11638
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11640
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11641
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11642
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(cudaStream_t(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(0, 11642, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11640
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11644
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 *         phStream = int(cudaStream_t(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11645
 *     else:
 *         phStream = int(cudaStream_t(hStream))
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 * 
 *     cdef int priority = 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(0, 11645, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11647
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 *     cdef int priority = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetPriority(chStream, &priority)
 *     return (cudaError_t(err), priority)
 */
  __pyx_v_priority = 0;

  /* "cuda/cudart.pyx":11648
 * 
 *     cdef int priority = 0
 *     err = ccudart.cudaStreamGetPriority(chStream, &priority)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), priority)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamGetPriority(__pyx_v_chStream, (&__pyx_v_priority)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11648, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":11649
 *     cdef int priority = 0
 *     err = ccudart.cudaStreamGetPriority(chStream, &priority)
 *     return (cudaError_t(err), priority)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_priority); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11610
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetPriority(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the priority of a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetPriority", __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/cudart.pyx":11652
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetFlags(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the flags of a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_101cudaStreamGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_hStream); /*proto*/
static char __pyx_doc_4cuda_6cudart_100cudaStreamGetFlags[] = "cudaStreamGetFlags(hStream)\n Query the flags of a stream.\n\n    Query the flags of a stream. The flags are returned in `flags`. See\n    :py:obj:`~.cudaStreamCreateWithFlags` for a list of valid 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    flags : unsigned int\n        Pointer to an unsigned integer in which the stream's flags are\n        returned\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreateWithPriority`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_101cudaStreamGetFlags = {"cudaStreamGetFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_101cudaStreamGetFlags, METH_O, __pyx_doc_4cuda_6cudart_100cudaStreamGetFlags};
static PyObject *__pyx_pw_4cuda_6cudart_101cudaStreamGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetFlags (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_100cudaStreamGetFlags(__pyx_self, ((PyObject *)__pyx_v_hStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_100cudaStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  cudaStream_t __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  unsigned int __pyx_v_flags;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__467)
  __Pyx_RefNannySetupContext("cudaStreamGetFlags", 0);
  __Pyx_TraceCall("cudaStreamGetFlags", __pyx_f[0], 11652, 0, __PYX_ERR(0, 11652, __pyx_L1_error));

  /* "cuda/cudart.pyx":11676
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11677
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11676
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11678
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11679
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11680
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(cudaStream_t(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(0, 11680, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11678
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11682
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 *         phStream = int(cudaStream_t(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11683
 *     else:
 *         phStream = int(cudaStream_t(hStream))
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 * 
 *     cdef unsigned int flags = 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(0, 11683, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11685
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetFlags(chStream, &flags)
 *     return (cudaError_t(err), flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cudart.pyx":11686
 * 
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaStreamGetFlags(chStream, &flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), flags)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamGetFlags(__pyx_v_chStream, (&__pyx_v_flags)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11686, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":11687
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaStreamGetFlags(chStream, &flags)
 *     return (cudaError_t(err), flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11652
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetFlags(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the flags of a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetFlags", __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/cudart.pyx":11690
 * 
 * @cython.embedsignature(True)
 * def cudaCtxResetPersistingL2Cache():             # <<<<<<<<<<<<<<
 *     """ Resets all persisting lines in cache to normal status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_103cudaCtxResetPersistingL2Cache(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_102cudaCtxResetPersistingL2Cache[] = "cudaCtxResetPersistingL2Cache()\n Resets all persisting lines in cache to normal status.\n\n    Resets all persisting lines in cache to normal status. Takes effect on\n    function return.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaAccessPolicyWindow`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_103cudaCtxResetPersistingL2Cache = {"cudaCtxResetPersistingL2Cache", (PyCFunction)__pyx_pw_4cuda_6cudart_103cudaCtxResetPersistingL2Cache, METH_NOARGS, __pyx_doc_4cuda_6cudart_102cudaCtxResetPersistingL2Cache};
static PyObject *__pyx_pw_4cuda_6cudart_103cudaCtxResetPersistingL2Cache(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaCtxResetPersistingL2Cache (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_102cudaCtxResetPersistingL2Cache(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_102cudaCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__468)
  __Pyx_RefNannySetupContext("cudaCtxResetPersistingL2Cache", 0);
  __Pyx_TraceCall("cudaCtxResetPersistingL2Cache", __pyx_f[0], 11690, 0, __PYX_ERR(0, 11690, __pyx_L1_error));

  /* "cuda/cudart.pyx":11705
 *     :py:obj:`~.cudaAccessPolicyWindow`
 *     """
 *     err = ccudart.cudaCtxResetPersistingL2Cache()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaCtxResetPersistingL2Cache(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11705, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11706
 *     """
 *     err = ccudart.cudaCtxResetPersistingL2Cache()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 11706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11690
 * 
 * @cython.embedsignature(True)
 * def cudaCtxResetPersistingL2Cache():             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaCtxResetPersistingL2Cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11709
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCopyAttributes(dst, src):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source stream to destination stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_105cudaStreamCopyAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_104cudaStreamCopyAttributes[] = "cudaStreamCopyAttributes(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 attributes see :py:obj:`~.cudaStreamAttrID`\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorNotSupported`\n\n    See Also\n    --------\n    :py:obj:`~.cudaAccessPolicyWindow`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_105cudaStreamCopyAttributes = {"cudaStreamCopyAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_105cudaStreamCopyAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_104cudaStreamCopyAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_105cudaStreamCopyAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamCopyAttributes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamCopyAttributes", 1, 2, 2, 1); __PYX_ERR(0, 11709, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamCopyAttributes") < 0)) __PYX_ERR(0, 11709, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamCopyAttributes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11709, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_104cudaStreamCopyAttributes(__pyx_self, __pyx_v_dst, __pyx_v_src);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_104cudaStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  cudaStream_t __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  cudaStream_t __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__469)
  __Pyx_RefNannySetupContext("cudaStreamCopyAttributes", 0);
  __Pyx_TraceCall("cudaStreamCopyAttributes", __pyx_f[0], 11709, 0, __PYX_ERR(0, 11709, __pyx_L1_error));

  /* "cuda/cudart.pyx":11732
 *     """
 *     cdef ccudart.cudaStream_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(src, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11733
 *     cdef ccudart.cudaStream_t csrc
 *     if src is None:
 *         csrc = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (cudaStream_t,cuda.CUstream)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11732
 *     """
 *     cdef ccudart.cudaStream_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(src, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11734
 *     if src is None:
 *         csrc = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(src, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaStream_t><void_ptr>psrc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11735
 *         csrc = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(src, (cudaStream_t,cuda.CUstream)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaStream_t><void_ptr>psrc
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11736
 *     elif isinstance(src, (cudaStream_t,cuda.CUstream)):
 *         psrc = int(src)
 *         csrc = <ccudart.cudaStream_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(cudaStream_t(src))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11736, __pyx_L1_error)
    __pyx_v_csrc = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11734
 *     if src is None:
 *         csrc = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(src, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaStream_t><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11738
 *         csrc = <ccudart.cudaStream_t><void_ptr>psrc
 *     else:
 *         psrc = int(cudaStream_t(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaStream_t><void_ptr>psrc
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrc = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11739
 *     else:
 *         psrc = int(cudaStream_t(src))
 *         csrc = <ccudart.cudaStream_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStream_t cdst
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11739, __pyx_L1_error)
    __pyx_v_csrc = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11742
 * 
 *     cdef ccudart.cudaStream_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(dst, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11743
 *     cdef ccudart.cudaStream_t cdst
 *     if dst is None:
 *         cdst = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (cudaStream_t,cuda.CUstream)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11742
 * 
 *     cdef ccudart.cudaStream_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(dst, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":11744
 *     if dst is None:
 *         cdst = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(dst, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11745
 *         cdst = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(dst, (cudaStream_t,cuda.CUstream)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pdst = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11746
 *     elif isinstance(dst, (cudaStream_t,cuda.CUstream)):
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(cudaStream_t(dst))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11746, __pyx_L1_error)
    __pyx_v_cdst = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11744
 *     if dst is None:
 *         cdst = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(dst, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":11748
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst
 *     else:
 *         pdst = int(cudaStream_t(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11749
 *     else:
 *         pdst = int(cudaStream_t(dst))
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaStreamCopyAttributes(cdst, csrc)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11749, __pyx_L1_error)
    __pyx_v_cdst = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":11751
 *         cdst = <ccudart.cudaStream_t><void_ptr>pdst
 * 
 *     err = ccudart.cudaStreamCopyAttributes(cdst, csrc)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamCopyAttributes(__pyx_v_cdst, __pyx_v_csrc); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11751, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":11752
 * 
 *     err = ccudart.cudaStreamCopyAttributes(cdst, csrc)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 11752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11709
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCopyAttributes(dst, src):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source stream to destination stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCopyAttributes", __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/cudart.pyx":11755
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetAttribute(hStream, attr not None : cudaStreamAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries stream attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_107cudaStreamGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_106cudaStreamGetAttribute[] = "cudaStreamGetAttribute(hStream, attr: cudaStreamAttrID)\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:`~.cudaStreamAttrID`\n\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    value_out : :py:obj:`~.cudaStreamAttrValue`\n\n\n    See Also\n    --------\n    :py:obj:`~.cudaAccessPolicyWindow`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_107cudaStreamGetAttribute = {"cudaStreamGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_107cudaStreamGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_106cudaStreamGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_107cudaStreamGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_attr = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream,&__pyx_n_s_attr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hStream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamGetAttribute", 1, 2, 2, 1); __PYX_ERR(0, 11755, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamGetAttribute") < 0)) __PYX_ERR(0, 11755, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_attr = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamGetAttribute", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11755, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 11755, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_106cudaStreamGetAttribute(__pyx_self, __pyx_v_hStream, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_106cudaStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr) {
  cudaStream_t __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_v_cattr;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value_out = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_t_7;
  cudaError_t __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__470)
  __Pyx_RefNannySetupContext("cudaStreamGetAttribute", 0);
  __Pyx_TraceCall("cudaStreamGetAttribute", __pyx_f[0], 11755, 0, __PYX_ERR(0, 11755, __pyx_L1_error));

  /* "cuda/cudart.pyx":11780
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11781
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11780
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11782
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11783
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11784
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(cudaStream_t(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(0, 11784, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11782
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11786
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 *         phStream = int(cudaStream_t(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11787
 *     else:
 *         phStream = int(cudaStream_t(hStream))
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 */
    __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(0, 11787, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11789
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()
 *     err = ccudart.cudaStreamGetAttribute(chStream, cattr, value_out._ptr)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cattr = __pyx_t_7;

  /* "cuda/cudart.pyx":11790
 * 
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetAttribute(chStream, cattr, value_out._ptr)
 *     return (cudaError_t(err), value_out)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":11791
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()
 *     err = ccudart.cudaStreamGetAttribute(chStream, cattr, value_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), value_out)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaStreamGetAttribute(__pyx_v_chStream, __pyx_v_cattr, __pyx_v_value_out->_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11791, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":11792
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()
 *     err = ccudart.cudaStreamGetAttribute(chStream, cattr, value_out._ptr)
 *     return (cudaError_t(err), value_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 11792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_value_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_value_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_value_out));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11755
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetAttribute(hStream, attr not None : cudaStreamAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries stream attribute.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetAttribute", __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/cudart.pyx":11795
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_109cudaStreamSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_108cudaStreamSetAttribute[] = "cudaStreamSetAttribute(hStream, attr: cudaStreamAttrID, cudaLaunchAttributeValue value: cudaLaunchAttributeValue)\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:`~.cudaStreamAttrID`\n\n    value : :py:obj:`~.cudaStreamAttrValue`\n\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaAccessPolicyWindow`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_109cudaStreamSetAttribute = {"cudaStreamSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_109cudaStreamSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_108cudaStreamSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_109cudaStreamSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_attr = 0;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamSetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream,&__pyx_n_s_attr,&__pyx_n_s_value,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hStream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamSetAttribute", 1, 3, 3, 1); __PYX_ERR(0, 11795, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamSetAttribute", 1, 3, 3, 2); __PYX_ERR(0, 11795, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamSetAttribute") < 0)) __PYX_ERR(0, 11795, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamSetAttribute", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11795, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 11795, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue, 1, "value", 0))) __PYX_ERR(0, 11795, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_108cudaStreamSetAttribute(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_108cudaStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value) {
  cudaStream_t __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_v_cattr;
  __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *__pyx_v_cvalue_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_t_7;
  union cudaLaunchAttributeValue *__pyx_t_8;
  cudaError_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__471)
  __Pyx_RefNannySetupContext("cudaStreamSetAttribute", 0);
  __Pyx_TraceCall("cudaStreamSetAttribute", __pyx_f[0], 11795, 0, __PYX_ERR(0, 11795, __pyx_L1_error));

  /* "cuda/cudart.pyx":11821
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11822
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11821
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11823
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11824
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11825
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(cudaStream_t(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(0, 11825, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11823
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11827
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 *         phStream = int(cudaStream_t(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11828
 *     else:
 *         phStream = int(cudaStream_t(hStream))
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 */
    __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(0, 11828, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11830
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaStreamSetAttribute(chStream, cattr, cvalue_ptr)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cattr = __pyx_t_7;

  /* "cuda/cudart.pyx":11831
 * 
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamSetAttribute(chStream, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_value), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11831, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 11831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_8 = __pyx_v_value->_ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_cvalue_ptr = __pyx_t_8;

  /* "cuda/cudart.pyx":11832
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaStreamSetAttribute(chStream, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_9 = __pyx_f_4cuda_7ccudart_cudaStreamSetAttribute(__pyx_v_chStream, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_9 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11832, __pyx_L1_error)
  __pyx_v_err = __pyx_t_9;

  /* "cuda/cudart.pyx":11833
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaStreamSetAttribute(chStream, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 11833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_11)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11795
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamSetAttribute", __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/cudart.pyx":11836
 * 
 * @cython.embedsignature(True)
 * def cudaStreamDestroy(stream):             # <<<<<<<<<<<<<<
 *     """ Destroys and cleans up an asynchronous stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_111cudaStreamDestroy(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_110cudaStreamDestroy[] = "cudaStreamDestroy(stream)\n Destroys and cleans up an asynchronous stream.\n\n    Destroys and cleans up the asynchronous stream specified by `stream`.\n\n    In case the device is still doing work in the stream `stream` when\n    :py:obj:`~.cudaStreamDestroy()` is called, the function will return\n    immediately and the resources associated with `stream` will be released\n    automatically once the device has completed all work in `stream`.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cuStreamDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_111cudaStreamDestroy = {"cudaStreamDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_111cudaStreamDestroy, METH_O, __pyx_doc_4cuda_6cudart_110cudaStreamDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_111cudaStreamDestroy(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_110cudaStreamDestroy(__pyx_self, ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_110cudaStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__472)
  __Pyx_RefNannySetupContext("cudaStreamDestroy", 0);
  __Pyx_TraceCall("cudaStreamDestroy", __pyx_f[0], 11836, 0, __PYX_ERR(0, 11836, __pyx_L1_error));

  /* "cuda/cudart.pyx":11861
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11862
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11861
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11863
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11864
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11865
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 11865, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11863
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11867
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11868
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaStreamDestroy(cstream)
 */
    __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(0, 11868, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11870
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     err = ccudart.cudaStreamDestroy(cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamDestroy(__pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11870, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":11871
 * 
 *     err = ccudart.cudaStreamDestroy(cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11836
 * 
 * @cython.embedsignature(True)
 * def cudaStreamDestroy(stream):             # <<<<<<<<<<<<<<
 *     """ Destroys and cleans up an asynchronous stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11874
 * 
 * @cython.embedsignature(True)
 * def cudaStreamWaitEvent(stream, event, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Make a compute stream wait on an event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_113cudaStreamWaitEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_112cudaStreamWaitEvent[] = "cudaStreamWaitEvent(stream, event, unsigned int flags)\n Make a compute stream wait on an event.\n\n    Makes all future work submitted to `stream` wait for all work captured\n    in `event`. See :py:obj:`~.cudaEventRecord()` for details on what is\n    captured by an event. The synchronization will be performed efficiently\n    on the device when applicable. `event` may be from a different device\n    than `stream`.\n\n    flags include:\n\n    - :py:obj:`~.cudaEventWaitDefault`: Default event creation flag.\n\n    - :py:obj:`~.cudaEventWaitExternal`: Event is captured in the graph as\n      an external event node when performing stream capture.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to wait\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to wait on\n    flags : unsigned int\n        Parameters for the operation(See above)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamWaitEvent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_113cudaStreamWaitEvent = {"cudaStreamWaitEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_113cudaStreamWaitEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_112cudaStreamWaitEvent};
static PyObject *__pyx_pw_4cuda_6cudart_113cudaStreamWaitEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_event = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamWaitEvent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_event_2,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamWaitEvent", 1, 3, 3, 1); __PYX_ERR(0, 11874, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamWaitEvent", 1, 3, 3, 2); __PYX_ERR(0, 11874, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamWaitEvent") < 0)) __PYX_ERR(0, 11874, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_stream = values[0];
    __pyx_v_event = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 11874, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamWaitEvent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11874, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_112cudaStreamWaitEvent(__pyx_self, __pyx_v_stream, __pyx_v_event, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_112cudaStreamWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_event, unsigned int __pyx_v_flags) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__473)
  __Pyx_RefNannySetupContext("cudaStreamWaitEvent", 0);
  __Pyx_TraceCall("cudaStreamWaitEvent", __pyx_f[0], 11874, 0, __PYX_ERR(0, 11874, __pyx_L1_error));

  /* "cuda/cudart.pyx":11909
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11910
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11909
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11911
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11912
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11913
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11913, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11911
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":11915
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11916
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStream_t cstream
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 11916, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":11919
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":11920
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":11919
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":11921
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":11922
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":11923
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 11923, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":11921
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":11925
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":11926
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
 */
    __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(0, 11926, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":11928
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamWaitEvent(cstream, cevent, flags)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":11929
 * 
 *     with nogil:
 *         err = ccudart.cudaStreamWaitEvent(cstream, cevent, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamWaitEvent(__pyx_v_cstream, __pyx_v_cevent, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11929, __pyx_L10_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":11928
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamWaitEvent(cstream, cevent, flags)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L11;
        }
        __pyx_L10_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L11:;
      }
  }

  /* "cuda/cudart.pyx":11930
 *     with nogil:
 *         err = ccudart.cudaStreamWaitEvent(cstream, cevent, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 11930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 11930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11874
 * 
 * @cython.embedsignature(True)
 * def cudaStreamWaitEvent(stream, event, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Make a compute stream wait on an event.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11933
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_115cudaStreamAddCallback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_114cudaStreamAddCallback[] = "cudaStreamAddCallback(stream, 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 cudaStreamAddCallback\n    call, a 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:`~.cudaSuccess` or an error code. In\n    the event of a device error, all subsequently executed callbacks will\n    receive an appropriate :py:obj:`~.cudaError_t`.\n\n    Callbacks must not make any CUDA API calls. Attempting to use CUDA APIs\n    may result in :py:obj:`~.cudaErrorNotPermitted`. Callbacks must not\n    perform any synchronization that may depend on outstanding device work\n    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 callbacks have executed. Thus,\n      for example, a callback might use global attached memory even if work\n      has been added to another stream, if it has been properly ordered\n      with an event.\n\n    - Completion of a callback does not cause a stream to become active\n      except as described above. The callback stream will remai""n 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    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to add callback to\n    callback : :py:obj:`~.cudaStreamCallback_t`\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorNotSupported`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cudaMallocManaged`, :py:obj:`~.cudaStreamAttachMemAsync`, :py:obj:`~.cudaLaunchHostFunc`, :py:obj:`~.cuStreamAddCallback`\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:`~.cudaLaunchHostFunc`. Additionally, this function is not supported with :py:obj:`~.cudaStreamBeginCapture` and :py:obj:`~.cudaStreamEndCapture`, unlike :py:obj:`~.cudaLaunchHostFunc`.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_115cudaStreamAddCallback = {"cudaStreamAddCallback", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_115cudaStreamAddCallback, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_114cudaStreamAddCallback};
static PyObject *__pyx_pw_4cuda_6cudart_115cudaStreamAddCallback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_v_userData = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamAddCallback (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_callback,&__pyx_n_s_userData_2,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamAddCallback", 1, 4, 4, 1); __PYX_ERR(0, 11933, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_userData_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamAddCallback", 1, 4, 4, 2); __PYX_ERR(0, 11933, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamAddCallback", 1, 4, 4, 3); __PYX_ERR(0, 11933, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamAddCallback") < 0)) __PYX_ERR(0, 11933, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_stream = 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(0, 11933, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamAddCallback", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11933, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAddCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_114cudaStreamAddCallback(__pyx_self, __pyx_v_stream, __pyx_v_callback, __pyx_v_userData, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_114cudaStreamAddCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_callback, PyObject *__pyx_v_userData, unsigned int __pyx_v_flags) {
  cudaStreamCallback_t __pyx_v_ccallback;
  PyObject *__pyx_v_pcallback = NULL;
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cuserData = NULL;
  void *__pyx_v_cuserData_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__474)
  __Pyx_RefNannySetupContext("cudaStreamAddCallback", 0);
  __Pyx_TraceCall("cudaStreamAddCallback", __pyx_f[0], 11933, 0, __PYX_ERR(0, 11933, __pyx_L1_error));

  /* "cuda/cudart.pyx":12002
 *     """
 *     cdef ccudart.cudaStreamCallback_t ccallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>0
 *     elif isinstance(callback, (cudaStreamCallback_t)):
 */
  __pyx_t_1 = (__pyx_v_callback == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12003
 *     cdef ccudart.cudaStreamCallback_t ccallback
 *     if callback is None:
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(callback, (cudaStreamCallback_t)):
 *         pcallback = int(callback)
 */
    __pyx_v_ccallback = ((cudaStreamCallback_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12002
 *     """
 *     cdef ccudart.cudaStreamCallback_t ccallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>0
 *     elif isinstance(callback, (cudaStreamCallback_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12004
 *     if callback is None:
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>0
 *     elif isinstance(callback, (cudaStreamCallback_t)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>pcallback
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_callback, __pyx_ptype_4cuda_6cudart_cudaStreamCallback_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12005
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>0
 *     elif isinstance(callback, (cudaStreamCallback_t)):
 *         pcallback = int(callback)             # <<<<<<<<<<<<<<
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>pcallback
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pcallback = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":12006
 *     elif isinstance(callback, (cudaStreamCallback_t)):
 *         pcallback = int(callback)
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     else:
 *         pcallback = int(cudaStreamCallback_t(callback))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12006, __pyx_L1_error)
    __pyx_v_ccallback = ((cudaStreamCallback_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":12004
 *     if callback is None:
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>0
 *     elif isinstance(callback, (cudaStreamCallback_t)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>pcallback
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12008
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>pcallback
 *     else:
 *         pcallback = int(cudaStreamCallback_t(callback))             # <<<<<<<<<<<<<<
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>pcallback
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStreamCallback_t), __pyx_v_callback); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pcallback = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":12009
 *     else:
 *         pcallback = int(cudaStreamCallback_t(callback))
 *         ccallback = <ccudart.cudaStreamCallback_t><void_ptr>pcallback             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStream_t cstream
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12009, __pyx_L1_error)
    __pyx_v_ccallback = ((cudaStreamCallback_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12012
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12013
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12012
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":12014
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (!__pyx_t_6) {
  } else {
    __pyx_t_2 = __pyx_t_6;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_6 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L5_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12015
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_pstream = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":12016
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(stream))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12016, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":12014
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":12018
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pstream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":12019
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12019, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":12021
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_cuserData = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12022
 * 
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaStreamAddCallback(cstream, ccallback, cuserData_ptr, flags)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cuserData_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

  /* "cuda/cudart.pyx":12023
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamAddCallback(cstream, ccallback, cuserData_ptr, flags)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":12024
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 *         err = ccudart.cudaStreamAddCallback(cstream, ccallback, cuserData_ptr, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamAddCallback(__pyx_v_cstream, __pyx_v_ccallback, __pyx_v_cuserData_ptr, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12024, __pyx_L8_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":12023
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamAddCallback(cstream, ccallback, cuserData_ptr, flags)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/cudart.pyx":12025
 *     with nogil:
 *         err = ccudart.cudaStreamAddCallback(cstream, ccallback, cuserData_ptr, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11933
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAddCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallback);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12028
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSynchronize(stream):             # <<<<<<<<<<<<<<
 *     """ Waits for stream tasks to complete.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_117cudaStreamSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_116cudaStreamSynchronize[] = "cudaStreamSynchronize(stream)\n Waits for stream tasks to complete.\n\n    Blocks until `stream` has completed all operations. If the\n    :py:obj:`~.cudaDeviceScheduleBlockingSync` flag was set for this\n    device, the host thread will block until the stream is finished with\n    all of its tasks.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamSynchronize`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_117cudaStreamSynchronize = {"cudaStreamSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_117cudaStreamSynchronize, METH_O, __pyx_doc_4cuda_6cudart_116cudaStreamSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_117cudaStreamSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_116cudaStreamSynchronize(__pyx_self, ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_116cudaStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__475)
  __Pyx_RefNannySetupContext("cudaStreamSynchronize", 0);
  __Pyx_TraceCall("cudaStreamSynchronize", __pyx_f[0], 12028, 0, __PYX_ERR(0, 12028, __pyx_L1_error));

  /* "cuda/cudart.pyx":12051
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12052
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12051
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12053
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12054
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12055
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12055, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12053
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12057
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12058
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
 */
    __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(0, 12058, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12060
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamSynchronize(cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":12061
 * 
 *     with nogil:
 *         err = ccudart.cudaStreamSynchronize(cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamSynchronize(__pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12061, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":12060
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamSynchronize(cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":12062
 *     with nogil:
 *         err = ccudart.cudaStreamSynchronize(cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12028
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSynchronize(stream):             # <<<<<<<<<<<<<<
 *     """ Waits for stream tasks to complete.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12065
 * 
 * @cython.embedsignature(True)
 * def cudaStreamQuery(stream):             # <<<<<<<<<<<<<<
 *     """ Queries an asynchronous stream for completion status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_119cudaStreamQuery(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_118cudaStreamQuery[] = "cudaStreamQuery(stream)\n Queries an asynchronous stream for completion status.\n\n    Returns :py:obj:`~.cudaSuccess` if all operations in `stream` have\n    completed, or :py:obj:`~.cudaErrorNotReady` if not.\n\n    For the purposes of Unified Memory, a return value of\n    :py:obj:`~.cudaSuccess` is equivalent to having called\n    :py:obj:`~.cudaStreamSynchronize()`.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorNotReady`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cuStreamQuery`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_119cudaStreamQuery = {"cudaStreamQuery", (PyCFunction)__pyx_pw_4cuda_6cudart_119cudaStreamQuery, METH_O, __pyx_doc_4cuda_6cudart_118cudaStreamQuery};
static PyObject *__pyx_pw_4cuda_6cudart_119cudaStreamQuery(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamQuery (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_118cudaStreamQuery(__pyx_self, ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_118cudaStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__476)
  __Pyx_RefNannySetupContext("cudaStreamQuery", 0);
  __Pyx_TraceCall("cudaStreamQuery", __pyx_f[0], 12065, 0, __PYX_ERR(0, 12065, __pyx_L1_error));

  /* "cuda/cudart.pyx":12090
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12091
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12090
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12092
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12093
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12094
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12094, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12092
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12096
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12097
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaStreamQuery(cstream)
 */
    __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(0, 12097, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12099
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     err = ccudart.cudaStreamQuery(cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamQuery(__pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12099, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12100
 * 
 *     err = ccudart.cudaStreamQuery(cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12065
 * 
 * @cython.embedsignature(True)
 * def cudaStreamQuery(stream):             # <<<<<<<<<<<<<<
 *     """ Queries an asynchronous stream for completion status.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12103
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAttachMemAsync(stream, devPtr, size_t length, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Attach memory to a stream asynchronously.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_121cudaStreamAttachMemAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_120cudaStreamAttachMemAsync[] = "cudaStreamAttachMemAsync(stream, devPtr, size_t length, unsigned int flags)\n Attach memory to a stream asynchronously.\n\n    Enqueues an operation in `stream` to specify stream association of\n    `length` bytes of memory starting from `devPtr`. 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    `devPtr` must point to an one of the following types of memories:\n\n    - managed memory declared using the managed keyword or allocated with\n      :py:obj:`~.cudaMallocManaged`.\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:`~.cudaDevAttrPageableMemoryAccess`.\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 allocations, `length` must be non-zero.\n\n    The stream association is specified using `flags` which must be one of\n    :py:obj:`~.cudaMemAttachGlobal`, :py:obj:`~.cudaMemAttachHost` or\n    :py:obj:`~.cudaMemAttachSingle`. The default value for `flags` is\n    :py:obj:`~.cudaMemAttachSingle` If the :py:obj:`~.cudaMemAttachGlobal`\n    flag is specified, the memory can be accessed by any stream on any\n    device. If the :py:obj:`~.cudaMemAttachHost` 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:`~.cudaDevAttrConcurrentManagedAccess`. If the\n    :py:obj:`~.cudaMemAttachSingle` flag is specified and `stream`"" is\n    associated with a device that has a zero value for the device attribute\n    :py:obj:`~.cudaDevAttrConcurrentManagedAccess`, the program makes a\n    guarantee that it will only access the memory on the device from\n    `stream`. It is illegal to attach singly to the NULL stream, because\n    the NULL stream is a virtual global stream and not a specific stream.\n    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 `stream` 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:`~.cudaStreamAttachMemAsync` via events, synchronization or\n    other means to ensure legal access to memory at all times. Data\n    visibility and coherency will be changed appropriately for all kernels\n    which follow a stream-association change.\n\n    If `stream` 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:`~.cudaMallocManaged`. For managed variables, the default\n    association is always :py:obj:`~.cudaMemAttachGlobal`. 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    stream : :py:obj:`~.CUstream` or :py:obj:`~.cuda""Stream_t`\n        Stream in which to enqueue the attach operation\n    devPtr : Any\n        Pointer to memory (must be a pointer to managed memory or to a\n        valid host-accessible region of system-allocated memory)\n    length : size_t\n        Length of memory (defaults to zero)\n    flags : unsigned int\n        Must be one of :py:obj:`~.cudaMemAttachGlobal`,\n        :py:obj:`~.cudaMemAttachHost` or :py:obj:`~.cudaMemAttachSingle`\n        (defaults to :py:obj:`~.cudaMemAttachSingle`)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorNotReady`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cudaMallocManaged`, :py:obj:`~.cuStreamAttachMemAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_121cudaStreamAttachMemAsync = {"cudaStreamAttachMemAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_121cudaStreamAttachMemAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_120cudaStreamAttachMemAsync};
static PyObject *__pyx_pw_4cuda_6cudart_121cudaStreamAttachMemAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_length;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamAttachMemAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_devPtr_2,&__pyx_n_s_length,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamAttachMemAsync", 1, 4, 4, 1); __PYX_ERR(0, 12103, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_length)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamAttachMemAsync", 1, 4, 4, 2); __PYX_ERR(0, 12103, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamAttachMemAsync", 1, 4, 4, 3); __PYX_ERR(0, 12103, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamAttachMemAsync") < 0)) __PYX_ERR(0, 12103, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_stream = values[0];
    __pyx_v_devPtr = values[1];
    __pyx_v_length = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_length == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12103, __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(0, 12103, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamAttachMemAsync", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12103, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttachMemAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_120cudaStreamAttachMemAsync(__pyx_self, __pyx_v_stream, __pyx_v_devPtr, __pyx_v_length, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_120cudaStreamAttachMemAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_devPtr, size_t __pyx_v_length, unsigned int __pyx_v_flags) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__477)
  __Pyx_RefNannySetupContext("cudaStreamAttachMemAsync", 0);
  __Pyx_TraceCall("cudaStreamAttachMemAsync", __pyx_f[0], 12103, 0, __PYX_ERR(0, 12103, __pyx_L1_error));

  /* "cuda/cudart.pyx":12197
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12198
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12197
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12199
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12200
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12201
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12201, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12199
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12203
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12204
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
    __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(0, 12204, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12206
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaStreamAttachMemAsync(cstream, cdevPtr_ptr, length, flags)
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdevPtr = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":12207
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamAttachMemAsync(cstream, cdevPtr_ptr, length, flags)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":12208
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaStreamAttachMemAsync(cstream, cdevPtr_ptr, length, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamAttachMemAsync(__pyx_v_cstream, __pyx_v_cdevPtr_ptr, __pyx_v_length, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12208, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12209
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaStreamAttachMemAsync(cstream, cdevPtr_ptr, length, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12103
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAttachMemAsync(stream, devPtr, size_t length, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Attach memory to a stream asynchronously.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttachMemAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12212
 * 
 * @cython.embedsignature(True)
 * def cudaStreamBeginCapture(stream, mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Begins graph capture on a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_123cudaStreamBeginCapture(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_122cudaStreamBeginCapture[] = "cudaStreamBeginCapture(stream, mode: cudaStreamCaptureMode)\n Begins graph capture on a stream.\n\n    Begin graph capture on `stream`. 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:`~.cudaStreamEndCapture`. Capture may not be initiated if\n    `stream` is :py:obj:`~.cudaStreamLegacy`. Capture must be ended on the\n    same stream in which it was initiated, and it may only be initiated if\n    the stream is not already in capture mode. The capture mode may be\n    queried via :py:obj:`~.cudaStreamIsCapturing`. A unique id representing\n    the capture sequence may be queried via\n    :py:obj:`~.cudaStreamGetCaptureInfo`.\n\n    If `mode` is not :py:obj:`~.cudaStreamCaptureModeRelaxed`,\n    :py:obj:`~.cudaStreamEndCapture` must be called on this stream from the\n    same thread.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to initiate capture\n    mode : :py:obj:`~.cudaStreamCaptureMode`\n        Controls the interaction of this capture sequence with other API\n        calls that are potentially unsafe. For more details see\n        :py:obj:`~.cudaThreadExchangeStreamCaptureMode`.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamIsCapturing`, :py:obj:`~.cudaStreamEndCapture`, :py:obj:`~.cudaThreadExchangeStreamCaptureMode`\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_6cudart_123cudaStreamBeginCapture = {"cudaStreamBeginCapture", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_123cudaStreamBeginCapture, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_122cudaStreamBeginCapture};
static PyObject *__pyx_pw_4cuda_6cudart_123cudaStreamBeginCapture(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_mode = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamBeginCapture (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_mode,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamBeginCapture", 1, 2, 2, 1); __PYX_ERR(0, 12212, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamBeginCapture") < 0)) __PYX_ERR(0, 12212, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_stream = values[0];
    __pyx_v_mode = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamBeginCapture", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12212, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamBeginCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_mode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mode"); __PYX_ERR(0, 12212, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_122cudaStreamBeginCapture(__pyx_self, __pyx_v_stream, __pyx_v_mode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_122cudaStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_mode) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  enum cudaStreamCaptureMode __pyx_v_cmode;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaStreamCaptureMode __pyx_t_7;
  cudaError_t __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__478)
  __Pyx_RefNannySetupContext("cudaStreamBeginCapture", 0);
  __Pyx_TraceCall("cudaStreamBeginCapture", __pyx_f[0], 12212, 0, __PYX_ERR(0, 12212, __pyx_L1_error));

  /* "cuda/cudart.pyx":12253
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12254
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12253
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12255
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12256
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12257
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12257, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12255
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12259
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12260
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 */
    __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(0, 12260, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12262
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamBeginCapture(cstream, cmode)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum cudaStreamCaptureMode)__Pyx_PyInt_As_enum__cudaStreamCaptureMode(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cmode = __pyx_t_7;

  /* "cuda/cudart.pyx":12263
 * 
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 *     err = ccudart.cudaStreamBeginCapture(cstream, cmode)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaStreamBeginCapture(__pyx_v_cstream, __pyx_v_cmode); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12263, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":12264
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 *     err = ccudart.cudaStreamBeginCapture(cstream, cmode)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12212
 * 
 * @cython.embedsignature(True)
 * def cudaStreamBeginCapture(stream, mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Begins graph capture on a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamBeginCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12267
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExchangeStreamCaptureMode(mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Swaps the stream capture interaction mode for a thread.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_125cudaThreadExchangeStreamCaptureMode(PyObject *__pyx_self, PyObject *__pyx_v_mode); /*proto*/
static char __pyx_doc_4cuda_6cudart_124cudaThreadExchangeStreamCaptureMode[] = "cudaThreadExchangeStreamCaptureMode(mode: cudaStreamCaptureMode)\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:`~.cudaStreamBeginCapture`), 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:`~.cudaStreamBeginCapture` 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:`~.cudaStreamBeginCapture`-:py:obj:`~.cudaStreamEndCapture`\n    sequence. This behavior can be controlled via this API and flags to\n    :py:obj:`~.cudaStreamBeginCapture`.\n\n    A thread's mode is one of the following:\n\n    - `cudaStreamCaptureModeGlobal:` This is the default mode. If the local\n      thread has an ongoing capture sequence that was not initiated with\n      `cudaStreamCaptureModeRelaxed` at `cuStreamBeginCapture`, or if any\n      other thread has a concurrent capture sequence initiated with\n      `cudaStreamCaptureModeGlobal`, this thread is prohibited from\n      potentially unsafe API calls.\n\n    - `cudaStreamCaptureModeThreadLocal:` If the local thread has an\n      ongoing capture sequence not initiated with\n      `cudaStreamCaptureModeRelaxed`, it is prohibited from potentially\n      unsafe API calls. Conc""urrent capture sequences in other threads are\n      ignored.\n\n    - `cudaStreamCaptureModeRelaxed:` 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:`~.cudaEventQuery` on an\n      event that was last recorded inside a capture sequence.\n\n    Parameters\n    ----------\n    mode : :py:obj:`~.cudaStreamCaptureMode`\n        Pointer to mode value to swap with the current mode\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    mode : :py:obj:`~.cudaStreamCaptureMode`\n        Pointer to mode value to swap with the current mode\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamBeginCapture`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_125cudaThreadExchangeStreamCaptureMode = {"cudaThreadExchangeStreamCaptureMode", (PyCFunction)__pyx_pw_4cuda_6cudart_125cudaThreadExchangeStreamCaptureMode, METH_O, __pyx_doc_4cuda_6cudart_124cudaThreadExchangeStreamCaptureMode};
static PyObject *__pyx_pw_4cuda_6cudart_125cudaThreadExchangeStreamCaptureMode(PyObject *__pyx_self, PyObject *__pyx_v_mode) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadExchangeStreamCaptureMode (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_mode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mode"); __PYX_ERR(0, 12267, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_124cudaThreadExchangeStreamCaptureMode(__pyx_self, ((PyObject *)__pyx_v_mode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_124cudaThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode) {
  enum cudaStreamCaptureMode __pyx_v_cmode;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaStreamCaptureMode __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__479)
  __Pyx_RefNannySetupContext("cudaThreadExchangeStreamCaptureMode", 0);
  __Pyx_TraceCall("cudaThreadExchangeStreamCaptureMode", __pyx_f[0], 12267, 0, __PYX_ERR(0, 12267, __pyx_L1_error));

  /* "cuda/cudart.pyx":12330
 *     :py:obj:`~.cudaStreamBeginCapture`
 *     """
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaThreadExchangeStreamCaptureMode(&cmode)
 *     return (cudaError_t(err), cudaStreamCaptureMode(cmode))
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaStreamCaptureMode)__Pyx_PyInt_As_enum__cudaStreamCaptureMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cmode = __pyx_t_2;

  /* "cuda/cudart.pyx":12331
 *     """
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 *     err = ccudart.cudaThreadExchangeStreamCaptureMode(&cmode)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaStreamCaptureMode(cmode))
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaThreadExchangeStreamCaptureMode((&__pyx_v_cmode)); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12331, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":12332
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 *     err = ccudart.cudaThreadExchangeStreamCaptureMode(&cmode)
 *     return (cudaError_t(err), cudaStreamCaptureMode(cmode))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 12332, __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_cudaStreamCaptureMode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaStreamCaptureMode(__pyx_v_cmode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __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(0, 12332, __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(0, 12332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12267
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExchangeStreamCaptureMode(mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ 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_7);
  __Pyx_AddTraceback("cuda.cudart.cudaThreadExchangeStreamCaptureMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12335
 * 
 * @cython.embedsignature(True)
 * def cudaStreamEndCapture(stream):             # <<<<<<<<<<<<<<
 *     """ Ends capture on a stream, returning the captured graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_127cudaStreamEndCapture(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_126cudaStreamEndCapture[] = "cudaStreamEndCapture(stream)\n Ends capture on a stream, returning the captured graph.\n\n    End capture on `stream`, returning the captured graph via `pGraph`.\n    Capture must have been initiated on `stream` via a call to\n    :py:obj:`~.cudaStreamBeginCapture`. If capture was invalidated, due to\n    a violation of the rules of stream capture, then a NULL graph will be\n    returned.\n\n    If the `mode` argument to :py:obj:`~.cudaStreamBeginCapture` was not\n    :py:obj:`~.cudaStreamCaptureModeRelaxed`, this call must be from the\n    same thread as :py:obj:`~.cudaStreamBeginCapture`.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorStreamCaptureWrongThread`\n    pGraph : :py:obj:`~.cudaGraph_t`\n        The captured graph\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamBeginCapture`, :py:obj:`~.cudaStreamIsCapturing`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_127cudaStreamEndCapture = {"cudaStreamEndCapture", (PyCFunction)__pyx_pw_4cuda_6cudart_127cudaStreamEndCapture, METH_O, __pyx_doc_4cuda_6cudart_126cudaStreamEndCapture};
static PyObject *__pyx_pw_4cuda_6cudart_127cudaStreamEndCapture(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamEndCapture (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_126cudaStreamEndCapture(__pyx_self, ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_126cudaStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraph = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__480)
  __Pyx_RefNannySetupContext("cudaStreamEndCapture", 0);
  __Pyx_TraceCall("cudaStreamEndCapture", __pyx_f[0], 12335, 0, __PYX_ERR(0, 12335, __pyx_L1_error));

  /* "cuda/cudart.pyx":12365
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12366
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12365
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12367
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12368
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12369
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12369, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12367
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12371
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12372
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 */
    __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(0, 12372, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12374
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdef cudaGraph_t pGraph = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamEndCapture(cstream, <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraph = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":12375
 * 
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaStreamEndCapture(cstream, <ccudart.cudaGraph_t*>pGraph._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraph)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamEndCapture(__pyx_v_cstream, ((cudaGraph_t *)__pyx_v_pGraph->__pyx_base._ptr)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12375, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12376
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaStreamEndCapture(cstream, <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraph));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraph));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pGraph));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12335
 * 
 * @cython.embedsignature(True)
 * def cudaStreamEndCapture(stream):             # <<<<<<<<<<<<<<
 *     """ Ends capture on a stream, returning the captured graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamEndCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12379
 * 
 * @cython.embedsignature(True)
 * def cudaStreamIsCapturing(stream):             # <<<<<<<<<<<<<<
 *     """ Returns a stream's capture status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_129cudaStreamIsCapturing(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_128cudaStreamIsCapturing[] = "cudaStreamIsCapturing(stream)\n Returns a stream's capture status.\n\n    Return the capture status of `stream` via `pCaptureStatus`. After a\n    successful call, `*pCaptureStatus` will contain one of the following:\n\n    - :py:obj:`~.cudaStreamCaptureStatusNone`: The stream is not capturing.\n\n    - :py:obj:`~.cudaStreamCaptureStatusActive`: The stream is capturing.\n\n    - :py:obj:`~.cudaStreamCaptureStatusInvalidated`: The stream was\n      capturing but an error has invalidated the capture sequence. The\n      capture sequence must be terminated with\n      :py:obj:`~.cudaStreamEndCapture` on the stream where it was initiated\n      in order to continue using `stream`.\n\n    Note that, if this is called on :py:obj:`~.cudaStreamLegacy` (the \"null\n    stream\") while a blocking stream on the same device is capturing, it\n    will return :py:obj:`~.cudaErrorStreamCaptureImplicit` and\n    `*pCaptureStatus` 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    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorStreamCaptureImplicit`\n    pCaptureStatus : :py:obj:`~.cudaStreamCaptureStatus`\n        Returns the stream's capture status\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamBeginCapture`, :py:obj:`~.cudaStreamEndCapture`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_129cudaStreamIsCapturing = {"cudaStreamIsCapturing", (PyCFunction)__pyx_pw_4cuda_6cudart_129cudaStreamIsCapturing, METH_O, __pyx_doc_4cuda_6cudart_128cudaStreamIsCapturing};
static PyObject *__pyx_pw_4cuda_6cudart_129cudaStreamIsCapturing(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamIsCapturing (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_128cudaStreamIsCapturing(__pyx_self, ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_128cudaStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  enum cudaStreamCaptureStatus __pyx_v_pCaptureStatus;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __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_TraceFrameInit(__pyx_codeobj__481)
  __Pyx_RefNannySetupContext("cudaStreamIsCapturing", 0);
  __Pyx_TraceCall("cudaStreamIsCapturing", __pyx_f[0], 12379, 0, __PYX_ERR(0, 12379, __pyx_L1_error));

  /* "cuda/cudart.pyx":12423
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12424
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12423
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12425
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12426
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12427
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12427, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12425
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12429
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12430
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 */
    __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(0, 12430, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12433
 * 
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     err = ccudart.cudaStreamIsCapturing(cstream, &pCaptureStatus)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus))
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamIsCapturing(__pyx_v_cstream, (&__pyx_v_pCaptureStatus)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12433, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12434
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     err = ccudart.cudaStreamIsCapturing(cstream, &pCaptureStatus)
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaStreamCaptureStatus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(__pyx_v_pCaptureStatus); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12379
 * 
 * @cython.embedsignature(True)
 * def cudaStreamIsCapturing(stream):             # <<<<<<<<<<<<<<
 *     """ Returns a stream's capture status.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamIsCapturing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12437
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo(stream):             # <<<<<<<<<<<<<<
 *     """ Query capture status of a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_131cudaStreamGetCaptureInfo(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_130cudaStreamGetCaptureInfo[] = "cudaStreamGetCaptureInfo(stream)\n Query capture status of a stream.\n\n    Note there is a later version of this API,\n    :py:obj:`~.cudaStreamGetCaptureInfo_v2`. It will supplant this version\n    in 12.0, which is retained for minor version compatibility.\n\n    Query the capture status of a stream and get a unique id representing\n    the capture sequence over the lifetime of the process.\n\n    If called on :py:obj:`~.cudaStreamLegacy` (the \"null stream\") while a\n    stream not created with :py:obj:`~.cudaStreamNonBlocking` is capturing,\n    returns :py:obj:`~.cudaErrorStreamCaptureImplicit`.\n\n    A valid id is returned only if both of the following are true:\n\n    - the call returns :py:obj:`~.cudaSuccess`\n\n    - captureStatus is set to :py:obj:`~.cudaStreamCaptureStatusActive`\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorStreamCaptureImplicit`\n    pCaptureStatus : :py:obj:`~.cudaStreamCaptureStatus`\n        Returns the stream's capture status\n    pId : unsigned long long\n        Returns the unique id of the capture sequence\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamGetCaptureInfo_v2`, :py:obj:`~.cudaStreamBeginCapture`, :py:obj:`~.cudaStreamIsCapturing`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_131cudaStreamGetCaptureInfo = {"cudaStreamGetCaptureInfo", (PyCFunction)__pyx_pw_4cuda_6cudart_131cudaStreamGetCaptureInfo, METH_O, __pyx_doc_4cuda_6cudart_130cudaStreamGetCaptureInfo};
static PyObject *__pyx_pw_4cuda_6cudart_131cudaStreamGetCaptureInfo(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetCaptureInfo (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_130cudaStreamGetCaptureInfo(__pyx_self, ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_130cudaStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  enum cudaStreamCaptureStatus __pyx_v_pCaptureStatus;
  unsigned PY_LONG_LONG __pyx_v_pId;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __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_TraceFrameInit(__pyx_codeobj__482)
  __Pyx_RefNannySetupContext("cudaStreamGetCaptureInfo", 0);
  __Pyx_TraceCall("cudaStreamGetCaptureInfo", __pyx_f[0], 12437, 0, __PYX_ERR(0, 12437, __pyx_L1_error));

  /* "cuda/cudart.pyx":12476
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12477
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12476
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12478
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12479
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12480
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12480, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12478
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12482
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12483
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 */
    __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(0, 12483, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12486
 * 
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     cdef unsigned long long pId = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetCaptureInfo(cstream, &pCaptureStatus, &pId)
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus), pId)
 */
  __pyx_v_pId = 0;

  /* "cuda/cudart.pyx":12487
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     cdef unsigned long long pId = 0
 *     err = ccudart.cudaStreamGetCaptureInfo(cstream, &pCaptureStatus, &pId)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus), pId)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo(__pyx_v_cstream, (&__pyx_v_pCaptureStatus), (&__pyx_v_pId)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12487, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12488
 *     cdef unsigned long long pId = 0
 *     err = ccudart.cudaStreamGetCaptureInfo(cstream, &pCaptureStatus, &pId)
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus), pId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaStreamCaptureStatus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(__pyx_v_pCaptureStatus); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_pId); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12437
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo(stream):             # <<<<<<<<<<<<<<
 *     """ Query capture status of a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetCaptureInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo_v2(stream):             # <<<<<<<<<<<<<<
 *     """ Query a stream's capture state (11.3+)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_133cudaStreamGetCaptureInfo_v2(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_132cudaStreamGetCaptureInfo_v2[] = "cudaStreamGetCaptureInfo_v2(stream)\n Query a stream's capture state (11.3+)\n\n    Query stream state related to stream capture.\n\n    If called on :py:obj:`~.cudaStreamLegacy` (the \"null stream\") while a\n    stream not created with :py:obj:`~.cudaStreamNonBlocking` is capturing,\n    returns :py:obj:`~.cudaErrorStreamCaptureImplicit`.\n\n    Valid data (other than capture status) is returned only if both of the\n    following are true:\n\n    - the call returns cudaSuccess\n\n    - the returned capture status is\n      :py:obj:`~.cudaStreamCaptureStatusActive`\n\n    This version of cudaStreamGetCaptureInfo is introduced in CUDA 11.3 and\n    will supplant the previous version :py:obj:`~.cudaStreamGetCaptureInfo`\n    in 12.0. Developers requiring compatibility across minor versions to\n    CUDA 11.0 (driver version 445) can do one of the following:\n\n    - Use the older version of the API,\n      :py:obj:`~.cudaStreamGetCaptureInfo`\n\n    - Pass null for all of `graph_out`, `dependencies_out`, and\n      `numDependencies_out`.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorStreamCaptureImplicit`\n    captureStatus_out : :py:obj:`~.cudaStreamCaptureStatus`\n        Location to return the capture status of the stream; required\n    id_out : unsigned long long\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:`~.cudaGraph_t`\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:`~.cudaStre""amEndCapture`. 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:`~.cudaStreamEndCapture` due to direct actions on the graph\n        do not trigger :py:obj:`~.cudaErrorStreamCaptureUnjoined`.\n    dependencies_out : List[:py:obj:`~.cudaGraphNode_t`]\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 end of capture. The node handles may be copied\n        out and are valid until they or the graph is destroyed. The driver-\n        owned array may also be passed directly to APIs that operate on the\n        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:`~.cudaStreamGetCaptureInfo`, :py:obj:`~.cudaStreamBeginCapture`, :py:obj:`~.cudaStreamIsCapturing`, :py:obj:`~.cudaStreamUpdateCaptureDependencies`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_133cudaStreamGetCaptureInfo_v2 = {"cudaStreamGetCaptureInfo_v2", (PyCFunction)__pyx_pw_4cuda_6cudart_133cudaStreamGetCaptureInfo_v2, METH_O, __pyx_doc_4cuda_6cudart_132cudaStreamGetCaptureInfo_v2};
static PyObject *__pyx_pw_4cuda_6cudart_133cudaStreamGetCaptureInfo_v2(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetCaptureInfo_v2 (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_132cudaStreamGetCaptureInfo_v2(__pyx_self, ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_132cudaStreamGetCaptureInfo_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  enum cudaStreamCaptureStatus __pyx_v_captureStatus_out;
  unsigned PY_LONG_LONG __pyx_v_id_out;
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_graph_out = 0;
  cudaGraphNode_t const *__pyx_v_cdependencies_out;
  PyObject *__pyx_v_pydependencies_out = NULL;
  size_t __pyx_v_numDependencies_out;
  cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr65__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __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__483)
  __Pyx_RefNannySetupContext("cudaStreamGetCaptureInfo_v2", 0);
  __Pyx_TraceCall("cudaStreamGetCaptureInfo_v2", __pyx_f[0], 12491, 0, __PYX_ERR(0, 12491, __pyx_L1_error));

  /* "cuda/cudart.pyx":12561
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12562
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12561
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12563
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12564
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12565
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12565, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12563
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12567
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12568
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStreamCaptureStatus captureStatus_out
 */
    __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(0, 12568, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12571
 * 
 *     cdef ccudart.cudaStreamCaptureStatus captureStatus_out
 *     cdef unsigned long long id_out = 0             # <<<<<<<<<<<<<<
 *     cdef cudaGraph_t graph_out = cudaGraph_t()
 *     cdef const ccudart.cudaGraphNode_t* cdependencies_out = NULL
 */
  __pyx_v_id_out = 0;

  /* "cuda/cudart.pyx":12572
 *     cdef ccudart.cudaStreamCaptureStatus captureStatus_out
 *     cdef unsigned long long id_out = 0
 *     cdef cudaGraph_t graph_out = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     cdef const ccudart.cudaGraphNode_t* cdependencies_out = NULL
 *     pydependencies_out = []
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_graph_out = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":12573
 *     cdef unsigned long long id_out = 0
 *     cdef cudaGraph_t graph_out = cudaGraph_t()
 *     cdef const ccudart.cudaGraphNode_t* cdependencies_out = NULL             # <<<<<<<<<<<<<<
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
 */
  __pyx_v_cdependencies_out = NULL;

  /* "cuda/cudart.pyx":12574
 *     cdef cudaGraph_t graph_out = cudaGraph_t()
 *     cdef const ccudart.cudaGraphNode_t* cdependencies_out = NULL
 *     pydependencies_out = []             # <<<<<<<<<<<<<<
 *     cdef size_t numDependencies_out = 0
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(cstream, &captureStatus_out, &id_out, <ccudart.cudaGraph_t*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 */
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pydependencies_out = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":12575
 *     cdef const ccudart.cudaGraphNode_t* cdependencies_out = NULL
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(cstream, &captureStatus_out, &id_out, <ccudart.cudaGraph_t*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if cudaError_t(err) == cudaError_t(0):
 */
  __pyx_v_numDependencies_out = 0;

  /* "cuda/cudart.pyx":12576
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(cstream, &captureStatus_out, &id_out, <ccudart.cudaGraph_t*>graph_out._ptr, &cdependencies_out, &numDependencies_out)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pydependencies_out = [cudaGraphNode_t(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo_v2(__pyx_v_cstream, (&__pyx_v_captureStatus_out), (&__pyx_v_id_out), ((cudaGraph_t *)__pyx_v_graph_out->__pyx_base._ptr), (&__pyx_v_cdependencies_out), (&__pyx_v_numDependencies_out)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12576, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12577
 *     cdef size_t numDependencies_out = 0
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(cstream, &captureStatus_out, &id_out, <ccudart.cudaGraph_t*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [cudaGraphNode_t(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     return (cudaError_t(err), cudaStreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12577, __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_8); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 12577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12578
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(cstream, &captureStatus_out, &id_out, <ccudart.cudaGraph_t*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pydependencies_out = [cudaGraphNode_t(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaStreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 */
    { /* enter inner scope */
      __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12578, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = __pyx_v_numDependencies_out;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_9genexpr65__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12578, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_6 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cdependencies_out[__pyx_9genexpr65__pyx_v_idx]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12578, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_6) < 0) __PYX_ERR(0, 12578, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12578, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 12578, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies_out, ((PyObject*)__pyx_t_8));
    __pyx_t_8 = 0;

    /* "cuda/cudart.pyx":12577
 *     cdef size_t numDependencies_out = 0
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(cstream, &captureStatus_out, &id_out, <ccudart.cudaGraph_t*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [cudaGraphNode_t(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     return (cudaError_t(err), cudaStreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 */
  }

  /* "cuda/cudart.pyx":12579
 *     if cudaError_t(err) == cudaError_t(0):
 *         pydependencies_out = [cudaGraphNode_t(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     return (cudaError_t(err), cudaStreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaStreamCaptureStatus); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(__pyx_v_captureStatus_out); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_id_out); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies_out); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_13 = PyTuple_New(6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_graph_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_graph_out));
  PyTuple_SET_ITEM(__pyx_t_13, 3, ((PyObject *)__pyx_v_graph_out));
  __Pyx_INCREF(__pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_v_pydependencies_out);
  PyTuple_SET_ITEM(__pyx_t_13, 4, __pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_t_9);
  PyTuple_SET_ITEM(__pyx_t_13, 5, __pyx_t_9);
  __pyx_t_8 = 0;
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_13;
  __pyx_t_13 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo_v2(stream):             # <<<<<<<<<<<<<<
 *     """ Query a stream's capture state (11.3+)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetCaptureInfo_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __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/cudart.pyx":12582
 * 
 * @cython.embedsignature(True)
 * def cudaStreamUpdateCaptureDependencies(stream, dependencies : List[cudaGraphNode_t], size_t numDependencies, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_135cudaStreamUpdateCaptureDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_134cudaStreamUpdateCaptureDependencies[] = "cudaStreamUpdateCaptureDependencies(stream, dependencies: List[cudaGraphNode_t], 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:`~.cudaStreamAddCaptureDependencies` and\n    :py:obj:`~.cudaStreamSetCaptureDependencies`. These control whether the\n    set passed to the API is added to the existing set or replaces it. A\n    flags value of 0 defaults to\n    :py:obj:`~.cudaStreamAddCaptureDependencies`.\n\n    Nodes that are removed from the dependency set via this API do not\n    result in :py:obj:`~.cudaErrorStreamCaptureUnjoined` if they are\n    unreachable from the stream at :py:obj:`~.cudaStreamEndCapture`.\n\n    Returns :py:obj:`~.cudaErrorIllegalState` if the stream is not\n    capturing.\n\n    This API is new in CUDA 11.3. Developers requiring compatibility across\n    minor versions of the CUDA driver to 11.0 should not use this API or\n    provide a fallback.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        None\n    dependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        None\n    numDependencies : size_t\n        None\n    flags : unsigned int\n        None\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorIllegalState`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamBeginCapture`, :py:obj:`~.cudaStreamGetCaptureInfo`, :py:obj:`~.cudaStreamGetCaptureInfo_v2`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_135cudaStreamUpdateCaptureDependencies = {"cudaStreamUpdateCaptureDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_135cudaStreamUpdateCaptureDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_134cudaStreamUpdateCaptureDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_135cudaStreamUpdateCaptureDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamUpdateCaptureDependencies (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamUpdateCaptureDependencies", 1, 4, 4, 1); __PYX_ERR(0, 12582, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamUpdateCaptureDependencies", 1, 4, 4, 2); __PYX_ERR(0, 12582, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamUpdateCaptureDependencies", 1, 4, 4, 3); __PYX_ERR(0, 12582, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaStreamUpdateCaptureDependencies") < 0)) __PYX_ERR(0, 12582, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_stream = values[0];
    __pyx_v_dependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 12582, __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(0, 12582, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaStreamUpdateCaptureDependencies", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12582, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamUpdateCaptureDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_134cudaStreamUpdateCaptureDependencies(__pyx_self, __pyx_v_stream, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":12627
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_1_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_1_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 12627, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaStreamUpdateCaptureDependenc, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 12627, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamUpdateCaptureDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 12627, 0, __PYX_ERR(0, 12627, __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(0, 12627, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dependencies)) { __Pyx_RaiseClosureNameError("dependencies"); __PYX_ERR(0, 12627, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_dependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12627, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 12627, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12627, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 12627, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12627, __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, 12627, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":12582
 * 
 * @cython.embedsignature(True)
 * def cudaStreamUpdateCaptureDependencies(stream, dependencies : List[cudaGraphNode_t], size_t numDependencies, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_134cudaStreamUpdateCaptureDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *__pyx_cur_scope;
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaGraphNode_t *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_2generator = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  cudaGraphNode_t *__pyx_t_11;
  cudaError_t __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__484)
  __Pyx_RefNannySetupContext("cudaStreamUpdateCaptureDependencies", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies(__pyx_ptype_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 12582, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaStreamUpdateCaptureDependencies", __pyx_f[0], 12582, 0, __PYX_ERR(0, 12582, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_dependencies = __pyx_v_dependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_dependencies);

  /* "cuda/cudart.pyx":12626
 *     :py:obj:`~.cudaStreamBeginCapture`, :py:obj:`~.cudaStreamGetCaptureInfo`, :py:obj:`~.cudaStreamGetCaptureInfo_v2`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_dependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_dependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_dependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_dependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12627
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 12627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":12628
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStream_t cstream
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__485, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 12628, __pyx_L1_error)

    /* "cuda/cudart.pyx":12627
 *     """
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in dependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":12631
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_4 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12632
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12631
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":12633
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":12634
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":12635
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(stream))
 */
    __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(0, 12635, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":12633
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":12637
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12637, __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/cudart.pyx":12638
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL
 */
    __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(0, 12638, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":12640
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccudart.cudaGraphNode_t*> calloc(len(dependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cudart.pyx":12641
 * 
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccudart.cudaGraphNode_t*> calloc(len(dependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cdependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_dependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":12642
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccudart.cudaGraphNode_t*> calloc(len(dependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_dependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12642, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cdependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":12643
 *     if len(dependencies) > 0:
 *         cdependencies = <ccudart.cudaGraphNode_t*> calloc(len(dependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cdependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":12644
 *         cdependencies = <ccudart.cudaGraphNode_t*> calloc(len(dependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_dependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12644, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12644, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12644, __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(0, 12644, __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(0, 12644, __pyx_L1_error)

      /* "cuda/cudart.pyx":12643
 *     if len(dependencies) > 0:
 *         cdependencies = <ccudart.cudaGraphNode_t*> calloc(len(dependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":12646
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>dependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_dependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12646, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":12647
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12647, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":12641
 * 
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccudart.cudaGraphNode_t*> calloc(len(dependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":12649
 *                 cdependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>dependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(cstream, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_dependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_dependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12649, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12649, __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(0, 12649, __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(0, 12649, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":12650
 * 
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(cstream, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_dependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaStreamUpdateCaptureDependencies(__pyx_v_cstream, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_flags); if (unlikely(__pyx_t_12 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12650, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":12651
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(cstream, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = ((__pyx_v_cdependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":12652
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(cstream, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cudart.pyx":12651
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(cstream, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":12653
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __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(0, 12653, __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(0, 12653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12582
 * 
 * @cython.embedsignature(True)
 * def cudaStreamUpdateCaptureDependencies(stream, dependencies : List[cudaGraphNode_t], 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_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamUpdateCaptureDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_2generator);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12656
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreate():             # <<<<<<<<<<<<<<
 *     """ Creates an event object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_137cudaEventCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_136cudaEventCreate[] = "cudaEventCreate()\n Creates an event object.\n\n    Creates an event object for the current device using\n    :py:obj:`~.cudaEventDefault`.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorLaunchFailure`, :py:obj:`~.cudaErrorMemoryAllocation`\n    event : :py:obj:`~.cudaEvent_t`\n        Newly created event\n\n    See Also\n    --------\n    cudaEventCreate (C++ API), :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cuEventCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_137cudaEventCreate = {"cudaEventCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_137cudaEventCreate, METH_NOARGS, __pyx_doc_4cuda_6cudart_136cudaEventCreate};
static PyObject *__pyx_pw_4cuda_6cudart_137cudaEventCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventCreate (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_136cudaEventCreate(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_136cudaEventCreate(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__487)
  __Pyx_RefNannySetupContext("cudaEventCreate", 0);
  __Pyx_TraceCall("cudaEventCreate", __pyx_f[0], 12656, 0, __PYX_ERR(0, 12656, __pyx_L1_error));

  /* "cuda/cudart.pyx":12673
 *     cudaEventCreate (C++ API), :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cuEventCreate`
 *     """
 *     cdef cudaEvent_t event = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventCreate(<ccudart.cudaEvent_t*>event._ptr)
 *     return (cudaError_t(err), event)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_event = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12674
 *     """
 *     cdef cudaEvent_t event = cudaEvent_t()
 *     err = ccudart.cudaEventCreate(<ccudart.cudaEvent_t*>event._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), event)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaEventCreate(((cudaEvent_t *)__pyx_v_event->__pyx_base._ptr)); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12674, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":12675
 *     cdef cudaEvent_t event = cudaEvent_t()
 *     err = ccudart.cudaEventCreate(<ccudart.cudaEvent_t*>event._ptr)
 *     return (cudaError_t(err), event)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12675, __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(0, 12675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_event));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_event));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_event));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12656
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreate():             # <<<<<<<<<<<<<<
 *     """ Creates an event object.
 * 
 */

  /* 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.cudart.cudaEventCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_event);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12678
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event object with the specified flags.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_139cudaEventCreateWithFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_138cudaEventCreateWithFlags[] = "cudaEventCreateWithFlags(unsigned int flags)\n Creates an event object with the specified flags.\n\n    Creates an event object for the current device with the specified\n    flags. Valid flags include:\n\n    - :py:obj:`~.cudaEventDefault`: Default event creation flag.\n\n    - :py:obj:`~.cudaEventBlockingSync`: Specifies that event should use\n      blocking synchronization. A host thread that uses\n      :py:obj:`~.cudaEventSynchronize()` to wait on an event created with\n      this flag will block until the event actually completes.\n\n    - :py:obj:`~.cudaEventDisableTiming`: Specifies that the created event\n      does not need to record timing data. Events created with this flag\n      specified and the :py:obj:`~.cudaEventBlockingSync` flag not\n      specified will provide the best performance when used with\n      :py:obj:`~.cudaStreamWaitEvent()` and :py:obj:`~.cudaEventQuery()`.\n\n    - :py:obj:`~.cudaEventInterprocess`: Specifies that the created event\n      may be used as an interprocess event by\n      :py:obj:`~.cudaIpcGetEventHandle()`.\n      :py:obj:`~.cudaEventInterprocess` must be specified along with\n      :py:obj:`~.cudaEventDisableTiming`.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Flags for new event\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorLaunchFailure`, :py:obj:`~.cudaErrorMemoryAllocation`\n    event : :py:obj:`~.cudaEvent_t`\n        Newly created event\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cuEventCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_139cudaEventCreateWithFlags = {"cudaEventCreateWithFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_139cudaEventCreateWithFlags, METH_O, __pyx_doc_4cuda_6cudart_138cudaEventCreateWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_139cudaEventCreateWithFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventCreateWithFlags (wrapper)", 0);
  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(0, 12678, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEventCreateWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_138cudaEventCreateWithFlags(__pyx_self, ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_138cudaEventCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__488)
  __Pyx_RefNannySetupContext("cudaEventCreateWithFlags", 0);
  __Pyx_TraceCall("cudaEventCreateWithFlags", __pyx_f[0], 12678, 0, __PYX_ERR(0, 12678, __pyx_L1_error));

  /* "cuda/cudart.pyx":12719
 *     :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cuEventCreate`
 *     """
 *     cdef cudaEvent_t event = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventCreateWithFlags(<ccudart.cudaEvent_t*>event._ptr, flags)
 *     return (cudaError_t(err), event)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_event = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12720
 *     """
 *     cdef cudaEvent_t event = cudaEvent_t()
 *     err = ccudart.cudaEventCreateWithFlags(<ccudart.cudaEvent_t*>event._ptr, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), event)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaEventCreateWithFlags(((cudaEvent_t *)__pyx_v_event->__pyx_base._ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12720, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":12721
 *     cdef cudaEvent_t event = cudaEvent_t()
 *     err = ccudart.cudaEventCreateWithFlags(<ccudart.cudaEvent_t*>event._ptr, flags)
 *     return (cudaError_t(err), event)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12721, __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(0, 12721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_event));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_event));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_event));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12678
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event object with the specified flags.
 * 
 */

  /* 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.cudart.cudaEventCreateWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_event);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12724
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecord(event, stream):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_141cudaEventRecord(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_140cudaEventRecord[] = "cudaEventRecord(event, stream)\n Records an event.\n\n    Captures in `event` the contents of `stream` at the time of this call.\n    `event` and `stream` must be on the same CUDA context. Calls such as\n    :py:obj:`~.cudaEventQuery()` or :py:obj:`~.cudaStreamWaitEvent()` will\n    then examine or wait for completion of the work that was captured. Uses\n    of `stream` after this call do not modify `event`. See note on default\n    stream behavior for what is captured in the default case.\n\n    :py:obj:`~.cudaEventRecord()` can be called multiple times on the same\n    event and will overwrite the previously captured state. Other APIs such\n    as :py:obj:`~.cudaStreamWaitEvent()` use the most recently captured\n    state at the time of the API call, and are not affected by later calls\n    to :py:obj:`~.cudaEventRecord()`. Before the first call to\n    :py:obj:`~.cudaEventRecord()`, an event represents an empty set of\n    work, so for example :py:obj:`~.cudaEventQuery()` would return\n    :py:obj:`~.cudaSuccess`.\n\n    Parameters\n    ----------\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to record\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to record event\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorLaunchFailure`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cuEventRecord`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_141cudaEventRecord = {"cudaEventRecord", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_141cudaEventRecord, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_140cudaEventRecord};
static PyObject *__pyx_pw_4cuda_6cudart_141cudaEventRecord(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_event = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventRecord (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_event_2,&__pyx_n_s_stream,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEventRecord", 1, 2, 2, 1); __PYX_ERR(0, 12724, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEventRecord") < 0)) __PYX_ERR(0, 12724, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_event = values[0];
    __pyx_v_stream = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEventRecord", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12724, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEventRecord", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_140cudaEventRecord(__pyx_self, __pyx_v_event, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_140cudaEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__489)
  __Pyx_RefNannySetupContext("cudaEventRecord", 0);
  __Pyx_TraceCall("cudaEventRecord", __pyx_f[0], 12724, 0, __PYX_ERR(0, 12724, __pyx_L1_error));

  /* "cuda/cudart.pyx":12760
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12761
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12760
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12762
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12763
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12764
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12764, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12762
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12766
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12767
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEvent_t cevent
 */
    __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(0, 12767, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12770
 * 
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12771
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12770
 * 
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":12772
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12773
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12774
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12774, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12772
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":12776
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12777
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEventRecord(cevent, cstream)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12777, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":12779
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     err = ccudart.cudaEventRecord(cevent, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaEventRecord(__pyx_v_cevent, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12779, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12780
 * 
 *     err = ccudart.cudaEventRecord(cevent, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 12780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12724
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecord(event, stream):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEventRecord", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12783
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecordWithFlags(event, stream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_143cudaEventRecordWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_142cudaEventRecordWithFlags[] = "cudaEventRecordWithFlags(event, stream, unsigned int flags)\n Records an event.\n\n    Captures in `event` the contents of `stream` at the time of this call.\n    `event` and `stream` must be on the same CUDA context. Calls such as\n    :py:obj:`~.cudaEventQuery()` or :py:obj:`~.cudaStreamWaitEvent()` will\n    then examine or wait for completion of the work that was captured. Uses\n    of `stream` after this call do not modify `event`. See note on default\n    stream behavior for what is captured in the default case.\n\n    :py:obj:`~.cudaEventRecordWithFlags()` can be called multiple times on\n    the same event and will overwrite the previously captured state. Other\n    APIs such as :py:obj:`~.cudaStreamWaitEvent()` 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:`~.cudaEventRecordWithFlags()`. Before the first\n    call to :py:obj:`~.cudaEventRecordWithFlags()`, an event represents an\n    empty set of work, so for example :py:obj:`~.cudaEventQuery()` would\n    return :py:obj:`~.cudaSuccess`.\n\n    flags include:\n\n    - :py:obj:`~.cudaEventRecordDefault`: Default event creation flag.\n\n    - :py:obj:`~.cudaEventRecordExternal`: Event is captured in the graph\n      as an external event node when performing stream capture.\n\n    Parameters\n    ----------\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to record\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to record event\n    flags : unsigned int\n        Parameters for the operation(See above)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorLaunchFailure`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~"".cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cuEventRecord`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_143cudaEventRecordWithFlags = {"cudaEventRecordWithFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_143cudaEventRecordWithFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_142cudaEventRecordWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_143cudaEventRecordWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_event = 0;
  PyObject *__pyx_v_stream = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventRecordWithFlags (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_event_2,&__pyx_n_s_stream,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEventRecordWithFlags", 1, 3, 3, 1); __PYX_ERR(0, 12783, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEventRecordWithFlags", 1, 3, 3, 2); __PYX_ERR(0, 12783, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEventRecordWithFlags") < 0)) __PYX_ERR(0, 12783, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_event = values[0];
    __pyx_v_stream = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12783, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEventRecordWithFlags", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12783, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEventRecordWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_142cudaEventRecordWithFlags(__pyx_self, __pyx_v_event, __pyx_v_stream, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_142cudaEventRecordWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__490)
  __Pyx_RefNannySetupContext("cudaEventRecordWithFlags", 0);
  __Pyx_TraceCall("cudaEventRecordWithFlags", __pyx_f[0], 12783, 0, __PYX_ERR(0, 12783, __pyx_L1_error));

  /* "cuda/cudart.pyx":12828
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12829
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12828
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12830
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12831
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12832
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 12832, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12830
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12834
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12835
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEvent_t cevent
 */
    __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(0, 12835, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12838
 * 
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12839
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12838
 * 
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":12840
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12841
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12842
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12842, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12840
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":12844
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12845
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEventRecordWithFlags(cevent, cstream, flags)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12845, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":12847
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     err = ccudart.cudaEventRecordWithFlags(cevent, cstream, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaEventRecordWithFlags(__pyx_v_cevent, __pyx_v_cstream, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12847, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12848
 * 
 *     err = ccudart.cudaEventRecordWithFlags(cevent, cstream, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 12848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12783
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecordWithFlags(event, stream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEventRecordWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12851
 * 
 * @cython.embedsignature(True)
 * def cudaEventQuery(event):             # <<<<<<<<<<<<<<
 *     """ Queries an event's status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_145cudaEventQuery(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_144cudaEventQuery[] = "cudaEventQuery(event)\n Queries an event's status.\n\n    Queries the status of all work currently captured by `event`. See\n    :py:obj:`~.cudaEventRecord()` for details on what is captured by an\n    event.\n\n    Returns :py:obj:`~.cudaSuccess` if all captured work has been\n    completed, or :py:obj:`~.cudaErrorNotReady` if any captured work is\n    incomplete.\n\n    For the purposes of Unified Memory, a return value of\n    :py:obj:`~.cudaSuccess` is equivalent to having called\n    :py:obj:`~.cudaEventSynchronize()`.\n\n    Parameters\n    ----------\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorNotReady`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorLaunchFailure`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cuEventQuery`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_145cudaEventQuery = {"cudaEventQuery", (PyCFunction)__pyx_pw_4cuda_6cudart_145cudaEventQuery, METH_O, __pyx_doc_4cuda_6cudart_144cudaEventQuery};
static PyObject *__pyx_pw_4cuda_6cudart_145cudaEventQuery(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventQuery (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_144cudaEventQuery(__pyx_self, ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_144cudaEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__491)
  __Pyx_RefNannySetupContext("cudaEventQuery", 0);
  __Pyx_TraceCall("cudaEventQuery", __pyx_f[0], 12851, 0, __PYX_ERR(0, 12851, __pyx_L1_error));

  /* "cuda/cudart.pyx":12881
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12882
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12881
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12883
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12884
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12885
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12885, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12883
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12887
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12888
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEventQuery(cevent)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12888, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12890
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     err = ccudart.cudaEventQuery(cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaEventQuery(__pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12890, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12891
 * 
 *     err = ccudart.cudaEventQuery(cevent)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12851
 * 
 * @cython.embedsignature(True)
 * def cudaEventQuery(event):             # <<<<<<<<<<<<<<
 *     """ Queries an event's status.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEventQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12894
 * 
 * @cython.embedsignature(True)
 * def cudaEventSynchronize(event):             # <<<<<<<<<<<<<<
 *     """ Waits for an event to complete.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_147cudaEventSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_146cudaEventSynchronize[] = "cudaEventSynchronize(event)\n Waits for an event to complete.\n\n    Waits until the completion of all work currently captured in `event`.\n    See :py:obj:`~.cudaEventRecord()` for details on what is captured by an\n    event.\n\n    Waiting for an event that was created with the\n    :py:obj:`~.cudaEventBlockingSync` flag will cause the calling CPU\n    thread to block until the event has been completed by the device. If\n    the :py:obj:`~.cudaEventBlockingSync` 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    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to wait for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorLaunchFailure`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cuEventSynchronize`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_147cudaEventSynchronize = {"cudaEventSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_147cudaEventSynchronize, METH_O, __pyx_doc_4cuda_6cudart_146cudaEventSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_147cudaEventSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_146cudaEventSynchronize(__pyx_self, ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_146cudaEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__492)
  __Pyx_RefNannySetupContext("cudaEventSynchronize", 0);
  __Pyx_TraceCall("cudaEventSynchronize", __pyx_f[0], 12894, 0, __PYX_ERR(0, 12894, __pyx_L1_error));

  /* "cuda/cudart.pyx":12923
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12924
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12923
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12925
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12926
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12927
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12927, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12925
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12929
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12930
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEventSynchronize(cevent)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12930, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12932
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     err = ccudart.cudaEventSynchronize(cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaEventSynchronize(__pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12932, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12933
 * 
 *     err = ccudart.cudaEventSynchronize(cevent)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12894
 * 
 * @cython.embedsignature(True)
 * def cudaEventSynchronize(event):             # <<<<<<<<<<<<<<
 *     """ Waits for an event to complete.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEventSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12936
 * 
 * @cython.embedsignature(True)
 * def cudaEventDestroy(event):             # <<<<<<<<<<<<<<
 *     """ Destroys an event object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_149cudaEventDestroy(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_148cudaEventDestroy[] = "cudaEventDestroy(event)\n Destroys an event object.\n\n    Destroys the event specified by `event`.\n\n    An event may be destroyed before it is complete (i.e., while\n    :py:obj:`~.cudaEventQuery()` would return\n    :py:obj:`~.cudaErrorNotReady`). In this case, the call does not block\n    on completion of the event, and any associated resources will\n    automatically be released asynchronously at completion.\n\n    Parameters\n    ----------\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to destroy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorLaunchFailure`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cudaEventElapsedTime`, :py:obj:`~.cuEventDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_149cudaEventDestroy = {"cudaEventDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_149cudaEventDestroy, METH_O, __pyx_doc_4cuda_6cudart_148cudaEventDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_149cudaEventDestroy(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_148cudaEventDestroy(__pyx_self, ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_148cudaEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__493)
  __Pyx_RefNannySetupContext("cudaEventDestroy", 0);
  __Pyx_TraceCall("cudaEventDestroy", __pyx_f[0], 12936, 0, __PYX_ERR(0, 12936, __pyx_L1_error));

  /* "cuda/cudart.pyx":12962
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":12963
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":12962
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12964
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":12965
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":12966
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12966, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":12964
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":12968
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":12969
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEventDestroy(cevent)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12969, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":12971
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     err = ccudart.cudaEventDestroy(cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaEventDestroy(__pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12971, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12972
 * 
 *     err = ccudart.cudaEventDestroy(cevent)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12936
 * 
 * @cython.embedsignature(True)
 * def cudaEventDestroy(event):             # <<<<<<<<<<<<<<
 *     """ Destroys an event object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEventDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12975
 * 
 * @cython.embedsignature(True)
 * def cudaEventElapsedTime(start, end):             # <<<<<<<<<<<<<<
 *     """ Computes the elapsed time between events.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_151cudaEventElapsedTime(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_150cudaEventElapsedTime[] = "cudaEventElapsedTime(start, end)\n Computes the elapsed time between 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:`~.cudaEventRecord()`\n    operation takes place asynchronously and there is no guarantee that the\n    measured latency is actually just between the two events. Any number of\n    other different stream operations could execute in between the two\n    measured events, thus altering the timing in a significant way.\n\n    If :py:obj:`~.cudaEventRecord()` has not been called on either event,\n    then :py:obj:`~.cudaErrorInvalidResourceHandle` is returned. If\n    :py:obj:`~.cudaEventRecord()` has been called on both events but one or\n    both of them has not yet been completed (that is,\n    :py:obj:`~.cudaEventQuery()` would return :py:obj:`~.cudaErrorNotReady`\n    on at least one of the events), :py:obj:`~.cudaErrorNotReady` is\n    returned. If either event was created with the\n    :py:obj:`~.cudaEventDisableTiming` flag, then this function will return\n    :py:obj:`~.cudaErrorInvalidResourceHandle`.\n\n    Parameters\n    ----------\n    start : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Starting event\n    end : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Ending event\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorNotReady`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorLaunchFailure`, :py:obj:`~.cudaErrorUnknown`\n    ms : float\n        Time between `start` and `end` in ms\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventCreate (C API)`, :py:obj:`~.cudaEventCreateWithFlags`, :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventSynchronize`"", :py:obj:`~.cudaEventDestroy`, :py:obj:`~.cudaEventRecord`, :py:obj:`~.cuEventElapsedTime`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_151cudaEventElapsedTime = {"cudaEventElapsedTime", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_151cudaEventElapsedTime, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_150cudaEventElapsedTime};
static PyObject *__pyx_pw_4cuda_6cudart_151cudaEventElapsedTime(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_start = 0;
  PyObject *__pyx_v_end = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventElapsedTime (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_start,&__pyx_n_s_end,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_end)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEventElapsedTime", 1, 2, 2, 1); __PYX_ERR(0, 12975, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEventElapsedTime") < 0)) __PYX_ERR(0, 12975, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_start = values[0];
    __pyx_v_end = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEventElapsedTime", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12975, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEventElapsedTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_150cudaEventElapsedTime(__pyx_self, __pyx_v_start, __pyx_v_end);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_150cudaEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_start, PyObject *__pyx_v_end) {
  cudaEvent_t __pyx_v_cend;
  PyObject *__pyx_v_pend = NULL;
  cudaEvent_t __pyx_v_cstart;
  PyObject *__pyx_v_pstart = NULL;
  float __pyx_v_ms;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__494)
  __Pyx_RefNannySetupContext("cudaEventElapsedTime", 0);
  __Pyx_TraceCall("cudaEventElapsedTime", __pyx_f[0], 12975, 0, __PYX_ERR(0, 12975, __pyx_L1_error));

  /* "cuda/cudart.pyx":13018
 *     """
 *     cdef ccudart.cudaEvent_t cend
 *     if end is None:             # <<<<<<<<<<<<<<
 *         cend = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(end, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_end == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13019
 *     cdef ccudart.cudaEvent_t cend
 *     if end is None:
 *         cend = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(end, (cudaEvent_t,cuda.CUevent)):
 *         pend = int(end)
 */
    __pyx_v_cend = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13018
 *     """
 *     cdef ccudart.cudaEvent_t cend
 *     if end is None:             # <<<<<<<<<<<<<<
 *         cend = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(end, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13020
 *     if end is None:
 *         cend = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(end, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pend = int(end)
 *         cend = <ccudart.cudaEvent_t><void_ptr>pend
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_end, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_end, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13021
 *         cend = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(end, (cudaEvent_t,cuda.CUevent)):
 *         pend = int(end)             # <<<<<<<<<<<<<<
 *         cend = <ccudart.cudaEvent_t><void_ptr>pend
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_end); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pend = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":13022
 *     elif isinstance(end, (cudaEvent_t,cuda.CUevent)):
 *         pend = int(end)
 *         cend = <ccudart.cudaEvent_t><void_ptr>pend             # <<<<<<<<<<<<<<
 *     else:
 *         pend = int(cudaEvent_t(end))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pend); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13022, __pyx_L1_error)
    __pyx_v_cend = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":13020
 *     if end is None:
 *         cend = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(end, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pend = int(end)
 *         cend = <ccudart.cudaEvent_t><void_ptr>pend
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13024
 *         cend = <ccudart.cudaEvent_t><void_ptr>pend
 *     else:
 *         pend = int(cudaEvent_t(end))             # <<<<<<<<<<<<<<
 *         cend = <ccudart.cudaEvent_t><void_ptr>pend
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_end); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pend = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":13025
 *     else:
 *         pend = int(cudaEvent_t(end))
 *         cend = <ccudart.cudaEvent_t><void_ptr>pend             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEvent_t cstart
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pend); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13025, __pyx_L1_error)
    __pyx_v_cend = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":13028
 * 
 *     cdef ccudart.cudaEvent_t cstart
 *     if start is None:             # <<<<<<<<<<<<<<
 *         cstart = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(start, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_start == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13029
 *     cdef ccudart.cudaEvent_t cstart
 *     if start is None:
 *         cstart = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(start, (cudaEvent_t,cuda.CUevent)):
 *         pstart = int(start)
 */
    __pyx_v_cstart = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13028
 * 
 *     cdef ccudart.cudaEvent_t cstart
 *     if start is None:             # <<<<<<<<<<<<<<
 *         cstart = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(start, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":13030
 *     if start is None:
 *         cstart = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(start, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pstart = int(start)
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_start, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_start, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13031
 *         cstart = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(start, (cudaEvent_t,cuda.CUevent)):
 *         pstart = int(start)             # <<<<<<<<<<<<<<
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_start); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pstart = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":13032
 *     elif isinstance(start, (cudaEvent_t,cuda.CUevent)):
 *         pstart = int(start)
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart             # <<<<<<<<<<<<<<
 *     else:
 *         pstart = int(cudaEvent_t(start))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstart); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13032, __pyx_L1_error)
    __pyx_v_cstart = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":13030
 *     if start is None:
 *         cstart = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(start, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pstart = int(start)
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":13034
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart
 *     else:
 *         pstart = int(cudaEvent_t(start))             # <<<<<<<<<<<<<<
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_start); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pstart = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":13035
 *     else:
 *         pstart = int(cudaEvent_t(start))
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart             # <<<<<<<<<<<<<<
 * 
 *     cdef float ms = 0
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstart); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13035, __pyx_L1_error)
    __pyx_v_cstart = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":13037
 *         cstart = <ccudart.cudaEvent_t><void_ptr>pstart
 * 
 *     cdef float ms = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventElapsedTime(&ms, cstart, cend)
 *     return (cudaError_t(err), ms)
 */
  __pyx_v_ms = 0.0;

  /* "cuda/cudart.pyx":13038
 * 
 *     cdef float ms = 0
 *     err = ccudart.cudaEventElapsedTime(&ms, cstart, cend)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ms)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaEventElapsedTime((&__pyx_v_ms), __pyx_v_cstart, __pyx_v_cend); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13038, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":13039
 *     cdef float ms = 0
 *     err = ccudart.cudaEventElapsedTime(&ms, cstart, cend)
 *     return (cudaError_t(err), ms)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 13039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ms); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12975
 * 
 * @cython.embedsignature(True)
 * def cudaEventElapsedTime(start, end):             # <<<<<<<<<<<<<<
 *     """ Computes the elapsed time between events.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEventElapsedTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pend);
  __Pyx_XDECREF(__pyx_v_pstart);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13042
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalMemory(memHandleDesc : cudaExternalMemoryHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_153cudaImportExternalMemory(PyObject *__pyx_self, PyObject *__pyx_v_memHandleDesc); /*proto*/
static char __pyx_doc_4cuda_6cudart_152cudaImportExternalMemory[] = "cudaImportExternalMemory(cudaExternalMemoryHandleDesc memHandleDesc: cudaExternalMemoryHandleDesc)\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:`~.cudaExternalMemoryHandleDesc` structure\n    is defined as follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaExternalMemoryHandleDesc.type` specifies the type\n    of handle being imported. :py:obj:`~.cudaExternalMemoryHandleType` is\n    defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    If :py:obj:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeOpaqueFd`, then\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::fd must be a valid\n    file descriptor referencing a memory object. Ownership of the file\n    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:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeOpaqueWin32`, then exactly one\n    of :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle and\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name must not\n    be NULL. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle is not\n    NULL, then it must represent a valid shared NT handle that references a\n    memory object. Ownership of this handle is not transferred to CUDA\n    after the import operation, so the application must release the handle\n    using the appropriate system call. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name is not\n    NULL, then it must point to a NULL-terminated array of UTF-16\n    characters that refe""rs to a memory object.\n\n    If :py:obj:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeOpaqueWin32Kmt`, then\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle must be\n    non-NULL and\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name must be\n    NULL. The handle specified must be a globally shared KMT handle. This\n    handle does not hold a reference to the underlying object, and thus\n    will be invalid when all references to the memory object are destroyed.\n\n    If :py:obj:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeD3D12Heap`, then exactly one of\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle and\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name must not\n    be NULL. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle is not\n    NULL, then it must represent a valid shared NT handle that is returned\n    by ID3D12Device::CreateSharedHandle when referring to a ID3D12Heap\n    object. This handle holds a reference to the underlying object. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name is not\n    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:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeD3D12Resource`, then exactly one\n    of :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle and\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name must not\n    be NULL. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle is not\n    NULL, then it must represent a valid shared NT handle that is returned\n    by ID3D12Device::CreateSharedHandle when referring to a ID3D12Resource\n    object. This handle holds a reference to the underlying object. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::""name is not\n    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:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeD3D11Resource`,then exactly one\n    of :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle and\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name must not\n    be NULL. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle is\n    not NULL, then it must represent a valid shared NT handle that is\n    returned by IDXGIResource1::CreateSharedHandle when referring to a\n    ID3D11Resource object. If\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name is not\n    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:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeD3D11ResourceKmt`, then\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::handle must be\n    non-NULL and\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::win32::name must be\n    NULL. The handle specified must be a valid shared KMT handle that is\n    returned by IDXGIResource::GetSharedHandle when referring to a\n    ID3D11Resource object.\n\n    If :py:obj:`~.cudaExternalMemoryHandleDesc.type` is\n    :py:obj:`~.cudaExternalMemoryHandleTypeNvSciBuf`, then\n    :py:obj:`~.cudaExternalMemoryHandleDesc`::handle::nvSciBufObject must\n    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:`~.cudaWaitExternalSemaphoresAsync` or\n    :py:obj:`~.cudaSignalExternalSemaphoresAsync` as approprriate barriers\n    to maintain coherence between CUDA and the other drivers. See\n    :py:obj:`~.cudaExternalSemaphoreWaitSkipNvSciBufMemSync` and\n    :py:obj:`~.cudaExternalSe""maphoreSignalSkipNvSciBufMemSync` for memory\n    synchronization.\n\n    The size of the memory object must be specified in\n    :py:obj:`~.cudaExternalMemoryHandleDesc.size`.\n\n    Specifying the flag :py:obj:`~.cudaExternalMemoryDedicated` in\n    :py:obj:`~.cudaExternalMemoryHandleDesc.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:`~.cudaExternalMemoryHandleDesc.type` is one of the\n    following: :py:obj:`~.cudaExternalMemoryHandleTypeD3D12Resource`\n    :py:obj:`~.cudaExternalMemoryHandleTypeD3D11Resource`\n    :py:obj:`~.cudaExternalMemoryHandleTypeD3D11ResourceKmt`\n\n    Parameters\n    ----------\n    memHandleDesc : :py:obj:`~.cudaExternalMemoryHandleDesc`\n        Memory import handle descriptor\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    extMem_out : :py:obj:`~.cudaExternalMemory_t`\n        Returned handle to an external memory object\n\n    See Also\n    --------\n    :py:obj:`~.cudaDestroyExternalMemory`, :py:obj:`~.cudaExternalMemoryGetMappedBuffer`, :py:obj:`~.cudaExternalMemoryGetMappedMipmappedArray`\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_6cudart_153cudaImportExternalMemory = {"cudaImportExternalMemory", (PyCFunction)__pyx_pw_4cuda_6cudart_153cudaImportExternalMemory, METH_O, __pyx_doc_4cuda_6cudart_152cudaImportExternalMemory};
static PyObject *__pyx_pw_4cuda_6cudart_153cudaImportExternalMemory(PyObject *__pyx_self, PyObject *__pyx_v_memHandleDesc) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaImportExternalMemory (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memHandleDesc), __pyx_ptype_4cuda_6cudart_cudaExternalMemoryHandleDesc, 1, "memHandleDesc", 0))) __PYX_ERR(0, 13042, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_152cudaImportExternalMemory(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)__pyx_v_memHandleDesc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_152cudaImportExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_memHandleDesc) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_extMem_out = 0;
  struct cudaExternalMemoryHandleDesc *__pyx_v_cmemHandleDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaExternalMemoryHandleDesc *__pyx_t_2;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__495)
  __Pyx_RefNannySetupContext("cudaImportExternalMemory", 0);
  __Pyx_TraceCall("cudaImportExternalMemory", __pyx_f[0], 13042, 0, __PYX_ERR(0, 13042, __pyx_L1_error));

  /* "cuda/cudart.pyx":13184
 *     and Cache Control" chapter from Vulkan specification.
 *     """
 *     cdef cudaExternalMemory_t extMem_out = cudaExternalMemory_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalMemoryHandleDesc* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL
 *     err = ccudart.cudaImportExternalMemory(extMem_out._ptr, cmemHandleDesc_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_extMem_out = ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13185
 *     """
 *     cdef cudaExternalMemory_t extMem_out = cudaExternalMemory_t()
 *     cdef ccudart.cudaExternalMemoryHandleDesc* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaImportExternalMemory(extMem_out._ptr, cmemHandleDesc_ptr)
 *     return (cudaError_t(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(0, 13185, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 13185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_memHandleDesc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cmemHandleDesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":13186
 *     cdef cudaExternalMemory_t extMem_out = cudaExternalMemory_t()
 *     cdef ccudart.cudaExternalMemoryHandleDesc* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL
 *     err = ccudart.cudaImportExternalMemory(extMem_out._ptr, cmemHandleDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), extMem_out)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaImportExternalMemory(__pyx_v_extMem_out->_ptr, __pyx_v_cmemHandleDesc_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13186, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":13187
 *     cdef ccudart.cudaExternalMemoryHandleDesc* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL
 *     err = ccudart.cudaImportExternalMemory(extMem_out._ptr, cmemHandleDesc_ptr)
 *     return (cudaError_t(err), extMem_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13187, __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(0, 13187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_extMem_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_extMem_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_extMem_out));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13042
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalMemory(memHandleDesc : cudaExternalMemoryHandleDesc):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaImportExternalMemory", __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/cudart.pyx":13190
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_155cudaExternalMemoryGetMappedBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_154cudaExternalMemoryGetMappedBuffer[] = "cudaExternalMemoryGetMappedBuffer(extMem, cudaExternalMemoryBufferDesc bufferDesc: cudaExternalMemoryBufferDesc)\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:`~.cudaExternalMemoryBufferDesc` structure is\n    defined as follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaExternalMemoryBufferDesc.offset` is the offset in\n    the memory object where the buffer's base address is.\n    :py:obj:`~.cudaExternalMemoryBufferDesc.size` is the size of the\n    buffer. :py:obj:`~.cudaExternalMemoryBufferDesc.flags` must be 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 :py:obj:`~.cudaFree`.\n\n    Parameters\n    ----------\n    extMem : :py:obj:`~.cudaExternalMemory_t`\n        Handle to external memory object\n    bufferDesc : :py:obj:`~.cudaExternalMemoryBufferDesc`\n        Buffer descriptor\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    devPtr : Any\n        Returned device pointer to buffer""\n\n    See Also\n    --------\n    :py:obj:`~.cudaImportExternalMemory`, :py:obj:`~.cudaDestroyExternalMemory`, :py:obj:`~.cudaExternalMemoryGetMappedMipmappedArray`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_155cudaExternalMemoryGetMappedBuffer = {"cudaExternalMemoryGetMappedBuffer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_155cudaExternalMemoryGetMappedBuffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_154cudaExternalMemoryGetMappedBuffer};
static PyObject *__pyx_pw_4cuda_6cudart_155cudaExternalMemoryGetMappedBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_extMem = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_bufferDesc = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaExternalMemoryGetMappedBuffer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extMem,&__pyx_n_s_bufferDesc,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extMem)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_bufferDesc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaExternalMemoryGetMappedBuffer", 1, 2, 2, 1); __PYX_ERR(0, 13190, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaExternalMemoryGetMappedBuffer") < 0)) __PYX_ERR(0, 13190, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_extMem = values[0];
    __pyx_v_bufferDesc = ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaExternalMemoryGetMappedBuffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13190, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryGetMappedBuffer", __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_6cudart_cudaExternalMemoryBufferDesc, 1, "bufferDesc", 0))) __PYX_ERR(0, 13190, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_154cudaExternalMemoryGetMappedBuffer(__pyx_self, __pyx_v_extMem, __pyx_v_bufferDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_154cudaExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_bufferDesc) {
  cudaExternalMemory_t __pyx_v_cextMem;
  PyObject *__pyx_v_pextMem = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  struct cudaExternalMemoryBufferDesc *__pyx_v_cbufferDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  struct cudaExternalMemoryBufferDesc *__pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__496)
  __Pyx_RefNannySetupContext("cudaExternalMemoryGetMappedBuffer", 0);
  __Pyx_TraceCall("cudaExternalMemoryGetMappedBuffer", __pyx_f[0], 13190, 0, __PYX_ERR(0, 13190, __pyx_L1_error));

  /* "cuda/cudart.pyx":13239
 *     """
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 */
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13240
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)
 */
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13239
 *     """
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13241
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_ptype_4cuda_6cudart_cudaExternalMemory_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13242
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pextMem = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":13243
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13243, __pyx_L1_error)
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":13241
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13245
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t), __pyx_v_extMem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pextMem = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":13246
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem             # <<<<<<<<<<<<<<
 * 
 *     cdef void_ptr devPtr = 0
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13246, __pyx_L1_error)
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":13248
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 * 
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, cextMem, cbufferDesc_ptr)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":13249
 * 
 *     cdef void_ptr devPtr = 0
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, cextMem, cbufferDesc_ptr)
 *     return (cudaError_t(err), devPtr)
 */
  __pyx_t_5 = PyObject_RichCompare(((PyObject *)__pyx_v_bufferDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13249, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 13249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_bufferDesc->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cbufferDesc_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":13250
 *     cdef void_ptr devPtr = 0
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, cextMem, cbufferDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedBuffer(((void **)(&__pyx_v_devPtr)), __pyx_v_cextMem, __pyx_v_cbufferDesc_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13250, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":13251
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, cextMem, cbufferDesc_ptr)
 *     return (cudaError_t(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3);
  __pyx_t_5 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13190
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryGetMappedBuffer", __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/cudart.pyx":13254
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_157cudaExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_156cudaExternalMemoryGetMappedMipmappedArray[] = "cudaExternalMemoryGetMappedMipmappedArray(extMem, cudaExternalMemoryMipmappedArrayDesc mipmapDesc: cudaExternalMemoryMipmappedArrayDesc)\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:`~.cudaExternalMemoryMipmappedArrayDesc` is defined as follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc.offset` is the\n    offset in the memory object where the base level of the mipmap chain\n    is. :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc.formatDesc`\n    describes the format of the data.\n    :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc.extent` specifies the\n    dimensions of the base level of the mipmap chain.\n    :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc.flags` are flags\n    associated with CUDA mipmapped arrays. For further details, please\n    refer to the documentation for :py:obj:`~.cudaMalloc3DArray`. Note that\n    if the mipmapped array is bound as a color target in the graphics API,\n    then the flag :py:obj:`~.cudaArrayColorAttachment` must be specified in\n    :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc.flags`.\n    :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc.numLevels` specifies\n    the total number of levels in the mipmap chain.\n\n    The returned CUDA mipmapped array must be freed using\n    :py:obj:`~.cudaFreeMipmappedArray`.\n\n    Parameters\n    ----------\n    extMem : :py:obj:`~.cudaExternalMemory_t`\n        Handle to external memory object\n    mipmapDesc : :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc`\n        CUDA array descriptor\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    mipm""ap : :py:obj:`~.cudaMipmappedArray_t`\n        Returned CUDA mipmapped array\n\n    See Also\n    --------\n    :py:obj:`~.cudaImportExternalMemory`, :py:obj:`~.cudaDestroyExternalMemory`, :py:obj:`~.cudaExternalMemoryGetMappedBuffer`\n\n    Notes\n    -----\n    On Tegra devices, this API will always attempt to do a compressed mapping when the :py:obj:`~.cudaExternalMemoryHandleDesc.type` is :py:obj:`~.cudaExternalMemoryHandleTypeOpaqueFd`\n\n    If :py:obj:`~.cudaExternalMemoryHandleDesc.type` is :py:obj:`~.cudaExternalMemoryHandleTypeNvSciBuf`, then :py:obj:`~.cudaExternalMemoryMipmappedArrayDesc.numLevels` must not be greater than 1.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_157cudaExternalMemoryGetMappedMipmappedArray = {"cudaExternalMemoryGetMappedMipmappedArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_157cudaExternalMemoryGetMappedMipmappedArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_156cudaExternalMemoryGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_157cudaExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_extMem = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_mipmapDesc = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaExternalMemoryGetMappedMipmappedArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extMem,&__pyx_n_s_mipmapDesc,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extMem)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mipmapDesc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaExternalMemoryGetMappedMipmappedArray", 1, 2, 2, 1); __PYX_ERR(0, 13254, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaExternalMemoryGetMappedMipmappedArray") < 0)) __PYX_ERR(0, 13254, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_extMem = values[0];
    __pyx_v_mipmapDesc = ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaExternalMemoryGetMappedMipmappedArray", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13254, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryGetMappedMipmappedArray", __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_6cudart_cudaExternalMemoryMipmappedArrayDesc, 1, "mipmapDesc", 0))) __PYX_ERR(0, 13254, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_156cudaExternalMemoryGetMappedMipmappedArray(__pyx_self, __pyx_v_extMem, __pyx_v_mipmapDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_156cudaExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_mipmapDesc) {
  cudaExternalMemory_t __pyx_v_cextMem;
  PyObject *__pyx_v_pextMem = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmap = 0;
  struct cudaExternalMemoryMipmappedArrayDesc *__pyx_v_cmipmapDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  struct cudaExternalMemoryMipmappedArrayDesc *__pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__497)
  __Pyx_RefNannySetupContext("cudaExternalMemoryGetMappedMipmappedArray", 0);
  __Pyx_TraceCall("cudaExternalMemoryGetMappedMipmappedArray", __pyx_f[0], 13254, 0, __PYX_ERR(0, 13254, __pyx_L1_error));

  /* "cuda/cudart.pyx":13309
 *     """
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 */
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13310
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)
 */
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13309
 *     """
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13311
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_ptype_4cuda_6cudart_cudaExternalMemory_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13312
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pextMem = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":13313
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13313, __pyx_L1_error)
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":13311
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13315
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t), __pyx_v_extMem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pextMem = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":13316
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaMipmappedArray_t mipmap = cudaMipmappedArray_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13316, __pyx_L1_error)
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":13318
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 * 
 *     cdef cudaMipmappedArray_t mipmap = cudaMipmappedArray_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, cextMem, cmipmapDesc_ptr)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_mipmap = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":13319
 * 
 *     cdef cudaMipmappedArray_t mipmap = cudaMipmappedArray_t()
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, cextMem, cmipmapDesc_ptr)
 *     return (cudaError_t(err), mipmap)
 */
  __pyx_t_5 = PyObject_RichCompare(((PyObject *)__pyx_v_mipmapDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13319, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 13319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_mipmapDesc->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cmipmapDesc_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":13320
 *     cdef cudaMipmappedArray_t mipmap = cudaMipmappedArray_t()
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, cextMem, cmipmapDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), mipmap)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedMipmappedArray(__pyx_v_mipmap->_ptr, __pyx_v_cextMem, __pyx_v_cmipmapDesc_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13320, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":13321
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, cextMem, cmipmapDesc_ptr)
 *     return (cudaError_t(err), mipmap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_mipmap));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_mipmap));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_mipmap));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13254
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaExternalMemoryGetMappedMipmappedArray", __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/cudart.pyx":13324
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_159cudaDestroyExternalMemory(PyObject *__pyx_self, PyObject *__pyx_v_extMem); /*proto*/
static char __pyx_doc_4cuda_6cudart_158cudaDestroyExternalMemory[] = "cudaDestroyExternalMemory(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:`~.cudaFree` and\n    :py:obj:`~.cudaFreeMipmappedArray` respectively.\n\n    Parameters\n    ----------\n    extMem : :py:obj:`~.cudaExternalMemory_t`\n        External memory object to be destroyed\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaImportExternalMemory`, :py:obj:`~.cudaExternalMemoryGetMappedBuffer`, :py:obj:`~.cudaExternalMemoryGetMappedMipmappedArray`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_159cudaDestroyExternalMemory = {"cudaDestroyExternalMemory", (PyCFunction)__pyx_pw_4cuda_6cudart_159cudaDestroyExternalMemory, METH_O, __pyx_doc_4cuda_6cudart_158cudaDestroyExternalMemory};
static PyObject *__pyx_pw_4cuda_6cudart_159cudaDestroyExternalMemory(PyObject *__pyx_self, PyObject *__pyx_v_extMem) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroyExternalMemory (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_158cudaDestroyExternalMemory(__pyx_self, ((PyObject *)__pyx_v_extMem));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_158cudaDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem) {
  cudaExternalMemory_t __pyx_v_cextMem;
  PyObject *__pyx_v_pextMem = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__498)
  __Pyx_RefNannySetupContext("cudaDestroyExternalMemory", 0);
  __Pyx_TraceCall("cudaDestroyExternalMemory", __pyx_f[0], 13324, 0, __PYX_ERR(0, 13324, __pyx_L1_error));

  /* "cuda/cudart.pyx":13347
 *     """
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 */
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13348
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)
 */
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13347
 *     """
 *     cdef ccudart.cudaExternalMemory_t cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13349
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_ptype_4cuda_6cudart_cudaExternalMemory_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13350
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pextMem = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":13351
 *     elif isinstance(extMem, (cudaExternalMemory_t)):
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13351, __pyx_L1_error)
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":13349
 *     if extMem is None:
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>0
 *     elif isinstance(extMem, (cudaExternalMemory_t)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13353
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))             # <<<<<<<<<<<<<<
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t), __pyx_v_extMem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pextMem = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":13354
 *     else:
 *         pextMem = int(cudaExternalMemory_t(extMem))
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaDestroyExternalMemory(cextMem)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13354, __pyx_L1_error)
    __pyx_v_cextMem = ((cudaExternalMemory_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":13356
 *         cextMem = <ccudart.cudaExternalMemory_t><void_ptr>pextMem
 * 
 *     err = ccudart.cudaDestroyExternalMemory(cextMem)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaDestroyExternalMemory(__pyx_v_cextMem); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13356, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":13357
 * 
 *     err = ccudart.cudaDestroyExternalMemory(cextMem)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13324
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroyExternalMemory", __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/cudart.pyx":13360
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalSemaphore(semHandleDesc : cudaExternalSemaphoreHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external semaphore.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_161cudaImportExternalSemaphore(PyObject *__pyx_self, PyObject *__pyx_v_semHandleDesc); /*proto*/
static char __pyx_doc_4cuda_6cudart_160cudaImportExternalSemaphore[] = "cudaImportExternalSemaphore(cudaExternalSemaphoreHandleDesc semHandleDesc: cudaExternalSemaphoreHandleDesc)\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:`~.cudaExternalSemaphoreHandleDesc` is\n    defined as follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` specifies the\n    type of handle being imported.\n    :py:obj:`~.cudaExternalSemaphoreHandleType` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    If :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeOpaqueFd`, then\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::fd must be a valid\n    file descriptor referencing a synchronization 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:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeOpaqueWin32`, then exactly\n    one of\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle and\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name must\n    not be NULL. If\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle is\n    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:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name is not\n    NULL, then it must name ""a valid synchronization object.\n\n    If :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt`, then\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle must\n    be non-NULL and\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::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 synchronization object\n    are destroyed.\n\n    If :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeD3D12Fence`, then exactly one\n    of :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle\n    and :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name\n    must not be NULL. If\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::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    ID3D12Fence object. This handle holds a reference to the underlying\n    object. If\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name is not\n    NULL, then it must name a valid synchronization object that refers to a\n    valid ID3D12Fence object.\n\n    If :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeD3D11Fence`, then exactly one\n    of :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle\n    and :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name\n    must not be NULL. If\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle is\n    not NULL, then it must represent a valid shared NT handle that is\n    returned by ID3D11Fence::CreateSharedHandle. If\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name is not\n    NULL, then it must name"" a valid synchronization object that refers to a\n    valid ID3D11Fence object.\n\n    If :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeNvSciSync`, then\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::nvSciSyncObj\n    represents a valid NvSciSyncObj.\n\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeKeyedMutex`, then exactly one\n    of :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle\n    and :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name\n    must not be NULL. If\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle is\n    not NULL, then it represent a valid shared NT handle that is returned\n    by IDXGIResource1::CreateSharedHandle when referring to a\n    IDXGIKeyedMutex object.\n\n    If :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeKeyedMutexKmt`, then\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle must\n    be non-NULL and\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name must\n    be NULL. The handle specified must represent a valid KMT handle that is\n    returned by IDXGIResource::GetSharedHandle when referring to a\n    IDXGIKeyedMutex object.\n\n    If :py:obj:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd`, then\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::fd must be a valid\n    file descriptor referencing a synchronization 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:`~.cudaExternalSemaphoreHandleDesc.type` is\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32`, then\n    exactly one of\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle""::win32::handle and\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name must\n    not be NULL. If\n    :py:obj:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::handle is\n    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:`~.cudaExternalSemaphoreHandleDesc`::handle::win32::name is not\n    NULL, then it must name a valid synchronization object.\n\n    Parameters\n    ----------\n    semHandleDesc : :py:obj:`~.cudaExternalSemaphoreHandleDesc`\n        Semaphore import handle descriptor\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    extSem_out : :py:obj:`~.cudaExternalSemaphore_t`\n        Returned handle to an external semaphore\n\n    See Also\n    --------\n    :py:obj:`~.cudaDestroyExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_161cudaImportExternalSemaphore = {"cudaImportExternalSemaphore", (PyCFunction)__pyx_pw_4cuda_6cudart_161cudaImportExternalSemaphore, METH_O, __pyx_doc_4cuda_6cudart_160cudaImportExternalSemaphore};
static PyObject *__pyx_pw_4cuda_6cudart_161cudaImportExternalSemaphore(PyObject *__pyx_self, PyObject *__pyx_v_semHandleDesc) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaImportExternalSemaphore (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_semHandleDesc), __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreHandleDesc, 1, "semHandleDesc", 0))) __PYX_ERR(0, 13360, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_160cudaImportExternalSemaphore(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)__pyx_v_semHandleDesc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_160cudaImportExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_semHandleDesc) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_extSem_out = 0;
  struct cudaExternalSemaphoreHandleDesc *__pyx_v_csemHandleDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaExternalSemaphoreHandleDesc *__pyx_t_2;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__499)
  __Pyx_RefNannySetupContext("cudaImportExternalSemaphore", 0);
  __Pyx_TraceCall("cudaImportExternalSemaphore", __pyx_f[0], 13360, 0, __PYX_ERR(0, 13360, __pyx_L1_error));

  /* "cuda/cudart.pyx":13497
 *     :py:obj:`~.cudaDestroyExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`
 *     """
 *     cdef cudaExternalSemaphore_t extSem_out = cudaExternalSemaphore_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalSemaphoreHandleDesc* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL
 *     err = ccudart.cudaImportExternalSemaphore(extSem_out._ptr, csemHandleDesc_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_extSem_out = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13498
 *     """
 *     cdef cudaExternalSemaphore_t extSem_out = cudaExternalSemaphore_t()
 *     cdef ccudart.cudaExternalSemaphoreHandleDesc* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaImportExternalSemaphore(extSem_out._ptr, csemHandleDesc_ptr)
 *     return (cudaError_t(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(0, 13498, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 13498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_semHandleDesc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_csemHandleDesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":13499
 *     cdef cudaExternalSemaphore_t extSem_out = cudaExternalSemaphore_t()
 *     cdef ccudart.cudaExternalSemaphoreHandleDesc* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL
 *     err = ccudart.cudaImportExternalSemaphore(extSem_out._ptr, csemHandleDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), extSem_out)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaImportExternalSemaphore(__pyx_v_extSem_out->_ptr, __pyx_v_csemHandleDesc_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13499, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":13500
 *     cdef ccudart.cudaExternalSemaphoreHandleDesc* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL
 *     err = ccudart.cudaImportExternalSemaphore(extSem_out._ptr, csemHandleDesc_ptr)
 *     return (cudaError_t(err), extSem_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13500, __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(0, 13500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_extSem_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_extSem_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_extSem_out));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13360
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalSemaphore(semHandleDesc : cudaExternalSemaphoreHandleDesc):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaImportExternalSemaphore", __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/cudart.pyx":13503
 * 
 * @cython.embedsignature(True)
 * def cudaSignalExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreSignalParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Signals a set of external semaphore objects.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_163cudaSignalExternalSemaphoresAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_162cudaSignalExternalSemaphoresAsync[] = "cudaSignalExternalSemaphoresAsync(extSemArray: List[cudaExternalSemaphore_t], paramsArray: List[cudaExternalSemaphoreSignalParams], 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:`~.cudaExternalSemaphoreHandleTypeOpaqueFd`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeOpaqueWin32`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt` 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:`~.cudaExternalSemaphoreHandleTypeD3D12Fence`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeD3D11Fence`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32` then\n    the semaphore will be set to the value specified in\n    :py:obj:`~.cudaExternalSemaphoreSignalParams`::params::fence::value.\n\n    If the semaphore object is of the type\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeNvSciSync` this API sets\n    :py:obj:`~.cudaExternalSemaphoreSignalParams`::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:`~.cudaExternalSemaphoreSignalParams`::params::nvSciSync::fence.\n    By deefault, signaling such an external semaphore object causes\n    appropriate memory synchronization operations to be performed over all\n    the external memory objects that are imported as\n    :py:obj:`~.cudaExternalMemory""HandleTypeNvSciBuf`. This ensures that any\n    subsequent accesses made by other importers of the same set of NvSciBuf\n    memory object(s) are coherent. These operations can be skipped by\n    specifying the flag\n    :py:obj:`~.cudaExternalSemaphoreSignalSkipNvSciBufMemSync`, which can\n    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:`~.cudaExternalSemaphoreHandleTypeNvSciSync`, if the\n    NvSciSyncAttrList used to create the NvSciSyncObj had not set the flags\n    in :py:obj:`~.cudaDeviceGetNvSciSyncAttributes` to\n    cudaNvSciSyncAttrSignal, this API will return cudaErrorNotSupported.\n\n    If the semaphore object is any one of the following types:\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeKeyedMutex`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeKeyedMutexKmt`, then the\n    keyed mutex will be released with the key specified in\n    :py:obj:`~.cudaExternalSemaphoreSignalParams`::params::keyedmutex::key.\n\n    Parameters\n    ----------\n    extSemArray : List[:py:obj:`~.cudaExternalSemaphore_t`]\n        Set of external semaphores to be signaled\n    paramsArray : List[:py:obj:`~.cudaExternalSemaphoreSignalParams`]\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaDestroyExternalSemaphore`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_163cudaSignalExternalSemaphoresAsync = {"cudaSignalExternalSemaphoresAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_163cudaSignalExternalSemaphoresAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_162cudaSignalExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_6cudart_163cudaSignalExternalSemaphoresAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_extSemArray = 0;
  PyObject *__pyx_v_paramsArray = 0;
  unsigned int __pyx_v_numExtSems;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaSignalExternalSemaphoresAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extSemArray_2,&__pyx_n_s_paramsArray_2,&__pyx_n_s_numExtSems_2,&__pyx_n_s_stream,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extSemArray_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_paramsArray_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaSignalExternalSemaphoresAsync", 1, 4, 4, 1); __PYX_ERR(0, 13503, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numExtSems_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaSignalExternalSemaphoresAsync", 1, 4, 4, 2); __PYX_ERR(0, 13503, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaSignalExternalSemaphoresAsync", 1, 4, 4, 3); __PYX_ERR(0, 13503, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaSignalExternalSemaphoresAsync") < 0)) __PYX_ERR(0, 13503, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_extSemArray = values[0];
    __pyx_v_paramsArray = values[1];
    __pyx_v_numExtSems = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13503, __pyx_L3_error)
    __pyx_v_stream = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaSignalExternalSemaphoresAsync", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13503, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSignalExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_162cudaSignalExternalSemaphoresAsync(__pyx_self, __pyx_v_extSemArray, __pyx_v_paramsArray, __pyx_v_numExtSems, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":13587
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_3_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_3_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_3_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 13587, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_2generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaSignalExternalSemaphoresAsyn, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 13587, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSignalExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 13587, 0, __PYX_ERR(0, 13587, __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(0, 13587, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) { __Pyx_RaiseClosureNameError("paramsArray"); __PYX_ERR(0, 13587, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13587, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 13587, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13587, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 13587, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13587, __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, 13587, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams); 
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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_6cudart_33cudaSignalExternalSemaphoresAsync_5generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":13591
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_3genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_4_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_4_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_4_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 13591, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_5generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaSignalExternalSemaphoresAsyn, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 13591, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSignalExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_5generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 13591, 0, __PYX_ERR(0, 13591, __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(0, 13591, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) { __Pyx_RaiseClosureNameError("extSemArray"); __PYX_ERR(0, 13591, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13591, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 13591, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13591, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 13591, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13591, __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, 13591, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t); 
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":13503
 * 
 * @cython.embedsignature(True)
 * def cudaSignalExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreSignalParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Signals a set of external semaphore objects.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_162cudaSignalExternalSemaphoresAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSemArray, PyObject *__pyx_v_paramsArray, unsigned int __pyx_v_numExtSems, PyObject *__pyx_v_stream) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *__pyx_cur_scope;
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaExternalSemaphore_t *__pyx_v_cextSemArray;
  Py_ssize_t __pyx_v_idx;
  struct cudaExternalSemaphoreSignalParams *__pyx_v_cparamsArray;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_2generator1 = 0;
  PyObject *__pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_5generator2 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  cudaExternalSemaphore_t *__pyx_t_11;
  struct cudaExternalSemaphoreSignalParams *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__500)
  __Pyx_RefNannySetupContext("cudaSignalExternalSemaphoresAsync", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 13503, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaSignalExternalSemaphoresAsync", __pyx_f[0], 13503, 0, __PYX_ERR(0, 13503, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_extSemArray = __pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_extSemArray);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_extSemArray);
  __pyx_cur_scope->__pyx_v_paramsArray = __pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_paramsArray);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_paramsArray);

  /* "cuda/cudart.pyx":13577
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13578
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13577
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13579
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13580
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":13581
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 13581, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":13579
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13583
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":13584
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
    __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(0, 13584, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":13586
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")
 */
  __pyx_t_1 = (__pyx_cur_scope->__pyx_v_paramsArray == Py_None);
  if ((__pyx_t_1 != 0)) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_paramsArray);
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_paramsArray;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_paramsArray);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_paramsArray, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":13587
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")
 * 
 */
  __pyx_t_6 = __pyx_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 13587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13588
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")             # <<<<<<<<<<<<<<
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__501, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 13588, __pyx_L1_error)

    /* "cuda/cudart.pyx":13587
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")
 * 
 */
  }

  /* "cuda/cudart.pyx":13590
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_extSemArray == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_extSemArray);
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_extSemArray);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_extSemArray, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13591
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */
  __pyx_t_4 = __pyx_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 13591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":13592
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__502, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 13592, __pyx_L1_error)

    /* "cuda/cudart.pyx":13591
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */
  }

  /* "cuda/cudart.pyx":13594
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 */
  __pyx_v_cextSemArray = NULL;

  /* "cuda/cudart.pyx":13595
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:
 */
  __pyx_t_6 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13596
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))             # <<<<<<<<<<<<<<
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 */
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13596, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_cextSemArray = ((cudaExternalSemaphore_t *)calloc(__pyx_t_7, (sizeof(cudaExternalSemaphore_t))));

    /* "cuda/cudart.pyx":13597
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_cextSemArray == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":13598
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(extSemArray)):
 */
      __pyx_t_6 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(0, 13598, __pyx_L1_error)

      /* "cuda/cudart.pyx":13597
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":13600
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *         else:
 *             for idx in range(len(extSemArray)):             # <<<<<<<<<<<<<<
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13600, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":13601
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* cparamsArray = NULL
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_extSemArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13601, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cextSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_8)->_ptr[0]);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":13595
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:
 */
  }

  /* "cuda/cudart.pyx":13603
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* cparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 */
  __pyx_v_cparamsArray = NULL;

  /* "cuda/cudart.pyx":13604
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *         if cparamsArray is NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_1 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13605
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))             # <<<<<<<<<<<<<<
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 */
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13605, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_v_cparamsArray = ((struct cudaExternalSemaphoreSignalParams *)calloc(__pyx_t_7, (sizeof(struct cudaExternalSemaphoreSignalParams))));

    /* "cuda/cudart.pyx":13606
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *         for idx in range(len(paramsArray)):
 */
    __pyx_t_1 = ((__pyx_v_cparamsArray == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":13607
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreSignalParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 */
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_n_u_x_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalSemaphoreSignalParams))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 13607, __pyx_L1_error)

      /* "cuda/cudart.pyx":13606
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *         for idx in range(len(paramsArray)):
 */
    }

    /* "cuda/cudart.pyx":13608
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreSignalParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 * 
 */
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13608, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __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/cudart.pyx":13609
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *         for idx in range(len(paramsArray)):
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreSignalParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))             # <<<<<<<<<<<<<<
 * 
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 */
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13609, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      (void)(memcpy((&(__pyx_v_cparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_t_4)->_ptr, (sizeof(struct cudaExternalSemaphoreSignalParams))));
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }

    /* "cuda/cudart.pyx":13604
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *         if cparamsArray is NULL:
 */
  }

  /* "cuda/cudart.pyx":13611
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreSignalParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 * 
 *     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 = ccudart.cudaSignalExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreSignalParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = ((__pyx_v_numExtSems > __pyx_t_7) != 0);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__486); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 13611, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":13612
 * 
 *     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 = ccudart.cudaSignalExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreSignalParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:
 */
  __pyx_t_6 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = ((__pyx_v_numExtSems > __pyx_t_7) != 0);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_kp_u__486); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __PYX_ERR(0, 13612, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":13613
 *     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 = ccudart.cudaSignalExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreSignalParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)             # <<<<<<<<<<<<<<
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_extSemArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_8)->_ptr;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cextSemArray;
  }
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_paramsArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_12 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_t_8)->_ptr;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cparamsArray;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaSignalExternalSemaphoresAsync(__pyx_t_11, __pyx_t_12, __pyx_v_numExtSems, __pyx_v_cstream); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13613, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":13614
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccudart.cudaSignalExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreSignalParams>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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13615
 *     err = ccudart.cudaSignalExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreSignalParams>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/cudart.pyx":13614
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccudart.cudaSignalExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreSignalParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":13616
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = ((__pyx_v_cparamsArray != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13617
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cparamsArray);

    /* "cuda/cudart.pyx":13616
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":13618
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_8 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_14, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13503
 * 
 * @cython.embedsignature(True)
 * def cudaSignalExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreSignalParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Signals a set of external semaphore objects.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaSignalExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_2generator1);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_5generator2);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13621
 * 
 * @cython.embedsignature(True)
 * def cudaWaitExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreWaitParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Waits on a set of external semaphore objects.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_165cudaWaitExternalSemaphoresAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_164cudaWaitExternalSemaphoresAsync[] = "cudaWaitExternalSemaphoresAsync(extSemArray: List[cudaExternalSemaphore_t], paramsArray: List[cudaExternalSemaphoreWaitParams], 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:`~.cudaExternalSemaphoreHandleTypeOpaqueFd`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeOpaqueWin32`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt` then waiting\n    on the semaphore will wait until the semaphore reaches the signaled\n    state. The semaphore will then be reset to the unsignaled state.\n    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:`~.cudaExternalSemaphoreHandleTypeD3D12Fence`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeD3D11Fence`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32` then\n    waiting on the semaphore will wait until the value of the semaphore is\n    greater than or equal to\n    :py:obj:`~.cudaExternalSemaphoreWaitParams`::params::fence::value.\n\n    If the semaphore object is of the type\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeNvSciSync` then, waiting on\n    the semaphore will wait until the\n    :py:obj:`~.cudaExternalSemaphoreSignalParams`::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 memory synchronization operations\n    to be performed over all external me""mory objects that are imported as\n    :py:obj:`~.cudaExternalMemoryHandleTypeNvSciBuf`. This ensures that any\n    subsequent accesses made by other importers of the same set of NvSciBuf\n    memory object(s) are coherent. These operations can be skipped by\n    specifying the flag\n    :py:obj:`~.cudaExternalSemaphoreWaitSkipNvSciBufMemSync`, which can be\n    used as a performance optimization when data coherency is not required.\n    But specifying this flag in scenarios where data coherency is required\n    results in undefined behavior. Also, for semaphore object of the type\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeNvSciSync`, if the\n    NvSciSyncAttrList used to create the NvSciSyncObj had not set the flags\n    in :py:obj:`~.cudaDeviceGetNvSciSyncAttributes` to\n    cudaNvSciSyncAttrWait, this API will return cudaErrorNotSupported.\n\n    If the semaphore object is any one of the following types:\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeKeyedMutex`,\n    :py:obj:`~.cudaExternalSemaphoreHandleTypeKeyedMutexKmt`, then the\n    keyed mutex will be acquired when it is released with the key specified\n    in\n    :py:obj:`~.cudaExternalSemaphoreSignalParams`::params::keyedmutex::key\n    or until the timeout specified by\n    :py:obj:`~.cudaExternalSemaphoreSignalParams`::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:`~.cudaExternalSemaphore_t`]\n        External semaphores to be waited on\n    paramsArray : List[:py:obj:`~.cudaExternalSemaphoreWaitParams`]\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        Strea""m to enqueue the wait operations in\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle` :py:obj:`~.cudaErrorTimeout`\n\n    See Also\n    --------\n    :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaDestroyExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_165cudaWaitExternalSemaphoresAsync = {"cudaWaitExternalSemaphoresAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_165cudaWaitExternalSemaphoresAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_164cudaWaitExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_6cudart_165cudaWaitExternalSemaphoresAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_extSemArray = 0;
  PyObject *__pyx_v_paramsArray = 0;
  unsigned int __pyx_v_numExtSems;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaWaitExternalSemaphoresAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extSemArray_2,&__pyx_n_s_paramsArray_2,&__pyx_n_s_numExtSems_2,&__pyx_n_s_stream,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extSemArray_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_paramsArray_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaWaitExternalSemaphoresAsync", 1, 4, 4, 1); __PYX_ERR(0, 13621, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numExtSems_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaWaitExternalSemaphoresAsync", 1, 4, 4, 2); __PYX_ERR(0, 13621, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaWaitExternalSemaphoresAsync", 1, 4, 4, 3); __PYX_ERR(0, 13621, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaWaitExternalSemaphoresAsync") < 0)) __PYX_ERR(0, 13621, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_extSemArray = values[0];
    __pyx_v_paramsArray = values[1];
    __pyx_v_numExtSems = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13621, __pyx_L3_error)
    __pyx_v_stream = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaWaitExternalSemaphoresAsync", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13621, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaWaitExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_164cudaWaitExternalSemaphoresAsync(__pyx_self, __pyx_v_extSemArray, __pyx_v_paramsArray, __pyx_v_numExtSems, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":13714
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_6_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_6_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_6_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 13714, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_2generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaWaitExternalSemaphoresAsync, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 13714, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaWaitExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 13714, 0, __PYX_ERR(0, 13714, __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(0, 13714, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) { __Pyx_RaiseClosureNameError("paramsArray"); __PYX_ERR(0, 13714, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13714, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 13714, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13714, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 13714, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13714, __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, 13714, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams); 
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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_6cudart_31cudaWaitExternalSemaphoresAsync_5generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":13718
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_3genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_7_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_7_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_7_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 13718, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_5generator4, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaWaitExternalSemaphoresAsync, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 13718, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaWaitExternalSemaphoresAsync.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_5generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 13718, 0, __PYX_ERR(0, 13718, __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(0, 13718, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) { __Pyx_RaiseClosureNameError("extSemArray"); __PYX_ERR(0, 13718, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13718, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 13718, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13718, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 13718, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13718, __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, 13718, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t); 
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":13621
 * 
 * @cython.embedsignature(True)
 * def cudaWaitExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreWaitParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Waits on a set of external semaphore objects.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_164cudaWaitExternalSemaphoresAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSemArray, PyObject *__pyx_v_paramsArray, unsigned int __pyx_v_numExtSems, PyObject *__pyx_v_stream) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *__pyx_cur_scope;
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaExternalSemaphore_t *__pyx_v_cextSemArray;
  Py_ssize_t __pyx_v_idx;
  struct cudaExternalSemaphoreWaitParams *__pyx_v_cparamsArray;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_2generator3 = 0;
  PyObject *__pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_5generator4 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  cudaExternalSemaphore_t *__pyx_t_11;
  struct cudaExternalSemaphoreWaitParams *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__503)
  __Pyx_RefNannySetupContext("cudaWaitExternalSemaphoresAsync", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 13621, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaWaitExternalSemaphoresAsync", __pyx_f[0], 13621, 0, __PYX_ERR(0, 13621, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_extSemArray = __pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_extSemArray);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_extSemArray);
  __pyx_cur_scope->__pyx_v_paramsArray = __pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_paramsArray);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_paramsArray);

  /* "cuda/cudart.pyx":13704
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13705
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13704
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13706
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13707
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":13708
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 13708, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":13706
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13710
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":13711
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
    __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(0, 13711, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":13713
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")
 */
  __pyx_t_1 = (__pyx_cur_scope->__pyx_v_paramsArray == Py_None);
  if ((__pyx_t_1 != 0)) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_paramsArray);
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_paramsArray;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_paramsArray);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_paramsArray, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":13714
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")
 * 
 */
  __pyx_t_6 = __pyx_pf_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 13714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13715
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")             # <<<<<<<<<<<<<<
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__504, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 13715, __pyx_L1_error)

    /* "cuda/cudart.pyx":13714
 * 
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")
 * 
 */
  }

  /* "cuda/cudart.pyx":13717
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_extSemArray == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_extSemArray);
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_extSemArray);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_extSemArray, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13718
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */
  __pyx_t_4 = __pyx_pf_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 13718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":13719
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__502, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 13719, __pyx_L1_error)

    /* "cuda/cudart.pyx":13718
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 */
  }

  /* "cuda/cudart.pyx":13721
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 */
  __pyx_v_cextSemArray = NULL;

  /* "cuda/cudart.pyx":13722
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:
 */
  __pyx_t_6 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13723
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))             # <<<<<<<<<<<<<<
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 */
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13723, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_cextSemArray = ((cudaExternalSemaphore_t *)calloc(__pyx_t_7, (sizeof(cudaExternalSemaphore_t))));

    /* "cuda/cudart.pyx":13724
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_cextSemArray == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":13725
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(extSemArray)):
 */
      __pyx_t_6 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(0, 13725, __pyx_L1_error)

      /* "cuda/cudart.pyx":13724
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":13727
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *         else:
 *             for idx in range(len(extSemArray)):             # <<<<<<<<<<<<<<
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13727, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":13728
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* cparamsArray = NULL
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_extSemArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13728, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cextSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_8)->_ptr[0]);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":13722
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 *         if cextSemArray is NULL:
 */
  }

  /* "cuda/cudart.pyx":13730
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* cparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 */
  __pyx_v_cparamsArray = NULL;

  /* "cuda/cudart.pyx":13731
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *         if cparamsArray is NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_1 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13732
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))             # <<<<<<<<<<<<<<
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 */
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13732, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_v_cparamsArray = ((struct cudaExternalSemaphoreWaitParams *)calloc(__pyx_t_7, (sizeof(struct cudaExternalSemaphoreWaitParams))));

    /* "cuda/cudart.pyx":13733
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *         for idx in range(len(paramsArray)):
 */
    __pyx_t_1 = ((__pyx_v_cparamsArray == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":13734
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreWaitParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 */
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_n_u_x_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalSemaphoreWaitParams))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13734, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 13734, __pyx_L1_error)

      /* "cuda/cudart.pyx":13733
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *         for idx in range(len(paramsArray)):
 */
    }

    /* "cuda/cudart.pyx":13735
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreWaitParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 * 
 */
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13735, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __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/cudart.pyx":13736
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *         for idx in range(len(paramsArray)):
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreWaitParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))             # <<<<<<<<<<<<<<
 * 
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 */
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13736, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      (void)(memcpy((&(__pyx_v_cparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_t_4)->_ptr, (sizeof(struct cudaExternalSemaphoreWaitParams))));
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }

    /* "cuda/cudart.pyx":13731
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *         if cparamsArray is NULL:
 */
  }

  /* "cuda/cudart.pyx":13738
 *             memcpy(&cparamsArray[idx], (<cudaExternalSemaphoreWaitParams>paramsArray[idx])._ptr, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 * 
 *     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 = ccudart.cudaWaitExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreWaitParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13738, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = ((__pyx_v_numExtSems > __pyx_t_7) != 0);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__486); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 13738, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":13739
 * 
 *     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 = ccudart.cudaWaitExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreWaitParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:
 */
  __pyx_t_6 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = ((__pyx_v_numExtSems > __pyx_t_7) != 0);
  if (unlikely(__pyx_t_1)) {
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_kp_u__486); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __PYX_ERR(0, 13739, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":13740
 *     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 = ccudart.cudaWaitExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreWaitParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)             # <<<<<<<<<<<<<<
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_extSemArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_8)->_ptr;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cextSemArray;
  }
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_paramsArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_12 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_t_8)->_ptr;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cparamsArray;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaWaitExternalSemaphoresAsync(__pyx_t_11, __pyx_t_12, __pyx_v_numExtSems, __pyx_v_cstream); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13740, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":13741
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccudart.cudaWaitExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreWaitParams>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) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13742
 *     err = ccudart.cudaWaitExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreWaitParams>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/cudart.pyx":13741
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccudart.cudaWaitExternalSemaphoresAsync((<cudaExternalSemaphore_t>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<cudaExternalSemaphoreWaitParams>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":13743
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = ((__pyx_v_cparamsArray != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13744
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cparamsArray);

    /* "cuda/cudart.pyx":13743
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":13745
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_8 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_14, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13621
 * 
 * @cython.embedsignature(True)
 * def cudaWaitExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreWaitParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Waits on a set of external semaphore objects.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaWaitExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_2generator3);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_5generator4);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13748
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_167cudaDestroyExternalSemaphore(PyObject *__pyx_self, PyObject *__pyx_v_extSem); /*proto*/
static char __pyx_doc_4cuda_6cudart_166cudaDestroyExternalSemaphore[] = "cudaDestroyExternalSemaphore(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:`~.cudaExternalSemaphore_t`\n        External semaphore to be destroyed\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_167cudaDestroyExternalSemaphore = {"cudaDestroyExternalSemaphore", (PyCFunction)__pyx_pw_4cuda_6cudart_167cudaDestroyExternalSemaphore, METH_O, __pyx_doc_4cuda_6cudart_166cudaDestroyExternalSemaphore};
static PyObject *__pyx_pw_4cuda_6cudart_167cudaDestroyExternalSemaphore(PyObject *__pyx_self, PyObject *__pyx_v_extSem) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroyExternalSemaphore (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_166cudaDestroyExternalSemaphore(__pyx_self, ((PyObject *)__pyx_v_extSem));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_166cudaDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSem) {
  cudaExternalSemaphore_t __pyx_v_cextSem;
  PyObject *__pyx_v_pextSem = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__505)
  __Pyx_RefNannySetupContext("cudaDestroyExternalSemaphore", 0);
  __Pyx_TraceCall("cudaDestroyExternalSemaphore", __pyx_f[0], 13748, 0, __PYX_ERR(0, 13748, __pyx_L1_error));

  /* "cuda/cudart.pyx":13770
 *     """
 *     cdef ccudart.cudaExternalSemaphore_t cextSem
 *     if extSem is None:             # <<<<<<<<<<<<<<
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>0
 *     elif isinstance(extSem, (cudaExternalSemaphore_t)):
 */
  __pyx_t_1 = (__pyx_v_extSem == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":13771
 *     cdef ccudart.cudaExternalSemaphore_t cextSem
 *     if extSem is None:
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extSem, (cudaExternalSemaphore_t)):
 *         pextSem = int(extSem)
 */
    __pyx_v_cextSem = ((cudaExternalSemaphore_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":13770
 *     """
 *     cdef ccudart.cudaExternalSemaphore_t cextSem
 *     if extSem is None:             # <<<<<<<<<<<<<<
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>0
 *     elif isinstance(extSem, (cudaExternalSemaphore_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13772
 *     if extSem is None:
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>0
 *     elif isinstance(extSem, (cudaExternalSemaphore_t)):             # <<<<<<<<<<<<<<
 *         pextSem = int(extSem)
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_extSem, __pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":13773
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>0
 *     elif isinstance(extSem, (cudaExternalSemaphore_t)):
 *         pextSem = int(extSem)             # <<<<<<<<<<<<<<
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_extSem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pextSem = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":13774
 *     elif isinstance(extSem, (cudaExternalSemaphore_t)):
 *         pextSem = int(extSem)
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem             # <<<<<<<<<<<<<<
 *     else:
 *         pextSem = int(cudaExternalSemaphore_t(extSem))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextSem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13774, __pyx_L1_error)
    __pyx_v_cextSem = ((cudaExternalSemaphore_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":13772
 *     if extSem is None:
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>0
 *     elif isinstance(extSem, (cudaExternalSemaphore_t)):             # <<<<<<<<<<<<<<
 *         pextSem = int(extSem)
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":13776
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem
 *     else:
 *         pextSem = int(cudaExternalSemaphore_t(extSem))             # <<<<<<<<<<<<<<
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t), __pyx_v_extSem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pextSem = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":13777
 *     else:
 *         pextSem = int(cudaExternalSemaphore_t(extSem))
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaDestroyExternalSemaphore(cextSem)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextSem); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13777, __pyx_L1_error)
    __pyx_v_cextSem = ((cudaExternalSemaphore_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":13779
 *         cextSem = <ccudart.cudaExternalSemaphore_t><void_ptr>pextSem
 * 
 *     err = ccudart.cudaDestroyExternalSemaphore(cextSem)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaDestroyExternalSemaphore(__pyx_v_cextSem); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13779, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":13780
 * 
 *     err = ccudart.cudaDestroyExternalSemaphore(cextSem)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13748
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroyExternalSemaphore", __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/cudart.pyx":13783
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetCacheConfig(func, cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for a device function.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_169cudaFuncSetCacheConfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_168cudaFuncSetCacheConfig[] = "cudaFuncSetCacheConfig(func, cacheConfig: cudaFuncCache)\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 `cacheConfig` the preferred cache\n    configuration for the function specified via `func`. This is only a\n    preference. The runtime will use the requested configuration if\n    possible, but it is free to choose a different configuration if\n    required to execute `func`.\n\n    `func` is a device function symbol and must be declared as a `None`\n    function. If the specified function does not exist, then\n    :py:obj:`~.cudaErrorInvalidDeviceFunction` is returned. For templated\n    functions, pass the function symbol as follows:\n    func_name<template_arg_0,...,template_arg_N>\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:`~.cudaFuncCachePreferNone`: no preference for shared memory\n      or L1 (default)\n\n    - :py:obj:`~.cudaFuncCachePreferShared`: prefer larger shared memory\n      and smaller L1 cache\n\n    - :py:obj:`~.cudaFuncCachePreferL1`: prefer larger L1 cache and smaller\n      shared memory\n\n    - :py:obj:`~.cudaFuncCachePreferEqual`: prefer equal size L1 cache and\n      shared memory\n\n    Parameters\n    ----------\n    func : Any\n        Device function symbol\n    cacheConfig : :py:obj:`~.cudaFuncCache`\n        Requested cache configuration\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDeviceFunction`2\n\n    See Also\n    --------\n    cudaFuncSetCacheConfig (C++ API), :py:obj:`~.cudaFuncGetAttributes (C API)`, :py:obj:`~.cudaLaunchKernel (C API)`, :py:obj:`~.cudaThreadGetCache""Config`, :py:obj:`~.cudaThreadSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_169cudaFuncSetCacheConfig = {"cudaFuncSetCacheConfig", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_169cudaFuncSetCacheConfig, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_168cudaFuncSetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_169cudaFuncSetCacheConfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_func = 0;
  PyObject *__pyx_v_cacheConfig = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFuncSetCacheConfig (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_cacheConfig,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_func_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cacheConfig)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaFuncSetCacheConfig", 1, 2, 2, 1); __PYX_ERR(0, 13783, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaFuncSetCacheConfig") < 0)) __PYX_ERR(0, 13783, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_func = values[0];
    __pyx_v_cacheConfig = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaFuncSetCacheConfig", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13783, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_cacheConfig) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "cacheConfig"); __PYX_ERR(0, 13783, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_168cudaFuncSetCacheConfig(__pyx_self, __pyx_v_func, __pyx_v_cacheConfig);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_168cudaFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_cacheConfig) {
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  enum cudaFuncCache __pyx_v_ccacheConfig;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  enum cudaFuncCache __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__506)
  __Pyx_RefNannySetupContext("cudaFuncSetCacheConfig", 0);
  __Pyx_TraceCall("cudaFuncSetCacheConfig", __pyx_f[0], 13783, 0, __PYX_ERR(0, 13783, __pyx_L1_error));

  /* "cuda/cudart.pyx":13835
 *     cudaFuncSetCacheConfig (C++ API), :py:obj:`~.cudaFuncGetAttributes (C API)`, :py:obj:`~.cudaLaunchKernel (C API)`, :py:obj:`~.cudaThreadGetCacheConfig`, :py:obj:`~.cudaThreadSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`
 *     """
 *     cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13836
 *     """
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 *     err = ccudart.cudaFuncSetCacheConfig(cfunc_ptr, ccacheConfig)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13836, __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(0, 13836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfunc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":13837
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaFuncSetCacheConfig(cfunc_ptr, ccacheConfig)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cacheConfig, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaFuncCache)__Pyx_PyInt_As_enum__cudaFuncCache(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ccacheConfig = __pyx_t_3;

  /* "cuda/cudart.pyx":13838
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 *     err = ccudart.cudaFuncSetCacheConfig(cfunc_ptr, ccacheConfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaFuncSetCacheConfig(__pyx_v_cfunc_ptr, __pyx_v_ccacheConfig); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13838, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":13839
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 *     err = ccudart.cudaFuncSetCacheConfig(cfunc_ptr, ccacheConfig)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13839, __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(0, 13839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13783
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetCacheConfig(func, cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for a device function.
 * 
 */

  /* 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.cudart.cudaFuncSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13842
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetSharedMemConfig(func, config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for a device function.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_171cudaFuncSetSharedMemConfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_170cudaFuncSetSharedMemConfig[] = "cudaFuncSetSharedMemConfig(func, config: cudaSharedMemConfig)\n Sets the shared memory configuration for a device function.\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:`~.cudaFuncSetSharedMemConfig` will override the device wide\n    setting set by :py:obj:`~.cudaDeviceSetSharedMemConfig`.\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    For templated functions, pass the function symbol as follows:\n    func_name<template_arg_0,...,template_arg_N>\n\n    The supported bank configurations are:\n\n    - :py:obj:`~.cudaSharedMemBankSizeDefault`: use the device's shared\n      memory configuration when launching this function.\n\n    - :py:obj:`~.cudaSharedMemBankSizeFourByte`: set shared memory bank\n      width to be four bytes natively when launching this function.\n\n    - :py:obj:`~.cudaSharedMemBankSizeEightByte`: set shared memory bank\n      width to be eight bytes natively when launching this function.\n\n    Parameters\n    ----------\n    func : Any\n        Device function symbol\n    config : :py:obj:`~.cudaSharedMemC""onfig`\n        Requested shared memory configuration\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDeviceFunction`, :py:obj:`~.cudaErrorInvalidValue`,2\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSetSharedMemConfig`, :py:obj:`~.cudaDeviceGetSharedMemConfig`, :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cudaDeviceGetCacheConfig`, :py:obj:`~.cudaFuncSetCacheConfig`, :py:obj:`~.cuFuncSetSharedMemConfig`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_171cudaFuncSetSharedMemConfig = {"cudaFuncSetSharedMemConfig", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_171cudaFuncSetSharedMemConfig, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_170cudaFuncSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_6cudart_171cudaFuncSetSharedMemConfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_func = 0;
  PyObject *__pyx_v_config = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFuncSetSharedMemConfig (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_config,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_func_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_config)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaFuncSetSharedMemConfig", 1, 2, 2, 1); __PYX_ERR(0, 13842, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaFuncSetSharedMemConfig") < 0)) __PYX_ERR(0, 13842, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_func = values[0];
    __pyx_v_config = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaFuncSetSharedMemConfig", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13842, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_config) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "config"); __PYX_ERR(0, 13842, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_170cudaFuncSetSharedMemConfig(__pyx_self, __pyx_v_func, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_170cudaFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_config) {
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  enum cudaSharedMemConfig __pyx_v_cconfig;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  enum cudaSharedMemConfig __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__507)
  __Pyx_RefNannySetupContext("cudaFuncSetSharedMemConfig", 0);
  __Pyx_TraceCall("cudaFuncSetSharedMemConfig", __pyx_f[0], 13842, 0, __PYX_ERR(0, 13842, __pyx_L1_error));

  /* "cuda/cudart.pyx":13897
 *     :py:obj:`~.cudaDeviceSetSharedMemConfig`, :py:obj:`~.cudaDeviceGetSharedMemConfig`, :py:obj:`~.cudaDeviceSetCacheConfig`, :py:obj:`~.cudaDeviceGetCacheConfig`, :py:obj:`~.cudaFuncSetCacheConfig`, :py:obj:`~.cuFuncSetSharedMemConfig`
 *     """
 *     cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13898
 *     """
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value
 *     err = ccudart.cudaFuncSetSharedMemConfig(cfunc_ptr, cconfig)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13898, __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(0, 13898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfunc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":13899
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaFuncSetSharedMemConfig(cfunc_ptr, cconfig)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaSharedMemConfig)__Pyx_PyInt_As_enum__cudaSharedMemConfig(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13899, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cconfig = __pyx_t_3;

  /* "cuda/cudart.pyx":13900
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value
 *     err = ccudart.cudaFuncSetSharedMemConfig(cfunc_ptr, cconfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaFuncSetSharedMemConfig(__pyx_v_cfunc_ptr, __pyx_v_cconfig); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13900, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":13901
 *     cdef ccudart.cudaSharedMemConfig cconfig = config.value
 *     err = ccudart.cudaFuncSetSharedMemConfig(cfunc_ptr, cconfig)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13901, __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(0, 13901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13842
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetSharedMemConfig(func, config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for a device function.
 * 
 */

  /* 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.cudart.cudaFuncSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13904
 * 
 * @cython.embedsignature(True)
 * def cudaFuncGetAttributes(func):             # <<<<<<<<<<<<<<
 *     """ Find out attributes for a given function.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_173cudaFuncGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_func); /*proto*/
static char __pyx_doc_4cuda_6cudart_172cudaFuncGetAttributes[] = "cudaFuncGetAttributes(func)\n Find out attributes for a given function.\n\n    This function obtains the attributes of a function specified via\n    `func`. `func` is a device function symbol and must be declared as a\n    `None` function. The fetched attributes are placed in `attr`. If the\n    specified function does not exist, then\n    :py:obj:`~.cudaErrorInvalidDeviceFunction` is returned. For templated\n    functions, pass the function symbol as follows:\n    func_name<template_arg_0,...,template_arg_N>\n\n    Note that some function attributes such as\n    :py:obj:`~.maxThreadsPerBlock` may vary based on the device that is\n    currently being used.\n\n    Parameters\n    ----------\n    func : Any\n        Device function symbol\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDeviceFunction`2\n    attr : :py:obj:`~.cudaFuncAttributes`\n        Return pointer to function's attributes\n\n    See Also\n    --------\n    :py:obj:`~.cudaFuncSetCacheConfig (C API)`, cudaFuncGetAttributes (C++ API), :py:obj:`~.cudaLaunchKernel (C API)`, :py:obj:`~.cuFuncGetAttribute`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_173cudaFuncGetAttributes = {"cudaFuncGetAttributes", (PyCFunction)__pyx_pw_4cuda_6cudart_173cudaFuncGetAttributes, METH_O, __pyx_doc_4cuda_6cudart_172cudaFuncGetAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_173cudaFuncGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_func) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFuncGetAttributes (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_172cudaFuncGetAttributes(__pyx_self, ((PyObject *)__pyx_v_func));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_172cudaFuncGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func) {
  struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_attr = 0;
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__508)
  __Pyx_RefNannySetupContext("cudaFuncGetAttributes", 0);
  __Pyx_TraceCall("cudaFuncGetAttributes", __pyx_f[0], 13904, 0, __PYX_ERR(0, 13904, __pyx_L1_error));

  /* "cuda/cudart.pyx":13935
 *     :py:obj:`~.cudaFuncSetCacheConfig (C API)`, cudaFuncGetAttributes (C++ API), :py:obj:`~.cudaLaunchKernel (C API)`, :py:obj:`~.cuFuncGetAttribute`
 *     """
 *     cdef cudaFuncAttributes attr = cudaFuncAttributes()             # <<<<<<<<<<<<<<
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaFuncAttributes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_attr = ((struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13936
 *     """
 *     cdef cudaFuncAttributes attr = cudaFuncAttributes()
 *     cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaFuncGetAttributes(attr._ptr, cfunc_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13937
 *     cdef cudaFuncAttributes attr = cudaFuncAttributes()
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaFuncGetAttributes(attr._ptr, cfunc_ptr)
 *     return (cudaError_t(err), attr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13937, __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(0, 13937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfunc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":13938
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaFuncGetAttributes(attr._ptr, cfunc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), attr)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaFuncGetAttributes(__pyx_v_attr->_ptr, __pyx_v_cfunc_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13938, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":13939
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaFuncGetAttributes(attr._ptr, cfunc_ptr)
 *     return (cudaError_t(err), attr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 13939, __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(0, 13939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_attr));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_attr));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_attr));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13904
 * 
 * @cython.embedsignature(True)
 * def cudaFuncGetAttributes(func):             # <<<<<<<<<<<<<<
 *     """ Find out attributes for a given function.
 * 
 */

  /* 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.cudart.cudaFuncGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_attr);
  __Pyx_XDECREF(__pyx_v_cfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13942
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetAttribute(func, attr not None : cudaFuncAttribute, int value):             # <<<<<<<<<<<<<<
 *     """ Set attributes for a given function.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_175cudaFuncSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_174cudaFuncSetAttribute[] = "cudaFuncSetAttribute(func, attr: cudaFuncAttribute, int value)\n Set attributes for a given function.\n\n    This function sets the attributes of a function specified via `func`.\n    The parameter `func` must be a pointer to a function that executes on\n    the device. The parameter specified by `func` must be declared as a\n    `None` function. The enumeration defined by `attr` is set to the value\n    defined by `value`. If the specified function does not exist, then\n    :py:obj:`~.cudaErrorInvalidDeviceFunction` is returned. If the\n    specified attribute cannot be written, or if the value is incorrect,\n    then :py:obj:`~.cudaErrorInvalidValue` is returned.\n\n    Valid values for `attr` are:\n\n    - :py:obj:`~.cudaFuncAttributeMaxDynamicSharedMemorySize` - The\n      requested maximum size in bytes of dynamically-allocated shared\n      memory. The sum of this value and the function attribute\n      :py:obj:`~.sharedSizeBytes` cannot exceed the device attribute\n      :py:obj:`~.cudaDevAttrMaxSharedMemoryPerBlockOptin`. The maximal size\n      of requestable dynamic shared memory may differ by GPU architecture.\n\n    - :py:obj:`~.cudaFuncAttributePreferredSharedMemoryCarveout` - 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:`~.cudaDevAttrMaxSharedMemoryPerMultiprocessor`. This is only\n      a hint, and the driver can choose a different ratio if required to\n      execute the function.\n\n    cudaLaunchKernel (C++ API), cudaFuncSetCacheConfig (C++ API),\n    :py:obj:`~.cudaFuncGetAttributes (C API)`,\n\n    Parameters\n    ----------\n    func : Any\n        Function to get attributes of\n    attr : :py:obj:`~.cudaFuncAttribute`\n        Attribute to set\n    value : int\n        Value to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInval""idDeviceFunction`, :py:obj:`~.cudaErrorInvalidValue`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_175cudaFuncSetAttribute = {"cudaFuncSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_175cudaFuncSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_174cudaFuncSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_175cudaFuncSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_func = 0;
  PyObject *__pyx_v_attr = 0;
  int __pyx_v_value;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFuncSetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_attr,&__pyx_n_s_value,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_func_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaFuncSetAttribute", 1, 3, 3, 1); __PYX_ERR(0, 13942, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaFuncSetAttribute", 1, 3, 3, 2); __PYX_ERR(0, 13942, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaFuncSetAttribute") < 0)) __PYX_ERR(0, 13942, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_func = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13942, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaFuncSetAttribute", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13942, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFuncSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 13942, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_174cudaFuncSetAttribute(__pyx_self, __pyx_v_func, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_174cudaFuncSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_attr, int __pyx_v_value) {
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  enum cudaFuncAttribute __pyx_v_cattr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  enum cudaFuncAttribute __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__509)
  __Pyx_RefNannySetupContext("cudaFuncSetAttribute", 0);
  __Pyx_TraceCall("cudaFuncSetAttribute", __pyx_f[0], 13942, 0, __PYX_ERR(0, 13942, __pyx_L1_error));

  /* "cuda/cudart.pyx":13988
 *         :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDeviceFunction`, :py:obj:`~.cudaErrorInvalidValue`
 *     """
 *     cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaFuncAttribute cattr = attr.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13989
 *     """
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaFuncAttribute cattr = attr.value
 *     err = ccudart.cudaFuncSetAttribute(cfunc_ptr, cattr, value)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13989, __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(0, 13989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfunc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":13990
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaFuncAttribute cattr = attr.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaFuncSetAttribute(cfunc_ptr, cattr, value)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaFuncAttribute)__Pyx_PyInt_As_enum__cudaFuncAttribute(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_3;

  /* "cuda/cudart.pyx":13991
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     cdef ccudart.cudaFuncAttribute cattr = attr.value
 *     err = ccudart.cudaFuncSetAttribute(cfunc_ptr, cattr, value)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaFuncSetAttribute(__pyx_v_cfunc_ptr, __pyx_v_cattr, __pyx_v_value); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13991, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":13992
 *     cdef ccudart.cudaFuncAttribute cattr = attr.value
 *     err = ccudart.cudaFuncSetAttribute(cfunc_ptr, cattr, value)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13992, __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(0, 13992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13942
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetAttribute(func, attr not None : cudaFuncAttribute, int value):             # <<<<<<<<<<<<<<
 *     """ Set attributes for a given function.
 * 
 */

  /* 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.cudart.cudaFuncSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13995
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForDevice(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument to be executed on a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_177cudaSetDoubleForDevice(PyObject *__pyx_self, PyObject *__pyx_arg_d); /*proto*/
static char __pyx_doc_4cuda_6cudart_176cudaSetDoubleForDevice[] = "cudaSetDoubleForDevice(double d)\n Converts a double argument to be executed on a device.\n\n    [Deprecated]\n\n    Converts the double value of `d` to an internal float representation if\n    the device does not support double arithmetic. If the device does\n    natively support doubles, then this function does nothing.\n\n    Parameters\n    ----------\n    d : double\n        Double to convert\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaFuncSetCacheConfig (C API)`, :py:obj:`~.cudaFuncGetAttributes (C API)`, :py:obj:`~.cudaSetDoubleForHost`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_177cudaSetDoubleForDevice = {"cudaSetDoubleForDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_177cudaSetDoubleForDevice, METH_O, __pyx_doc_4cuda_6cudart_176cudaSetDoubleForDevice};
static PyObject *__pyx_pw_4cuda_6cudart_177cudaSetDoubleForDevice(PyObject *__pyx_self, PyObject *__pyx_arg_d) {
  double __pyx_v_d;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaSetDoubleForDevice (wrapper)", 0);
  assert(__pyx_arg_d); {
    __pyx_v_d = __pyx_PyFloat_AsDouble(__pyx_arg_d); if (unlikely((__pyx_v_d == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 13995, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSetDoubleForDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_176cudaSetDoubleForDevice(__pyx_self, ((double)__pyx_v_d));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_176cudaSetDoubleForDevice(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__510)
  __Pyx_RefNannySetupContext("cudaSetDoubleForDevice", 0);
  __Pyx_TraceCall("cudaSetDoubleForDevice", __pyx_f[0], 13995, 0, __PYX_ERR(0, 13995, __pyx_L1_error));

  /* "cuda/cudart.pyx":14018
 *     :py:obj:`~.cudaFuncSetCacheConfig (C API)`, :py:obj:`~.cudaFuncGetAttributes (C API)`, :py:obj:`~.cudaSetDoubleForHost`
 *     """
 *     err = ccudart.cudaSetDoubleForDevice(&d)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaSetDoubleForDevice((&__pyx_v_d)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14018, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":14019
 *     """
 *     err = ccudart.cudaSetDoubleForDevice(&d)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 14019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":13995
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForDevice(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument to be executed on a device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaSetDoubleForDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14022
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForHost(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument after execution on a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_179cudaSetDoubleForHost(PyObject *__pyx_self, PyObject *__pyx_arg_d); /*proto*/
static char __pyx_doc_4cuda_6cudart_178cudaSetDoubleForHost[] = "cudaSetDoubleForHost(double d)\n Converts a double argument after execution on a device.\n\n    [Deprecated]\n\n    Converts the double value of `d` from a potentially internal float\n    representation if the device does not support double arithmetic. If the\n    device does natively support doubles, then this function does nothing.\n\n    Parameters\n    ----------\n    d : double\n        Double to convert\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaFuncSetCacheConfig (C API)`, :py:obj:`~.cudaFuncGetAttributes (C API)`, :py:obj:`~.cudaSetDoubleForDevice`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_179cudaSetDoubleForHost = {"cudaSetDoubleForHost", (PyCFunction)__pyx_pw_4cuda_6cudart_179cudaSetDoubleForHost, METH_O, __pyx_doc_4cuda_6cudart_178cudaSetDoubleForHost};
static PyObject *__pyx_pw_4cuda_6cudart_179cudaSetDoubleForHost(PyObject *__pyx_self, PyObject *__pyx_arg_d) {
  double __pyx_v_d;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaSetDoubleForHost (wrapper)", 0);
  assert(__pyx_arg_d); {
    __pyx_v_d = __pyx_PyFloat_AsDouble(__pyx_arg_d); if (unlikely((__pyx_v_d == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 14022, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaSetDoubleForHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_178cudaSetDoubleForHost(__pyx_self, ((double)__pyx_v_d));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_178cudaSetDoubleForHost(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__511)
  __Pyx_RefNannySetupContext("cudaSetDoubleForHost", 0);
  __Pyx_TraceCall("cudaSetDoubleForHost", __pyx_f[0], 14022, 0, __PYX_ERR(0, 14022, __pyx_L1_error));

  /* "cuda/cudart.pyx":14045
 *     :py:obj:`~.cudaFuncSetCacheConfig (C API)`, :py:obj:`~.cudaFuncGetAttributes (C API)`, :py:obj:`~.cudaSetDoubleForDevice`
 *     """
 *     err = ccudart.cudaSetDoubleForHost(&d)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaSetDoubleForHost((&__pyx_v_d)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14045, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":14046
 *     """
 *     err = ccudart.cudaSetDoubleForHost(&d)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 14046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14022
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForHost(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument after execution on a device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaSetDoubleForHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14049
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_181cudaLaunchHostFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_180cudaLaunchHostFunc[] = "cudaLaunchHostFunc(stream, 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:`~.cudaErrorNotPermitted`, but this is\n    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 the"" end of the stream.\n\n    Note that, in constrast to :py:obj:`~.cuStreamAddCallback`, the\n    function will not be called in the event of an error in the CUDA\n    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:`~.cudaHostFn_t`\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorNotSupported`\n\n    See Also\n    --------\n    :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamQuery`, :py:obj:`~.cudaStreamSynchronize`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaStreamDestroy`, :py:obj:`~.cudaMallocManaged`, :py:obj:`~.cudaStreamAttachMemAsync`, :py:obj:`~.cudaStreamAddCallback`, :py:obj:`~.cuLaunchHostFunc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_181cudaLaunchHostFunc = {"cudaLaunchHostFunc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_181cudaLaunchHostFunc, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_180cudaLaunchHostFunc};
static PyObject *__pyx_pw_4cuda_6cudart_181cudaLaunchHostFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_fn = 0;
  PyObject *__pyx_v_userData = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaLaunchHostFunc (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_fn_2,&__pyx_n_s_userData_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fn_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaLaunchHostFunc", 1, 3, 3, 1); __PYX_ERR(0, 14049, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_userData_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaLaunchHostFunc", 1, 3, 3, 2); __PYX_ERR(0, 14049, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaLaunchHostFunc") < 0)) __PYX_ERR(0, 14049, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_stream = values[0];
    __pyx_v_fn = values[1];
    __pyx_v_userData = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaLaunchHostFunc", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14049, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchHostFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_180cudaLaunchHostFunc(__pyx_self, __pyx_v_stream, __pyx_v_fn, __pyx_v_userData);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_180cudaLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_fn, PyObject *__pyx_v_userData) {
  cudaHostFn_t __pyx_v_cfn;
  PyObject *__pyx_v_pfn = NULL;
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cuserData = NULL;
  void *__pyx_v_cuserData_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__512)
  __Pyx_RefNannySetupContext("cudaLaunchHostFunc", 0);
  __Pyx_TraceCall("cudaLaunchHostFunc", __pyx_f[0], 14049, 0, __PYX_ERR(0, 14049, __pyx_L1_error));

  /* "cuda/cudart.pyx":14111
 *     """
 *     cdef ccudart.cudaHostFn_t cfn
 *     if fn is None:             # <<<<<<<<<<<<<<
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(fn, (cudaHostFn_t)):
 */
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":14112
 *     cdef ccudart.cudaHostFn_t cfn
 *     if fn is None:
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(fn, (cudaHostFn_t)):
 *         pfn = int(fn)
 */
    __pyx_v_cfn = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":14111
 *     """
 *     cdef ccudart.cudaHostFn_t cfn
 *     if fn is None:             # <<<<<<<<<<<<<<
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(fn, (cudaHostFn_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":14113
 *     if fn is None:
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(fn, (cudaHostFn_t)):             # <<<<<<<<<<<<<<
 *         pfn = int(fn)
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_ptype_4cuda_6cudart_cudaHostFn_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":14114
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(fn, (cudaHostFn_t)):
 *         pfn = int(fn)             # <<<<<<<<<<<<<<
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pfn = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":14115
 *     elif isinstance(fn, (cudaHostFn_t)):
 *         pfn = int(fn)
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>pfn             # <<<<<<<<<<<<<<
 *     else:
 *         pfn = int(cudaHostFn_t(fn))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14115, __pyx_L1_error)
    __pyx_v_cfn = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":14113
 *     if fn is None:
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(fn, (cudaHostFn_t)):             # <<<<<<<<<<<<<<
 *         pfn = int(fn)
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":14117
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 *     else:
 *         pfn = int(cudaHostFn_t(fn))             # <<<<<<<<<<<<<<
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>pfn
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostFn_t), __pyx_v_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pfn = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":14118
 *     else:
 *         pfn = int(cudaHostFn_t(fn))
 *         cfn = <ccudart.cudaHostFn_t><void_ptr>pfn             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStream_t cstream
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14118, __pyx_L1_error)
    __pyx_v_cfn = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":14121
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":14122
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":14121
 * 
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":14123
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (!__pyx_t_6) {
  } else {
    __pyx_t_2 = __pyx_t_6;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_6 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L5_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":14124
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_pstream = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":14125
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(stream))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14125, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":14123
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":14127
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pstream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":14128
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14128, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":14130
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_cuserData = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14131
 * 
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaLaunchHostFunc(cstream, cfn, cuserData_ptr)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cuserData_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

  /* "cuda/cudart.pyx":14132
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaLaunchHostFunc(cstream, cfn, cuserData_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14133
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 *         err = ccudart.cudaLaunchHostFunc(cstream, cfn, cuserData_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaLaunchHostFunc(__pyx_v_cstream, __pyx_v_cfn, __pyx_v_cuserData_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14133, __pyx_L8_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":14132
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaLaunchHostFunc(cstream, cfn, cuserData_ptr)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/cudart.pyx":14134
 *     with nogil:
 *         err = ccudart.cudaLaunchHostFunc(cstream, cfn, cuserData_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14049
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaLaunchHostFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfn);
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14137
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_183cudaOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_182cudaOccupancyMaxActiveBlocksPerMultiprocessor[] = "cudaOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize)\n Returns occupancy for a device function.\n\n    Returns in `*numBlocks` the maximum number of active blocks per\n    streaming multiprocessor for the device function.\n\n    Parameters\n    ----------\n    func : Any\n        Kernel function 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidDeviceFunction`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`,\n    numBlocks : int\n        Returned occupancy\n\n    See Also\n    --------\n    :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`, cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSizeWithFlags (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMem (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags (C++ API), cudaOccupancyAvailableDynamicSMemPerBlock (C++ API), :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_183cudaOccupancyMaxActiveBlocksPerMultiprocessor = {"cudaOccupancyMaxActiveBlocksPerMultiprocessor", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_183cudaOccupancyMaxActiveBlocksPerMultiprocessor, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_182cudaOccupancyMaxActiveBlocksPerMultiprocessor};
static PyObject *__pyx_pw_4cuda_6cudart_183cudaOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_func = 0;
  int __pyx_v_blockSize;
  size_t __pyx_v_dynamicSMemSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaOccupancyMaxActiveBlocksPerMultiprocessor (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_blockSize,&__pyx_n_s_dynamicSMemSize,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_func_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_blockSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, 1); __PYX_ERR(0, 14137, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dynamicSMemSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, 2); __PYX_ERR(0, 14137, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaOccupancyMaxActiveBlocksPerMultiprocessor") < 0)) __PYX_ERR(0, 14137, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 14137, __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(0, 14137, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14137, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_182cudaOccupancyMaxActiveBlocksPerMultiprocessor(__pyx_self, __pyx_v_func, __pyx_v_blockSize, __pyx_v_dynamicSMemSize);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_182cudaOccupancyMaxActiveBlocksPerMultiprocessor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize) {
  int __pyx_v_numBlocks;
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__513)
  __Pyx_RefNannySetupContext("cudaOccupancyMaxActiveBlocksPerMultiprocessor", 0);
  __Pyx_TraceCall("cudaOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_f[0], 14137, 0, __PYX_ERR(0, 14137, __pyx_L1_error));

  /* "cuda/cudart.pyx":14163
 *     :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`, cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSizeWithFlags (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMem (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags (C++ API), cudaOccupancyAvailableDynamicSMemPerBlock (C++ API), :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor`
 *     """
 *     cdef int numBlocks = 0             # <<<<<<<<<<<<<<
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 */
  __pyx_v_numBlocks = 0;

  /* "cuda/cudart.pyx":14164
 *     """
 *     cdef int numBlocks = 0
 *     cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14165
 *     cdef int numBlocks = 0
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize)
 *     return (cudaError_t(err), numBlocks)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14165, __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(0, 14165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfunc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14166
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), numBlocks)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessor((&__pyx_v_numBlocks), __pyx_v_cfunc_ptr, __pyx_v_blockSize, __pyx_v_dynamicSMemSize); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14166, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":14167
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize)
 *     return (cudaError_t(err), numBlocks)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14137
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function.
 * 
 */

  /* 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.cudart.cudaOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14170
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyAvailableDynamicSMemPerBlock(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_6cudart_185cudaOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_184cudaOccupancyAvailableDynamicSMemPerBlock[] = "cudaOccupancyAvailableDynamicSMemPerBlock(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 : Any\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 block\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidDeviceFunction`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`,\n    dynamicSmemSize : int\n        Returned maximum dynamic shared memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`, cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSizeWithFlags (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMem (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags (C++ API), :py:obj:`~.cudaOccupancyAvailableDynamicSMemPerBlock`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_185cudaOccupancyAvailableDynamicSMemPerBlock = {"cudaOccupancyAvailableDynamicSMemPerBlock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_185cudaOccupancyAvailableDynamicSMemPerBlock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_184cudaOccupancyAvailableDynamicSMemPerBlock};
static PyObject *__pyx_pw_4cuda_6cudart_185cudaOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_func = 0;
  int __pyx_v_numBlocks;
  int __pyx_v_blockSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaOccupancyAvailableDynamicSMemPerBlock (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_numBlocks,&__pyx_n_s_blockSize,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_func_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numBlocks)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, 1); __PYX_ERR(0, 14170, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_blockSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, 2); __PYX_ERR(0, 14170, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaOccupancyAvailableDynamicSMemPerBlock") < 0)) __PYX_ERR(0, 14170, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 14170, __pyx_L3_error)
    __pyx_v_blockSize = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14170, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14170, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaOccupancyAvailableDynamicSMemPerBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_184cudaOccupancyAvailableDynamicSMemPerBlock(__pyx_self, __pyx_v_func, __pyx_v_numBlocks, __pyx_v_blockSize);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_184cudaOccupancyAvailableDynamicSMemPerBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_numBlocks, int __pyx_v_blockSize) {
  size_t __pyx_v_dynamicSmemSize;
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__514)
  __Pyx_RefNannySetupContext("cudaOccupancyAvailableDynamicSMemPerBlock", 0);
  __Pyx_TraceCall("cudaOccupancyAvailableDynamicSMemPerBlock", __pyx_f[0], 14170, 0, __PYX_ERR(0, 14170, __pyx_L1_error));

  /* "cuda/cudart.pyx":14196
 *     :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`, cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSizeWithFlags (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMem (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags (C++ API), :py:obj:`~.cudaOccupancyAvailableDynamicSMemPerBlock`
 *     """
 *     cdef size_t dynamicSmemSize = 0             # <<<<<<<<<<<<<<
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 */
  __pyx_v_dynamicSmemSize = 0;

  /* "cuda/cudart.pyx":14197
 *     """
 *     cdef size_t dynamicSmemSize = 0
 *     cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc_ptr, numBlocks, blockSize)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14198
 *     cdef size_t dynamicSmemSize = 0
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc_ptr, numBlocks, blockSize)
 *     return (cudaError_t(err), dynamicSmemSize)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14198, __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(0, 14198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfunc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14199
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc_ptr, numBlocks, blockSize)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), dynamicSmemSize)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaOccupancyAvailableDynamicSMemPerBlock((&__pyx_v_dynamicSmemSize), __pyx_v_cfunc_ptr, __pyx_v_numBlocks, __pyx_v_blockSize); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14199, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":14200
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc_ptr, numBlocks, blockSize)
 *     return (cudaError_t(err), dynamicSmemSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14200, __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_dynamicSmemSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14170
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyAvailableDynamicSMemPerBlock(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_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart.cudaOccupancyAvailableDynamicSMemPerBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14203
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function with the specified flags.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_187cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_186cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags[] = "cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags)\n Returns occupancy for a device function with the specified flags.\n\n    Returns in `*numBlocks` the maximum number of active blocks per\n    streaming multiprocessor for the device function.\n\n    The `flags` parameter controls how special cases are handled. Valid\n    flags include:\n\n    - :py:obj:`~.cudaOccupancyDefault`: keeps the default behavior as\n      :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessor`\n\n    - :py:obj:`~.cudaOccupancyDisableCachingOverride`: This flag 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 this flag makes the occupancy calculator to return 0 in such\n      cases. More information can be found about this feature in the\n      \"Unified L1/Texture Cache\" section of the Maxwell tuning guide.\n\n    Parameters\n    ----------\n    func : Any\n        Kernel function 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidDeviceFunction`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`,\n    numBlocks : int\n        Returned occupancy\n\n    See Also\n    --------\n    :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessor`, cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSizeWithFlags (C++ API), cudaOccupancyMaxPotentialBl""ockSizeVariableSMem (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags (C++ API), cudaOccupancyAvailableDynamicSMemPerBlock (C++ API), :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_187cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = {"cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_187cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_186cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_187cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_func = 0;
  int __pyx_v_blockSize;
  size_t __pyx_v_dynamicSMemSize;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_blockSize,&__pyx_n_s_dynamicSMemSize,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_func_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_blockSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, 1); __PYX_ERR(0, 14203, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dynamicSMemSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, 2); __PYX_ERR(0, 14203, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, 3); __PYX_ERR(0, 14203, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags") < 0)) __PYX_ERR(0, 14203, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__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(0, 14203, __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(0, 14203, __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(0, 14203, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14203, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_186cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(__pyx_self, __pyx_v_func, __pyx_v_blockSize, __pyx_v_dynamicSMemSize, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_186cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize, unsigned int __pyx_v_flags) {
  int __pyx_v_numBlocks;
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__515)
  __Pyx_RefNannySetupContext("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 0);
  __Pyx_TraceCall("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_f[0], 14203, 0, __PYX_ERR(0, 14203, __pyx_L1_error));

  /* "cuda/cudart.pyx":14246
 *     :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessor`, cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSizeWithFlags (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMem (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags (C++ API), cudaOccupancyAvailableDynamicSMemPerBlock (C++ API), :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`
 *     """
 *     cdef int numBlocks = 0             # <<<<<<<<<<<<<<
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 */
  __pyx_v_numBlocks = 0;

  /* "cuda/cudart.pyx":14247
 *     """
 *     cdef int numBlocks = 0
 *     cfunc = utils.HelperInputVoidPtr(func)             # <<<<<<<<<<<<<<
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize, flags)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_func); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14248
 *     cdef int numBlocks = 0
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize, flags)
 *     return (cudaError_t(err), numBlocks)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfunc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14248, __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(0, 14248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfunc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14249
 *     cfunc = utils.HelperInputVoidPtr(func)
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), numBlocks)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags((&__pyx_v_numBlocks), __pyx_v_cfunc_ptr, __pyx_v_blockSize, __pyx_v_dynamicSMemSize, __pyx_v_flags); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14249, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":14250
 *     cdef void* cfunc_ptr = <void*><void_ptr>cfunc.cptr
 *     err = ccudart.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc_ptr, blockSize, dynamicSMemSize, flags)
 *     return (cudaError_t(err), numBlocks)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14203
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function with the specified flags.
 * 
 */

  /* 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.cudart.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14253
 * 
 * @cython.embedsignature(True)
 * def cudaMallocManaged(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_189cudaMallocManaged(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_188cudaMallocManaged[] = "cudaMallocManaged(size_t size, unsigned int flags)\n Allocates memory that will be automatically managed by the Unified Memory system.\n\n    Allocates `size` bytes of managed memory on the device and returns in\n    `*devPtr` a pointer to the allocated memory. If the device doesn't\n    support allocating managed memory, :py:obj:`~.cudaErrorNotSupported` is\n    returned. Support for managed memory can be queried using the device\n    attribute :py:obj:`~.cudaDevAttrManagedMemory`. The allocated memory is\n    suitably aligned for any kind of variable. The memory is not cleared.\n    If `size` is 0, :py:obj:`~.cudaMallocManaged` returns\n    :py:obj:`~.cudaErrorInvalidValue`. The pointer is valid on the CPU and\n    on all GPUs in the system that support managed memory. All accesses to\n    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:`~.cudaMemAttachGlobal` or\n    :py:obj:`~.cudaMemAttachHost`. The default value for `flags` is\n    :py:obj:`~.cudaMemAttachGlobal`. If :py:obj:`~.cudaMemAttachGlobal` is\n    specified, then this memory is accessible from any stream on any\n    device. If :py:obj:`~.cudaMemAttachHost` 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:`~.cudaDevAttrConcurrentManagedAccess`; an explicit call to\n    :py:obj:`~.cudaStreamAttachMemAsync` will be required to enable access\n    on such devices.\n\n    If the association is later changed via\n    :py:obj:`~.cudaStreamAttachMemAsync` to a single stream, the default\n    association, as specifed during :py:obj:`~.cudaMallocManaged`, is\n    restored when that stream is destroyed. For managed variables, the\n    default association is always :py:obj:`~.cudaMemAttachGlobal`. Note\n    that destroying a stream is an asynchronous operation, and as a result,\n    the change to def""ault association won't happen until all work in the\n    stream has completed.\n\n    Memory allocated with :py:obj:`~.cudaMallocManaged` should be released\n    with :py:obj:`~.cudaFree`.\n\n    Device memory oversubscription is possible for GPUs that have a non-\n    zero value for the device attribute\n    :py:obj:`~.cudaDevAttrConcurrentManagedAccess`. Managed memory on such\n    GPUs may be evicted from device memory to host memory at any time by\n    the Unified Memory driver in order to make room for other allocations.\n\n    In a multi-GPU system where all GPUs have a non-zero value for the\n    device attribute :py:obj:`~.cudaDevAttrConcurrentManagedAccess`,\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:`~.cudaMemAdvise`. The\n    application can also explicitly migrate memory to a desired processor's\n    memory via :py:obj:`~.cudaMemPrefetchAsync`.\n\n    In a multi-GPU system where all of the GPUs have a zero value for the\n    device attribute :py:obj:`~.cudaDevAttrConcurrentManagedAccess` and all\n    the GPUs have peer-to-peer support with each other, the physical\n    storage for managed memory is created on the GPU which is active at the\n    time :py:obj:`~.cudaMallocManaged` is called. All other GPUs will\n    reference the data at reduced bandwidth via peer mappings over the PCIe\n    bus. The 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:`~.cudaDevAttrConcurrentManagedAccess` is zero for at least one\n    o""f those GPUs, the location chosen for physical storage of managed\n    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 :py:obj:`~.cudaDevAttrConcurrentManagedAccess`. If\n      there is an active context on a GPU that does not have a non-zero\n      value for that device attribute and it does not have peer-to-peer\n      support with the other devices that have active contexts on them,\n      then the location for physical storage will be 'zero-copy' or host\n      memory. Note that this means that managed memory that is located in\n      device memory is migrated to host memory if a new context is created\n      on a GPU that doesn't have a non-zero value for the device attribute\n      and does not support peer-to-peer with at least one of the other\n      devices 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      devices used in that process that support managed memory have to be\n      peer-to-peer compatible with each other. The error\n      :py:obj:`~.cudaErrorInvalidDevice` will be returned if a device that\n      supports managed"" memory is used and it is not peer-to-peer compatible\n      with any of the other managed memory supporting devices that were\n      previously used in that process, even if :py:obj:`~.cudaDeviceReset`\n      has been called on those devices. These environment variables are\n      described in the CUDA programming guide under the \"CUDA environment\n      variables\" section.\n\n    Parameters\n    ----------\n    size : size_t\n        Requested allocation size in bytes\n    flags : unsigned int\n        Must be either :py:obj:`~.cudaMemAttachGlobal` or\n        :py:obj:`~.cudaMemAttachHost` (defaults to\n        :py:obj:`~.cudaMemAttachGlobal`)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorMemoryAllocation`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`\n    devPtr : Any\n        Pointer to allocated device memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cudaDeviceGetAttribute`, :py:obj:`~.cudaStreamAttachMemAsync`, :py:obj:`~.cuMemAllocManaged`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_189cudaMallocManaged = {"cudaMallocManaged", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_189cudaMallocManaged, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_188cudaMallocManaged};
static PyObject *__pyx_pw_4cuda_6cudart_189cudaMallocManaged(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_size;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMallocManaged (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size_2,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocManaged", 1, 2, 2, 1); __PYX_ERR(0, 14253, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMallocManaged") < 0)) __PYX_ERR(0, 14253, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 14253, __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(0, 14253, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMallocManaged", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14253, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMallocManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_188cudaMallocManaged(__pyx_self, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_188cudaMallocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__516)
  __Pyx_RefNannySetupContext("cudaMallocManaged", 0);
  __Pyx_TraceCall("cudaMallocManaged", __pyx_f[0], 14253, 0, __PYX_ERR(0, 14253, __pyx_L1_error));

  /* "cuda/cudart.pyx":14376
 *     :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cudaDeviceGetAttribute`, :py:obj:`~.cudaStreamAttachMemAsync`, :py:obj:`~.cuMemAllocManaged`
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMallocManaged(<void**>&devPtr, size, flags)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":14377
 *     """
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocManaged(<void**>&devPtr, size, flags)
 *     return (cudaError_t(err), devPtr)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14378
 *     cdef void_ptr devPtr = 0
 *     with nogil:
 *         err = ccudart.cudaMallocManaged(<void**>&devPtr, size, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaMallocManaged(((void **)(&__pyx_v_devPtr)), __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14378, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":14377
 *     """
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocManaged(<void**>&devPtr, size, flags)
 *     return (cudaError_t(err), devPtr)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14379
 *     with nogil:
 *         err = ccudart.cudaMallocManaged(<void**>&devPtr, size, flags)
 *     return (cudaError_t(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 14379, __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_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14253
 * 
 * @cython.embedsignature(True)
 * def cudaMallocManaged(size_t size, 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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaMallocManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14382
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocate memory on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_191cudaMalloc(PyObject *__pyx_self, PyObject *__pyx_arg_size); /*proto*/
static char __pyx_doc_4cuda_6cudart_190cudaMalloc[] = "cudaMalloc(size_t size)\n Allocate memory on the device.\n\n    Allocates `size` bytes of linear memory on the device and returns in\n    `*devPtr` a pointer to the allocated memory. The allocated memory is\n    suitably aligned for any kind of variable. The memory is not cleared.\n    :py:obj:`~.cudaMalloc()` returns :py:obj:`~.cudaErrorMemoryAllocation`\n    in case of failure.\n\n    The device version of :py:obj:`~.cudaFree` cannot be used with a\n    `*devPtr` allocated using the host API, and vice versa.\n\n    Parameters\n    ----------\n    size : size_t\n        Requested allocation size in bytes\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    devPtr : Any\n        Pointer to allocated device memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemAlloc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_191cudaMalloc = {"cudaMalloc", (PyCFunction)__pyx_pw_4cuda_6cudart_191cudaMalloc, METH_O, __pyx_doc_4cuda_6cudart_190cudaMalloc};
static PyObject *__pyx_pw_4cuda_6cudart_191cudaMalloc(PyObject *__pyx_self, PyObject *__pyx_arg_size) {
  size_t __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMalloc (wrapper)", 0);
  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(0, 14382, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMalloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_190cudaMalloc(__pyx_self, ((size_t)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_190cudaMalloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__517)
  __Pyx_RefNannySetupContext("cudaMalloc", 0);
  __Pyx_TraceCall("cudaMalloc", __pyx_f[0], 14382, 0, __PYX_ERR(0, 14382, __pyx_L1_error));

  /* "cuda/cudart.pyx":14410
 *     :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemAlloc`
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMalloc(<void**>&devPtr, size)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":14411
 *     """
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMalloc(<void**>&devPtr, size)
 *     return (cudaError_t(err), devPtr)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14412
 *     cdef void_ptr devPtr = 0
 *     with nogil:
 *         err = ccudart.cudaMalloc(<void**>&devPtr, size)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaMalloc(((void **)(&__pyx_v_devPtr)), __pyx_v_size); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14412, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":14411
 *     """
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMalloc(<void**>&devPtr, size)
 *     return (cudaError_t(err), devPtr)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14413
 *     with nogil:
 *         err = ccudart.cudaMalloc(<void**>&devPtr, size)
 *     return (cudaError_t(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 14413, __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_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14382
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocate memory on the device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaMalloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14416
 * 
 * @cython.embedsignature(True)
 * def cudaMallocHost(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_193cudaMallocHost(PyObject *__pyx_self, PyObject *__pyx_arg_size); /*proto*/
static char __pyx_doc_4cuda_6cudart_192cudaMallocHost[] = "cudaMallocHost(size_t size)\n Allocates page-locked memory on the host.\n\n    Allocates `size` 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:`~.cudaMemcpy`*(). 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()`. Allocating excessive amounts of memory with\n    :py:obj:`~.cudaMallocHost()` 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    Parameters\n    ----------\n    size : size_t\n        Requested allocation size in bytes\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    ptr : Any\n        Pointer to allocated host memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, cudaMallocHost (C++ API), :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemAllocHost`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_193cudaMallocHost = {"cudaMallocHost", (PyCFunction)__pyx_pw_4cuda_6cudart_193cudaMallocHost, METH_O, __pyx_doc_4cuda_6cudart_192cudaMallocHost};
static PyObject *__pyx_pw_4cuda_6cudart_193cudaMallocHost(PyObject *__pyx_self, PyObject *__pyx_arg_size) {
  size_t __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMallocHost (wrapper)", 0);
  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(0, 14416, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMallocHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_192cudaMallocHost(__pyx_self, ((size_t)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_192cudaMallocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__518)
  __Pyx_RefNannySetupContext("cudaMallocHost", 0);
  __Pyx_TraceCall("cudaMallocHost", __pyx_f[0], 14416, 0, __PYX_ERR(0, 14416, __pyx_L1_error));

  /* "cuda/cudart.pyx":14447
 *     :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, cudaMallocHost (C++ API), :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemAllocHost`
 *     """
 *     cdef void_ptr ptr = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMallocHost(<void**>&ptr, size)
 *     return (cudaError_t(err), ptr)
 */
  __pyx_v_ptr = 0;

  /* "cuda/cudart.pyx":14448
 *     """
 *     cdef void_ptr ptr = 0
 *     err = ccudart.cudaMallocHost(<void**>&ptr, size)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ptr)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaMallocHost(((void **)(&__pyx_v_ptr)), __pyx_v_size); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14448, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":14449
 *     cdef void_ptr ptr = 0
 *     err = ccudart.cudaMallocHost(<void**>&ptr, size)
 *     return (cudaError_t(err), ptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 14449, __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_ptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14416
 * 
 * @cython.embedsignature(True)
 * def cudaMallocHost(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */

  /* 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.cudart.cudaMallocHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14452
 * 
 * @cython.embedsignature(True)
 * def cudaMallocPitch(size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Allocates pitched memory on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_195cudaMallocPitch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_194cudaMallocPitch[] = "cudaMallocPitch(size_t width, size_t height)\n Allocates pitched memory on the device.\n\n    Allocates at least `width` (in bytes) * `height` bytes of linear memory\n    on the device and returns in `*devPtr` a pointer to the allocated\n    memory. The function may pad the allocation to ensure that\n    corresponding pointers in any given row will continue to meet the\n    alignment requirements for coalescing as the address is updated from\n    row to row. The pitch returned in `*pitch` by\n    :py:obj:`~.cudaMallocPitch()` 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    For allocations of 2D arrays, it is recommended that programmers\n    consider performing pitch allocations using\n    :py:obj:`~.cudaMallocPitch()`. Due to pitch alignment restrictions in\n    the hardware, this is especially true if the application will be\n    performing 2D memory copies between different regions of device memory\n    (whether linear memory or CUDA arrays).\n\n    Parameters\n    ----------\n    width : size_t\n        Requested pitched allocation width (in bytes)\n    height : size_t\n        Requested pitched allocation height\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    devPtr : Any\n        Pointer to allocated pitched device memory\n    pitch : int\n        Pitch for allocation\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemAl""locPitch`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_195cudaMallocPitch = {"cudaMallocPitch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_195cudaMallocPitch, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_194cudaMallocPitch};
static PyObject *__pyx_pw_4cuda_6cudart_195cudaMallocPitch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMallocPitch (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_width_2,&__pyx_n_s_height_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocPitch", 1, 2, 2, 1); __PYX_ERR(0, 14452, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMallocPitch") < 0)) __PYX_ERR(0, 14452, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 14452, __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(0, 14452, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMallocPitch", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14452, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMallocPitch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_194cudaMallocPitch(__pyx_self, __pyx_v_width, __pyx_v_height);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_194cudaMallocPitch(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_width, size_t __pyx_v_height) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  size_t __pyx_v_pitch;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__519)
  __Pyx_RefNannySetupContext("cudaMallocPitch", 0);
  __Pyx_TraceCall("cudaMallocPitch", __pyx_f[0], 14452, 0, __PYX_ERR(0, 14452, __pyx_L1_error));

  /* "cuda/cudart.pyx":14496
 *     :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemAllocPitch`
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     cdef size_t pitch = 0
 *     err = ccudart.cudaMallocPitch(<void**>&devPtr, &pitch, width, height)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":14497
 *     """
 *     cdef void_ptr devPtr = 0
 *     cdef size_t pitch = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMallocPitch(<void**>&devPtr, &pitch, width, height)
 *     return (cudaError_t(err), devPtr, pitch)
 */
  __pyx_v_pitch = 0;

  /* "cuda/cudart.pyx":14498
 *     cdef void_ptr devPtr = 0
 *     cdef size_t pitch = 0
 *     err = ccudart.cudaMallocPitch(<void**>&devPtr, &pitch, width, height)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr, pitch)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaMallocPitch(((void **)(&__pyx_v_devPtr)), (&__pyx_v_pitch), __pyx_v_width, __pyx_v_height); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14498, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":14499
 *     cdef size_t pitch = 0
 *     err = ccudart.cudaMallocPitch(<void**>&devPtr, &pitch, width, height)
 *     return (cudaError_t(err), devPtr, pitch)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 14499, __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_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_pitch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
  __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/cudart.pyx":14452
 * 
 * @cython.embedsignature(True)
 * def cudaMallocPitch(size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Allocates pitched memory on the device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaMallocPitch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14502
 * 
 * @cython.embedsignature(True)
 * def cudaMallocArray(desc : cudaChannelFormatDesc, size_t width, size_t height, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_197cudaMallocArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_196cudaMallocArray[] = "cudaMallocArray(cudaChannelFormatDesc desc: cudaChannelFormatDesc, size_t width, size_t height, unsigned int flags)\n Allocate an array on the device.\n\n    Allocates a CUDA array according to the\n    :py:obj:`~.cudaChannelFormatDesc` structure `desc` and returns a handle\n    to the new CUDA array in `*array`.\n\n    The :py:obj:`~.cudaChannelFormatDesc` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaChannelFormatKind` is one of\n    :py:obj:`~.cudaChannelFormatKindSigned`,\n    :py:obj:`~.cudaChannelFormatKindUnsigned`, or\n    :py:obj:`~.cudaChannelFormatKindFloat`.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows.\n\n    - :py:obj:`~.cudaArrayDefault`: This flag's value is defined to be 0\n      and provides default array allocation\n\n    - :py:obj:`~.cudaArraySurfaceLoadStore`: Allocates an array that can be\n      read from or written to using a surface reference\n\n    - :py:obj:`~.cudaArrayTextureGather`: This flag indicates that texture\n      gather operations will be performed on the array.\n\n    - :py:obj:`~.cudaArraySparse`: Allocates a CUDA array without physical\n      backing memory. The subregions within this sparse array can later be\n      mapped onto a physical memory allocation by calling\n      :py:obj:`~.cuMemMapArrayAsync`. The physical backing memory must be\n      allocated via :py:obj:`~.cuMemCreate`.\n\n    - :py:obj:`~.cudaArrayDeferredMapping`: Allocates a CUDA array without\n      physical backing memory. The entire array can later be mapped onto a\n      physical memory allocation by calling :py:obj:`~.cuMemMapArrayAsync`.\n      The physical backing memory must be allocated via\n      :py:obj:`~.cuMemCreate`.\n\n    `width` and `height` must meet certain size requirements. See\n    :py:obj:`~.cudaMalloc3DArray()` for more details.\n\n    Parameters\n    ----------\n    desc : :py:obj:`~.cudaChannelFormat""Desc`\n        Requested channel format\n    width : size_t\n        Requested array allocation width\n    height : size_t\n        Requested array allocation height\n    flags : unsigned int\n        Requested properties of allocated array\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    array : :py:obj:`~.cudaArray_t`\n        Pointer to allocated array in device memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuArrayCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_197cudaMallocArray = {"cudaMallocArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_197cudaMallocArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_196cudaMallocArray};
static PyObject *__pyx_pw_4cuda_6cudart_197cudaMallocArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc = 0;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMallocArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_desc_2,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocArray", 1, 4, 4, 1); __PYX_ERR(0, 14502, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocArray", 1, 4, 4, 2); __PYX_ERR(0, 14502, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocArray", 1, 4, 4, 3); __PYX_ERR(0, 14502, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMallocArray") < 0)) __PYX_ERR(0, 14502, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)values[0]);
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 14502, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 14502, __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(0, 14502, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMallocArray", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14502, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMallocArray", __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_6cudart_cudaChannelFormatDesc, 1, "desc", 0))) __PYX_ERR(0, 14502, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_196cudaMallocArray(__pyx_self, __pyx_v_desc, __pyx_v_width, __pyx_v_height, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_196cudaMallocArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc, size_t __pyx_v_width, size_t __pyx_v_height, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array = 0;
  struct cudaChannelFormatDesc *__pyx_v_cdesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaChannelFormatDesc *__pyx_t_2;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__520)
  __Pyx_RefNannySetupContext("cudaMallocArray", 0);
  __Pyx_TraceCall("cudaMallocArray", __pyx_f[0], 14502, 0, __PYX_ERR(0, 14502, __pyx_L1_error));

  /* "cuda/cudart.pyx":14567
 *     :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuArrayCreate`
 *     """
 *     cdef cudaArray_t array = cudaArray_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_array = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14568
 *     """
 *     cdef cudaArray_t array = cudaArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMallocArray(array._ptr, cdesc_ptr, width, height, flags)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_desc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14568, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 14568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_desc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cdesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":14569
 *     cdef cudaArray_t array = cudaArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocArray(array._ptr, cdesc_ptr, width, height, flags)
 *     return (cudaError_t(err), array)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14570
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:
 *         err = ccudart.cudaMallocArray(array._ptr, cdesc_ptr, width, height, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), array)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMallocArray(__pyx_v_array->_ptr, __pyx_v_cdesc_ptr, __pyx_v_width, __pyx_v_height, __pyx_v_flags); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14570, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":14569
 *     cdef cudaArray_t array = cudaArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocArray(array._ptr, cdesc_ptr, width, height, flags)
 *     return (cudaError_t(err), array)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14571
 *     with nogil:
 *         err = ccudart.cudaMallocArray(array._ptr, cdesc_ptr, width, height, flags)
 *     return (cudaError_t(err), array)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14571, __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(0, 14571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_array));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_array));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_array));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14502
 * 
 * @cython.embedsignature(True)
 * def cudaMallocArray(desc : cudaChannelFormatDesc, size_t width, size_t height, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */

  /* 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.cudart.cudaMallocArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14574
 * 
 * @cython.embedsignature(True)
 * def cudaFree(devPtr):             # <<<<<<<<<<<<<<
 *     """ Frees memory on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_199cudaFree(PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /*proto*/
static char __pyx_doc_4cuda_6cudart_198cudaFree[] = "cudaFree(devPtr)\n Frees memory on the device.\n\n    Frees the memory space pointed to by `devPtr`, which must have been\n    returned by a previous call to one of the following memory allocation\n    APIs - :py:obj:`~.cudaMalloc()`, :py:obj:`~.cudaMallocPitch()`,\n    :py:obj:`~.cudaMallocManaged()`, :py:obj:`~.cudaMallocAsync()`,\n    :py:obj:`~.cudaMallocFromPoolAsync()`.\n\n    Note - This API will not perform any implicit synchronization when the\n    pointer was allocated with :py:obj:`~.cudaMallocAsync` or\n    :py:obj:`~.cudaMallocFromPoolAsync`. Callers must ensure that all\n    accesses to the pointer have completed before invoking\n    :py:obj:`~.cudaFree`. For best performance and memory reuse, users\n    should use :py:obj:`~.cudaFreeAsync` to free memory allocated via the\n    stream ordered memory allocator.\n\n    If :py:obj:`~.cudaFree`(`devPtr`) has already been called before, an\n    error is returned. If `devPtr` is 0, no operation is performed.\n    :py:obj:`~.cudaFree()` returns :py:obj:`~.cudaErrorValue` in case of\n    failure.\n\n    The device version of :py:obj:`~.cudaFree` cannot be used with a\n    `*devPtr` allocated using the host API, and vice versa.\n\n    Parameters\n    ----------\n    devPtr : Any\n        Device pointer to memory to free\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaMallocManaged`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaMallocFromPoolAsync` :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaFreeAsync` :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemFree`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_199cudaFree = {"cudaFree", (PyCFunction)__pyx_pw_4cuda_6cudart_199cudaFree, METH_O, __pyx_doc_4cuda_6cudart_198cudaFree};
static PyObject *__pyx_pw_4cuda_6cudart_199cudaFree(PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFree (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_198cudaFree(__pyx_self, ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_198cudaFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__521)
  __Pyx_RefNannySetupContext("cudaFree", 0);
  __Pyx_TraceCall("cudaFree", __pyx_f[0], 14574, 0, __PYX_ERR(0, 14574, __pyx_L1_error));

  /* "cuda/cudart.pyx":14613
 *     :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaMallocManaged`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaMallocFromPoolAsync` :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaFreeAsync` :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemFree`
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14614
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaFree(cdevPtr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14614, __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(0, 14614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14615
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFree(cdevPtr_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14616
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaFree(cdevPtr_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaFree(__pyx_v_cdevPtr_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14616, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":14615
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFree(cdevPtr_ptr)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14617
 *     with nogil:
 *         err = ccudart.cudaFree(cdevPtr_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14617, __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(0, 14617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14574
 * 
 * @cython.embedsignature(True)
 * def cudaFree(devPtr):             # <<<<<<<<<<<<<<
 *     """ Frees memory on the device.
 * 
 */

  /* 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.cudart.cudaFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14620
 * 
 * @cython.embedsignature(True)
 * def cudaFreeHost(ptr):             # <<<<<<<<<<<<<<
 *     """ Frees page-locked memory.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_201cudaFreeHost(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_200cudaFreeHost[] = "cudaFreeHost(ptr)\n Frees page-locked memory.\n\n    Frees the memory space pointed to by `hostPtr`, which must have been\n    returned by a previous call to :py:obj:`~.cudaMallocHost()` or\n    :py:obj:`~.cudaHostAlloc()`.\n\n    Parameters\n    ----------\n    ptr : Any\n        Pointer to memory to free\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemFreeHost`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_201cudaFreeHost = {"cudaFreeHost", (PyCFunction)__pyx_pw_4cuda_6cudart_201cudaFreeHost, METH_O, __pyx_doc_4cuda_6cudart_200cudaFreeHost};
static PyObject *__pyx_pw_4cuda_6cudart_201cudaFreeHost(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFreeHost (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_200cudaFreeHost(__pyx_self, ((PyObject *)__pyx_v_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_200cudaFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__522)
  __Pyx_RefNannySetupContext("cudaFreeHost", 0);
  __Pyx_TraceCall("cudaFreeHost", __pyx_f[0], 14620, 0, __PYX_ERR(0, 14620, __pyx_L1_error));

  /* "cuda/cudart.pyx":14641
 *     :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemFreeHost`
 *     """
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14642
 *     """
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaFreeHost(cptr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14642, __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(0, 14642, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14643
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeHost(cptr_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14644
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:
 *         err = ccudart.cudaFreeHost(cptr_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaFreeHost(__pyx_v_cptr_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14644, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":14643
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeHost(cptr_ptr)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14645
 *     with nogil:
 *         err = ccudart.cudaFreeHost(cptr_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14645, __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(0, 14645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14620
 * 
 * @cython.embedsignature(True)
 * def cudaFreeHost(ptr):             # <<<<<<<<<<<<<<
 *     """ Frees page-locked 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.cudart.cudaFreeHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14648
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array):             # <<<<<<<<<<<<<<
 *     """ Frees an array on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_203cudaFreeArray(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_202cudaFreeArray[] = "cudaFreeArray(array)\n Frees an array on the device.\n\n    Frees the CUDA array `array`, which must have been returned by a\n    previous call to :py:obj:`~.cudaMallocArray()`. If `devPtr` is 0, no\n    operation is performed.\n\n    Parameters\n    ----------\n    array : :py:obj:`~.cudaArray_t`\n        Pointer to array to free\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuArrayDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_203cudaFreeArray = {"cudaFreeArray", (PyCFunction)__pyx_pw_4cuda_6cudart_203cudaFreeArray, METH_O, __pyx_doc_4cuda_6cudart_202cudaFreeArray};
static PyObject *__pyx_pw_4cuda_6cudart_203cudaFreeArray(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFreeArray (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_202cudaFreeArray(__pyx_self, ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_202cudaFreeArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array) {
  cudaArray_t __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__523)
  __Pyx_RefNannySetupContext("cudaFreeArray", 0);
  __Pyx_TraceCall("cudaFreeArray", __pyx_f[0], 14648, 0, __PYX_ERR(0, 14648, __pyx_L1_error));

  /* "cuda/cudart.pyx":14670
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":14671
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 */
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":14670
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":14672
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":14673
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_parray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":14674
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(cudaArray_t(array))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14674, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":14672
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":14676
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 *         parray = int(cudaArray_t(array))             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_parray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":14677
 *     else:
 *         parray = int(cudaArray_t(array))
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14677, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":14679
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeArray(carray)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14680
 * 
 *     with nogil:
 *         err = ccudart.cudaFreeArray(carray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaFreeArray(__pyx_v_carray); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14680, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":14679
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeArray(carray)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":14681
 *     with nogil:
 *         err = ccudart.cudaFreeArray(carray)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14648
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array):             # <<<<<<<<<<<<<<
 *     """ Frees an array on the device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaFreeArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14684
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_205cudaFreeMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray); /*proto*/
static char __pyx_doc_4cuda_6cudart_204cudaFreeMipmappedArray[] = "cudaFreeMipmappedArray(mipmappedArray)\n Frees a mipmapped array on the device.\n\n    Frees the CUDA mipmapped array `mipmappedArray`, which must have been\n    returned by a previous call to :py:obj:`~.cudaMallocMipmappedArray()`.\n    If `devPtr` is 0, no operation is performed.\n\n    Parameters\n    ----------\n    mipmappedArray : :py:obj:`~.cudaMipmappedArray_t`\n        Pointer to mipmapped array to free\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMipmappedArrayDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_205cudaFreeMipmappedArray = {"cudaFreeMipmappedArray", (PyCFunction)__pyx_pw_4cuda_6cudart_205cudaFreeMipmappedArray, METH_O, __pyx_doc_4cuda_6cudart_204cudaFreeMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_205cudaFreeMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFreeMipmappedArray (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_204cudaFreeMipmappedArray(__pyx_self, ((PyObject *)__pyx_v_mipmappedArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_204cudaFreeMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray) {
  cudaMipmappedArray_t __pyx_v_cmipmappedArray;
  PyObject *__pyx_v_pmipmappedArray = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__524)
  __Pyx_RefNannySetupContext("cudaFreeMipmappedArray", 0);
  __Pyx_TraceCall("cudaFreeMipmappedArray", __pyx_f[0], 14684, 0, __PYX_ERR(0, 14684, __pyx_L1_error));

  /* "cuda/cudart.pyx":14706
 *     """
 *     cdef ccudart.cudaMipmappedArray_t cmipmappedArray
 *     if mipmappedArray is None:             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_t)):
 */
  __pyx_t_1 = (__pyx_v_mipmappedArray == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":14707
 *     cdef ccudart.cudaMipmappedArray_t cmipmappedArray
 *     if mipmappedArray is None:
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_t)):
 *         pmipmappedArray = int(mipmappedArray)
 */
    __pyx_v_cmipmappedArray = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":14706
 *     """
 *     cdef ccudart.cudaMipmappedArray_t cmipmappedArray
 *     if mipmappedArray is None:             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":14708
 *     if mipmappedArray is None:
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *         pmipmappedArray = int(mipmappedArray)
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_mipmappedArray, __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":14709
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_t)):
 *         pmipmappedArray = int(mipmappedArray)             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mipmappedArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmipmappedArray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":14710
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_t)):
 *         pmipmappedArray = int(mipmappedArray)
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmappedArray = int(cudaMipmappedArray_t(mipmappedArray))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmappedArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14710, __pyx_L1_error)
    __pyx_v_cmipmappedArray = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":14708
 *     if mipmappedArray is None:
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *         pmipmappedArray = int(mipmappedArray)
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":14712
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray
 *     else:
 *         pmipmappedArray = int(cudaMipmappedArray_t(mipmappedArray))             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t), __pyx_v_mipmappedArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmipmappedArray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":14713
 *     else:
 *         pmipmappedArray = int(cudaMipmappedArray_t(mipmappedArray))
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaFreeMipmappedArray(cmipmappedArray)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmappedArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14713, __pyx_L1_error)
    __pyx_v_cmipmappedArray = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":14715
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmappedArray
 * 
 *     err = ccudart.cudaFreeMipmappedArray(cmipmappedArray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaFreeMipmappedArray(__pyx_v_cmipmappedArray); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14715, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":14716
 * 
 *     err = ccudart.cudaFreeMipmappedArray(cmipmappedArray)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14684
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array on the device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaFreeMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmipmappedArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14719
 * 
 * @cython.embedsignature(True)
 * def cudaHostAlloc(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_207cudaHostAlloc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_206cudaHostAlloc[] = "cudaHostAlloc(size_t size, unsigned int flags)\n Allocates page-locked memory on the host.\n\n    Allocates `size` 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:`~.cudaMemcpy()`. 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()`. Allocating excessive amounts of pinned memory may\n    degrade system performance, since it reduces the amount of memory\n    available to the system for paging. As a result, this function is best\n    used sparingly to allocate staging areas for data exchange between host\n    and device.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows.\n\n    - :py:obj:`~.cudaHostAllocDefault`: This flag's value is defined to be\n      0 and causes :py:obj:`~.cudaHostAlloc()` to emulate\n      :py:obj:`~.cudaMallocHost()`.\n\n    - :py:obj:`~.cudaHostAllocPortable`: The memory returned by this call\n      will be considered as pinned memory by all CUDA contexts, not just\n      the one that performed the allocation.\n\n    - :py:obj:`~.cudaHostAllocMapped`: Maps the allocation into the CUDA\n      address space. The device pointer to the memory may be obtained by\n      calling :py:obj:`~.cudaHostGetDevicePointer()`.\n\n    - :py:obj:`~.cudaHostAllocWriteCombined`: 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 device via mapped\n      pinned 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    In order for the :py:obj:`~.cudaHostAllocMapped` flag to have any\n    effect, the CUDA context must support the :py:obj:`~.cudaDeviceMapHost`\n    flag, which can be checked via :py:obj:`~.cudaGetDeviceFlags()`. The\n    :py:obj:`~.cudaDeviceMapHost` flag is implicitly set for contexts\n    created via the runtime API.\n\n    The :py:obj:`~.cudaHostAllocMapped` 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:`~.cudaHostGetDevicePointer()` because\n    the memory may be mapped into other CUDA contexts via the\n    :py:obj:`~.cudaHostAllocPortable` flag.\n\n    Memory allocated by this function must be freed with\n    :py:obj:`~.cudaFreeHost()`.\n\n    Parameters\n    ----------\n    size : size_t\n        Requested allocation size in bytes\n    flags : unsigned int\n        Requested properties of allocated memory\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    pHost : Any\n        Device pointer to allocated memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaSetDeviceFlags`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaGetDeviceFlags`, :py:obj:`~.cuMemHostAlloc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_207cudaHostAlloc = {"cudaHostAlloc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_207cudaHostAlloc, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_206cudaHostAlloc};
static PyObject *__pyx_pw_4cuda_6cudart_207cudaHostAlloc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_size;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaHostAlloc (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size_2,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaHostAlloc", 1, 2, 2, 1); __PYX_ERR(0, 14719, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaHostAlloc") < 0)) __PYX_ERR(0, 14719, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 14719, __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(0, 14719, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaHostAlloc", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14719, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_206cudaHostAlloc(__pyx_self, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_206cudaHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_pHost;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__525)
  __Pyx_RefNannySetupContext("cudaHostAlloc", 0);
  __Pyx_TraceCall("cudaHostAlloc", __pyx_f[0], 14719, 0, __PYX_ERR(0, 14719, __pyx_L1_error));

  /* "cuda/cudart.pyx":14793
 *     :py:obj:`~.cudaSetDeviceFlags`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaGetDeviceFlags`, :py:obj:`~.cuMemHostAlloc`
 *     """
 *     cdef void_ptr pHost = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaHostAlloc(<void**>&pHost, size, flags)
 */
  __pyx_v_pHost = 0;

  /* "cuda/cudart.pyx":14794
 *     """
 *     cdef void_ptr pHost = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaHostAlloc(<void**>&pHost, size, flags)
 *     return (cudaError_t(err), pHost)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14795
 *     cdef void_ptr pHost = 0
 *     with nogil:
 *         err = ccudart.cudaHostAlloc(<void**>&pHost, size, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pHost)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaHostAlloc(((void **)(&__pyx_v_pHost)), __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14795, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":14794
 *     """
 *     cdef void_ptr pHost = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaHostAlloc(<void**>&pHost, size, flags)
 *     return (cudaError_t(err), pHost)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14796
 *     with nogil:
 *         err = ccudart.cudaHostAlloc(<void**>&pHost, size, flags)
 *     return (cudaError_t(err), pHost)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 14796, __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_pHost); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14719
 * 
 * @cython.embedsignature(True)
 * def cudaHostAlloc(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */

  /* 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.cudart.cudaHostAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14799
 * 
 * @cython.embedsignature(True)
 * def cudaHostRegister(ptr, size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an existing host memory range for use by CUDA.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_209cudaHostRegister(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_208cudaHostRegister[] = "cudaHostRegister(ptr, size_t size, unsigned int flags)\n Registers an existing host memory range for use by CUDA.\n\n    Page-locks the memory range specified by `ptr` and `size` 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:`~.cudaHostAlloc()` to\n    automatically accelerate calls to functions such as\n    :py:obj:`~.cudaMemcpy()`. Since the memory can be accessed directly by\n    the device, it can be read or written with much higher bandwidth than\n    pageable memory that has not been registered. Page-locking excessive\n    amounts of memory may degrade system performance, since it reduces the\n    amount of memory available to the system for paging. As a result, this\n    function is best used sparingly to register staging areas for data\n    exchange between host and device.\n\n    :py:obj:`~.cudaHostRegister` is supported only on I/O coherent devices\n    that have a non-zero value for the device attribute\n    :py:obj:`~.cudaDevAttrHostRegisterSupported`.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows.\n\n    - :py:obj:`~.cudaHostRegisterDefault`: On a system with unified virtual\n      addressing, the memory will be both mapped and portable. On a system\n      with no unified virtual addressing, the memory will be neither mapped\n      nor portable.\n\n    - :py:obj:`~.cudaHostRegisterPortable`: 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:`~.cudaHostRegisterMapped`: Maps the allocation into the CUDA\n      address space. The device pointer to the memory may be obtained by\n      calling :py:obj:`~.cudaHostGetDevicePointer()`.\n\n    - :py:obj:`~.cudaHostRegisterIoMemory`: The passed memory pointer is\n      treated as pointing to some memory-mapped I/O space, e.g. belonging""\n      to a third-party PCIe device, and it will marked as non cache-\n      coherent and contiguous.\n\n    - :py:obj:`~.cudaHostRegisterReadOnly`: The passed memory pointer is\n      treated as pointing to memory that is considered read-only by the\n      device. On platforms without\n      :py:obj:`~.cudaDevAttrPageableMemoryAccessUsesHostPageTables`, this\n      flag is required in order to register memory mapped to the CPU as\n      read-only. Support for the use of this flag can be queried from the\n      device attribute cudaDeviceAttrReadOnlyHostRegisterSupported. Using\n      this flag with a current context associated with a device that does\n      not have this attribute set will cause :py:obj:`~.cudaHostRegister`\n      to error with cudaErrorNotSupported.\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 CUDA context must have been created with the\n    :py:obj:`~.cudaMapHost` flag in order for the\n    :py:obj:`~.cudaHostRegisterMapped` flag to have any effect.\n\n    The :py:obj:`~.cudaHostRegisterMapped` 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:`~.cudaHostGetDevicePointer()` because\n    the memory may be mapped into other CUDA contexts via the\n    :py:obj:`~.cudaHostRegisterPortable` flag.\n\n    For devices that have a non-zero value for the device attribute\n    :py:obj:`~.cudaDevAttrCanUseHostPointerForRegisteredMem`, the memory\n    can also be accessed from the device using the host pointer `ptr`. The\n    device pointer returned by :py:obj:`~.cudaHostGetDevicePointer()` may\n    or may not match the original host pointer `ptr` and depends on the\n    devices visible to the application. If all devices visible to the\n    application have a non-zero value for the device attribute, the device\n    pointer returned by :py:obj:`~.cudaHostGetDevice""Pointer()` will match\n    the original pointer `ptr`. If any device visible to the application\n    has a zero value for the device attribute, the device pointer returned\n    by :py:obj:`~.cudaHostGetDevicePointer()` will not match the original\n    host pointer `ptr`, 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 of the two pointers and not both.\n\n    The memory page-locked by this function must be unregistered with\n    :py:obj:`~.cudaHostUnregister()`.\n\n    Parameters\n    ----------\n    ptr : Any\n        Host pointer to memory to page-lock\n    size : size_t\n        Size in bytes of the address range to page-lock in bytes\n    flags : unsigned int\n        Flags for allocation request\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`, :py:obj:`~.cudaErrorHostMemoryAlreadyRegistered`, :py:obj:`~.cudaErrorNotSupported`\n\n    See Also\n    --------\n    :py:obj:`~.cudaHostUnregister`, :py:obj:`~.cudaHostGetFlags`, :py:obj:`~.cudaHostGetDevicePointer`, :py:obj:`~.cuMemHostRegister`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_209cudaHostRegister = {"cudaHostRegister", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_209cudaHostRegister, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_208cudaHostRegister};
static PyObject *__pyx_pw_4cuda_6cudart_209cudaHostRegister(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_ptr = 0;
  size_t __pyx_v_size;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaHostRegister (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_3,&__pyx_n_s_size_2,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr_3)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaHostRegister", 1, 3, 3, 1); __PYX_ERR(0, 14799, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaHostRegister", 1, 3, 3, 2); __PYX_ERR(0, 14799, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaHostRegister") < 0)) __PYX_ERR(0, 14799, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __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(0, 14799, __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(0, 14799, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaHostRegister", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14799, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostRegister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_208cudaHostRegister(__pyx_self, __pyx_v_ptr, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_208cudaHostRegister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size, unsigned int __pyx_v_flags) {
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__526)
  __Pyx_RefNannySetupContext("cudaHostRegister", 0);
  __Pyx_TraceCall("cudaHostRegister", __pyx_f[0], 14799, 0, __PYX_ERR(0, 14799, __pyx_L1_error));

  /* "cuda/cudart.pyx":14901
 *     :py:obj:`~.cudaHostUnregister`, :py:obj:`~.cudaHostGetFlags`, :py:obj:`~.cudaHostGetDevicePointer`, :py:obj:`~.cuMemHostRegister`
 *     """
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14902
 *     """
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaHostRegister(cptr_ptr, size, flags)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14902, __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(0, 14902, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14903
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaHostRegister(cptr_ptr, size, flags)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14904
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:
 *         err = ccudart.cudaHostRegister(cptr_ptr, size, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaHostRegister(__pyx_v_cptr_ptr, __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14904, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":14903
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaHostRegister(cptr_ptr, size, flags)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14905
 *     with nogil:
 *         err = ccudart.cudaHostRegister(cptr_ptr, size, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14905, __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(0, 14905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14799
 * 
 * @cython.embedsignature(True)
 * def cudaHostRegister(ptr, size_t size, 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.cudart.cudaHostRegister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14908
 * 
 * @cython.embedsignature(True)
 * def cudaHostUnregister(ptr):             # <<<<<<<<<<<<<<
 *     """ Unregisters a memory range that was registered with cudaHostRegister.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_211cudaHostUnregister(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_210cudaHostUnregister[] = "cudaHostUnregister(ptr)\n Unregisters a memory range that was registered with cudaHostRegister.\n\n    Unmaps the memory range whose base address is specified by `ptr`, and\n    makes it pageable again.\n\n    The base address must be the same one specified to\n    :py:obj:`~.cudaHostRegister()`.\n\n    Parameters\n    ----------\n    ptr : Any\n        Host pointer to memory to unregister\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorHostMemoryNotRegistered`\n\n    See Also\n    --------\n    :py:obj:`~.cudaHostUnregister`, :py:obj:`~.cuMemHostUnregister`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_211cudaHostUnregister = {"cudaHostUnregister", (PyCFunction)__pyx_pw_4cuda_6cudart_211cudaHostUnregister, METH_O, __pyx_doc_4cuda_6cudart_210cudaHostUnregister};
static PyObject *__pyx_pw_4cuda_6cudart_211cudaHostUnregister(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaHostUnregister (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_210cudaHostUnregister(__pyx_self, ((PyObject *)__pyx_v_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_210cudaHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__527)
  __Pyx_RefNannySetupContext("cudaHostUnregister", 0);
  __Pyx_TraceCall("cudaHostUnregister", __pyx_f[0], 14908, 0, __PYX_ERR(0, 14908, __pyx_L1_error));

  /* "cuda/cudart.pyx":14931
 *     :py:obj:`~.cudaHostUnregister`, :py:obj:`~.cuMemHostUnregister`
 *     """
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14932
 *     """
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaHostUnregister(cptr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14932, __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(0, 14932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14933
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaHostUnregister(cptr_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14934
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:
 *         err = ccudart.cudaHostUnregister(cptr_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaHostUnregister(__pyx_v_cptr_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14934, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":14933
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaHostUnregister(cptr_ptr)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":14935
 *     with nogil:
 *         err = ccudart.cudaHostUnregister(cptr_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14935, __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(0, 14935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14908
 * 
 * @cython.embedsignature(True)
 * def cudaHostUnregister(ptr):             # <<<<<<<<<<<<<<
 *     """ Unregisters a memory range that was registered with cudaHostRegister.
 * 
 */

  /* 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.cudart.cudaHostUnregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14938
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetDevicePointer(pHost, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Passes back device pointer of mapped host memory allocated by cudaHostAlloc or registered by cudaHostRegister.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_213cudaHostGetDevicePointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_212cudaHostGetDevicePointer[] = "cudaHostGetDevicePointer(pHost, unsigned int flags)\n Passes back device pointer of mapped host memory allocated by cudaHostAlloc or registered by cudaHostRegister.\n\n    Passes back the device pointer corresponding to the mapped, pinned host\n    buffer allocated by :py:obj:`~.cudaHostAlloc()` or registered by\n    :py:obj:`~.cudaHostRegister()`.\n\n    :py:obj:`~.cudaHostGetDevicePointer()` will fail if the\n    :py:obj:`~.cudaDeviceMapHost` flag was not specified before deferred\n    context creation occurred, or if called on a device that does not\n    support mapped, pinned memory.\n\n    For devices that have a non-zero value for the device attribute\n    :py:obj:`~.cudaDevAttrCanUseHostPointerForRegisteredMem`, the memory\n    can also be accessed from the device using the host pointer `pHost`.\n    The device pointer returned by :py:obj:`~.cudaHostGetDevicePointer()`\n    may or may not match the original host pointer `pHost` and depends on\n    the devices visible to the application. If all devices visible to the\n    application have a non-zero value for the device attribute, the device\n    pointer returned by :py:obj:`~.cudaHostGetDevicePointer()` will match\n    the original pointer `pHost`. If any device visible to the application\n    has a zero value for the device attribute, the device pointer returned\n    by :py:obj:`~.cudaHostGetDevicePointer()` will not match the original\n    host pointer `pHost`, 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 of the two pointers and not both.\n\n    `flags` provides for future releases. For now, it must be set to 0.\n\n    Parameters\n    ----------\n    pHost : Any\n        Requested host pointer mapping\n    flags : unsigned int\n        Flag""s for extensions (must be 0 for now)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    pDevice : Any\n        Returned device pointer for mapped memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaSetDeviceFlags`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_213cudaHostGetDevicePointer = {"cudaHostGetDevicePointer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_213cudaHostGetDevicePointer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_212cudaHostGetDevicePointer};
static PyObject *__pyx_pw_4cuda_6cudart_213cudaHostGetDevicePointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_pHost = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaHostGetDevicePointer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pHost,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pHost)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaHostGetDevicePointer", 1, 2, 2, 1); __PYX_ERR(0, 14938, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaHostGetDevicePointer") < 0)) __PYX_ERR(0, 14938, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_pHost = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14938, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaHostGetDevicePointer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 14938, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaHostGetDevicePointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_212cudaHostGetDevicePointer(__pyx_self, __pyx_v_pHost, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_212cudaHostGetDevicePointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pHost, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_pDevice;
  PyObject *__pyx_v_cpHost = NULL;
  void *__pyx_v_cpHost_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__528)
  __Pyx_RefNannySetupContext("cudaHostGetDevicePointer", 0);
  __Pyx_TraceCall("cudaHostGetDevicePointer", __pyx_f[0], 14938, 0, __PYX_ERR(0, 14938, __pyx_L1_error));

  /* "cuda/cudart.pyx":14987
 *     :py:obj:`~.cudaSetDeviceFlags`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemHostGetDevicePointer`
 *     """
 *     cdef void_ptr pDevice = 0             # <<<<<<<<<<<<<<
 *     cpHost = utils.HelperInputVoidPtr(pHost)
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 */
  __pyx_v_pDevice = 0;

  /* "cuda/cudart.pyx":14988
 *     """
 *     cdef void_ptr pDevice = 0
 *     cpHost = utils.HelperInputVoidPtr(pHost)             # <<<<<<<<<<<<<<
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 *     err = ccudart.cudaHostGetDevicePointer(<void**>&pDevice, cpHost_ptr, flags)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_pHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cpHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14989
 *     cdef void_ptr pDevice = 0
 *     cpHost = utils.HelperInputVoidPtr(pHost)
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaHostGetDevicePointer(<void**>&pDevice, cpHost_ptr, flags)
 *     return (cudaError_t(err), pDevice)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cpHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14989, __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(0, 14989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cpHost_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":14990
 *     cpHost = utils.HelperInputVoidPtr(pHost)
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 *     err = ccudart.cudaHostGetDevicePointer(<void**>&pDevice, cpHost_ptr, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pDevice)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaHostGetDevicePointer(((void **)(&__pyx_v_pDevice)), __pyx_v_cpHost_ptr, __pyx_v_flags); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14990, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":14991
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 *     err = ccudart.cudaHostGetDevicePointer(<void**>&pDevice, cpHost_ptr, flags)
 *     return (cudaError_t(err), pDevice)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 14991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_pDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14938
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetDevicePointer(pHost, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Passes back device pointer of mapped host memory allocated by cudaHostAlloc or registered by cudaHostRegister.
 * 
 */

  /* 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.cudart.cudaHostGetDevicePointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cpHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14994
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetFlags(pHost):             # <<<<<<<<<<<<<<
 *     """ Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_215cudaHostGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_pHost); /*proto*/
static char __pyx_doc_4cuda_6cudart_214cudaHostGetFlags[] = "cudaHostGetFlags(pHost)\n Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.\n\n    :py:obj:`~.cudaHostGetFlags()` will fail if the input pointer does not\n    reside in an address range allocated by :py:obj:`~.cudaHostAlloc()`.\n\n    Parameters\n    ----------\n    pHost : Any\n        Host pointer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pFlags : unsigned int\n        Returned flags word\n\n    See Also\n    --------\n    :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemHostGetFlags`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_215cudaHostGetFlags = {"cudaHostGetFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_215cudaHostGetFlags, METH_O, __pyx_doc_4cuda_6cudart_214cudaHostGetFlags};
static PyObject *__pyx_pw_4cuda_6cudart_215cudaHostGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_pHost) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaHostGetFlags (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_214cudaHostGetFlags(__pyx_self, ((PyObject *)__pyx_v_pHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_214cudaHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pHost) {
  unsigned int __pyx_v_pFlags;
  PyObject *__pyx_v_cpHost = NULL;
  void *__pyx_v_cpHost_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__529)
  __Pyx_RefNannySetupContext("cudaHostGetFlags", 0);
  __Pyx_TraceCall("cudaHostGetFlags", __pyx_f[0], 14994, 0, __PYX_ERR(0, 14994, __pyx_L1_error));

  /* "cuda/cudart.pyx":15016
 *     :py:obj:`~.cudaHostAlloc`, :py:obj:`~.cuMemHostGetFlags`
 *     """
 *     cdef unsigned int pFlags = 0             # <<<<<<<<<<<<<<
 *     cpHost = utils.HelperInputVoidPtr(pHost)
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 */
  __pyx_v_pFlags = 0;

  /* "cuda/cudart.pyx":15017
 *     """
 *     cdef unsigned int pFlags = 0
 *     cpHost = utils.HelperInputVoidPtr(pHost)             # <<<<<<<<<<<<<<
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 *     err = ccudart.cudaHostGetFlags(&pFlags, cpHost_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_pHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cpHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15018
 *     cdef unsigned int pFlags = 0
 *     cpHost = utils.HelperInputVoidPtr(pHost)
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaHostGetFlags(&pFlags, cpHost_ptr)
 *     return (cudaError_t(err), pFlags)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cpHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15018, __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(0, 15018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cpHost_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":15019
 *     cpHost = utils.HelperInputVoidPtr(pHost)
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 *     err = ccudart.cudaHostGetFlags(&pFlags, cpHost_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pFlags)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaHostGetFlags((&__pyx_v_pFlags), __pyx_v_cpHost_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15019, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":15020
 *     cdef void* cpHost_ptr = <void*><void_ptr>cpHost.cptr
 *     err = ccudart.cudaHostGetFlags(&pFlags, cpHost_ptr)
 *     return (cudaError_t(err), pFlags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 15020, __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(0, 15020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14994
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetFlags(pHost):             # <<<<<<<<<<<<<<
 *     """ Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.
 * 
 */

  /* 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.cudart.cudaHostGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cpHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15023
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3D(extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Allocates logical 1D, 2D, or 3D memory objects on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_217cudaMalloc3D(PyObject *__pyx_self, PyObject *__pyx_v_extent); /*proto*/
static char __pyx_doc_4cuda_6cudart_216cudaMalloc3D[] = "cudaMalloc3D(cudaExtent extent: cudaExtent)\n Allocates logical 1D, 2D, or 3D memory objects on the device.\n\n    Allocates at least `width` * `height` * `depth` bytes of linear memory\n    on the device and returns a :py:obj:`~.cudaPitchedPtr` in which `ptr`\n    is a pointer to the allocated memory. The function may pad the\n    allocation to ensure hardware alignment requirements are met. The pitch\n    returned in the `pitch` field of `pitchedDevPtr` is the width in bytes\n    of the allocation.\n\n    The returned :py:obj:`~.cudaPitchedPtr` contains additional fields\n    `xsize` and `ysize`, the logical width and height of the allocation,\n    which are equivalent to the `width` and `height` `extent` parameters\n    provided by the programmer during allocation.\n\n    For allocations of 2D and 3D objects, it is highly recommended that\n    programmers perform allocations using :py:obj:`~.cudaMalloc3D()` or\n    :py:obj:`~.cudaMallocPitch()`. Due to alignment restrictions in the\n    hardware, this is especially true if the application will be performing\n    memory copies involving 2D or 3D objects (whether linear memory or CUDA\n    arrays).\n\n    Parameters\n    ----------\n    extent : :py:obj:`~.cudaExtent`\n        Requested allocation size (`width` field in bytes)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    pitchedDevPtr : :py:obj:`~.cudaPitchedPtr`\n        Pointer to allocated pitched device memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMemcpy3D`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.make_cudaPitchedPtr`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.cuMemAllocPitch`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_217cudaMalloc3D = {"cudaMalloc3D", (PyCFunction)__pyx_pw_4cuda_6cudart_217cudaMalloc3D, METH_O, __pyx_doc_4cuda_6cudart_216cudaMalloc3D};
static PyObject *__pyx_pw_4cuda_6cudart_217cudaMalloc3D(PyObject *__pyx_self, PyObject *__pyx_v_extent) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMalloc3D (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 15023, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_216cudaMalloc3D(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_v_extent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_216cudaMalloc3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent) {
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__530)
  __Pyx_RefNannySetupContext("cudaMalloc3D", 0);
  __Pyx_TraceCall("cudaMalloc3D", __pyx_f[0], 15023, 0, __PYX_ERR(0, 15023, __pyx_L1_error));

  /* "cuda/cudart.pyx":15061
 *     :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaMemcpy3D`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMallocArray`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.make_cudaPitchedPtr`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.cuMemAllocPitch`
 *     """
 *     cdef cudaPitchedPtr pitchedDevPtr = cudaPitchedPtr()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMalloc3D(pitchedDevPtr._ptr, extent._ptr[0])
 *     return (cudaError_t(err), pitchedDevPtr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pitchedDevPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15062
 *     """
 *     cdef cudaPitchedPtr pitchedDevPtr = cudaPitchedPtr()
 *     err = ccudart.cudaMalloc3D(pitchedDevPtr._ptr, extent._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pitchedDevPtr)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaMalloc3D(__pyx_v_pitchedDevPtr->_ptr, (__pyx_v_extent->_ptr[0])); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15062, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":15063
 *     cdef cudaPitchedPtr pitchedDevPtr = cudaPitchedPtr()
 *     err = ccudart.cudaMalloc3D(pitchedDevPtr._ptr, extent._ptr[0])
 *     return (cudaError_t(err), pitchedDevPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15063, __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(0, 15063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pitchedDevPtr));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pitchedDevPtr));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pitchedDevPtr));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15023
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3D(extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Allocates logical 1D, 2D, or 3D memory objects on the 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.cudart.cudaMalloc3D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pitchedDevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15066
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3DArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_219cudaMalloc3DArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_218cudaMalloc3DArray[] = "cudaMalloc3DArray(cudaChannelFormatDesc desc: cudaChannelFormatDesc, cudaExtent extent: cudaExtent, unsigned int flags)\n Allocate an array on the device.\n\n    Allocates a CUDA array according to the\n    :py:obj:`~.cudaChannelFormatDesc` structure `desc` and returns a handle\n    to the new CUDA array in `*array`.\n\n    The :py:obj:`~.cudaChannelFormatDesc` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaChannelFormatKind` is one of\n    :py:obj:`~.cudaChannelFormatKindSigned`,\n    :py:obj:`~.cudaChannelFormatKindUnsigned`, or\n    :py:obj:`~.cudaChannelFormatKindFloat`.\n\n    :py:obj:`~.cudaMalloc3DArray()` can allocate the following:\n\n    - A 1D array is allocated if the height and depth extents are both\n      zero.\n\n    - A 2D array is allocated if only the 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 the height extent is\n      zero and the cudaArrayLayered flag is set. Each layer is a 1D array.\n      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 cudaArrayLayered flag is set. Each layer is a 2D array.\n      The number of layers is determined by the depth extent.\n\n    - A cubemap CUDA array is allocated if all three extents are non-zero\n      and the cudaArrayCubemap flag is set. Width must be equal to height,\n      and depth must be six. A cubemap is a special type of 2D layered CUDA\n      array, where the six layers represent the six faces of a cube. The\n      order of the six layers in memory is the same as that listed in\n      :py:obj:`~.cudaGraphicsCubeFace`.\n\n    - A cubemap layered CUDA array is allocated if all three extents are\n      non-zero, and both, cudaArrayCubemap and cudaArrayLayered flags are\n      set. Width must be equal to height, and depth must be a multiple"" of\n      six. A cubemap layered CUDA array is a special type of 2D layered\n      CUDA array that consists of a collection of cubemaps. The first six\n      layers represent the first cubemap, the next six layers form the\n      second cubemap, and so on.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows.\n\n    - :py:obj:`~.cudaArrayDefault`: This flag's value is defined to be 0\n      and provides default array allocation\n\n    - :py:obj:`~.cudaArrayLayered`: Allocates a layered CUDA array, with\n      the depth extent indicating the number of layers\n\n    - :py:obj:`~.cudaArrayCubemap`: Allocates a cubemap CUDA array. Width\n      must be equal to height, and depth must be six. If the\n      cudaArrayLayered flag is also set, depth must be a multiple of six.\n\n    - :py:obj:`~.cudaArraySurfaceLoadStore`: Allocates a CUDA array that\n      could be read from or written to using a surface reference.\n\n    - :py:obj:`~.cudaArrayTextureGather`: This flag indicates that texture\n      gather operations will be performed on the CUDA array. Texture gather\n      can only be performed on 2D CUDA arrays.\n\n    - :py:obj:`~.cudaArraySparse`: Allocates a CUDA array without physical\n      backing memory. The subregions within this sparse array can later be\n      mapped onto a physical memory allocation by calling\n      :py:obj:`~.cuMemMapArrayAsync`. This flag can only be used for\n      creating 2D, 3D or 2D layered sparse CUDA arrays. The physical\n      backing memory must be allocated via :py:obj:`~.cuMemCreate`.\n\n    - :py:obj:`~.cudaArrayDeferredMapping`: Allocates a CUDA array without\n      physical backing memory. The entire array can later be mapped onto a\n      physical memory allocation by calling :py:obj:`~.cuMemMapArrayAsync`.\n      The physical backing memory must be allocated via\n      :py:obj:`~.cuMemCreate`.\n\n    The width, height and depth extents must meet certain size requi""rements\n    as listed in the following table. All values are specified in elements.\n\n    Note that 2D CUDA arrays have different size requirements if the\n    :py:obj:`~.cudaArrayTextureGather` flag is set. In that case, the valid\n    range for (width, height, depth) is ((1,maxTexture2DGather[0]),\n    (1,maxTexture2DGather[1]), 0).\n\n    **View CUDA Toolkit Documentation for a table example**\n\n    Parameters\n    ----------\n    desc : :py:obj:`~.cudaChannelFormatDesc`\n        Requested channel format\n    extent : :py:obj:`~.cudaExtent`\n        Requested allocation size (`width` field in elements)\n    flags : unsigned int\n        Flags for extensions\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    array : :py:obj:`~.cudaArray_t`\n        Pointer to allocated array in device memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.cuArray3DCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_219cudaMalloc3DArray = {"cudaMalloc3DArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_219cudaMalloc3DArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_218cudaMalloc3DArray};
static PyObject *__pyx_pw_4cuda_6cudart_219cudaMalloc3DArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMalloc3DArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_desc_2,&__pyx_n_s_extent_2,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extent_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMalloc3DArray", 1, 3, 3, 1); __PYX_ERR(0, 15066, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMalloc3DArray", 1, 3, 3, 2); __PYX_ERR(0, 15066, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMalloc3DArray") < 0)) __PYX_ERR(0, 15066, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)values[0]);
    __pyx_v_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)values[1]);
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15066, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMalloc3DArray", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15066, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMalloc3DArray", __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_6cudart_cudaChannelFormatDesc, 1, "desc", 0))) __PYX_ERR(0, 15066, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 15066, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_218cudaMalloc3DArray(__pyx_self, __pyx_v_desc, __pyx_v_extent, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_218cudaMalloc3DArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array = 0;
  struct cudaChannelFormatDesc *__pyx_v_cdesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaChannelFormatDesc *__pyx_t_2;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__531)
  __Pyx_RefNannySetupContext("cudaMalloc3DArray", 0);
  __Pyx_TraceCall("cudaMalloc3DArray", __pyx_f[0], 15066, 0, __PYX_ERR(0, 15066, __pyx_L1_error));

  /* "cuda/cudart.pyx":15177
 *     :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.cuArray3DCreate`
 *     """
 *     cdef cudaArray_t array = cudaArray_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_array = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15178
 *     """
 *     cdef cudaArray_t array = cudaArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMalloc3DArray(array._ptr, cdesc_ptr, extent._ptr[0], flags)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_desc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15178, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_desc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cdesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":15179
 *     cdef cudaArray_t array = cudaArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMalloc3DArray(array._ptr, cdesc_ptr, extent._ptr[0], flags)
 *     return (cudaError_t(err), array)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15180
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:
 *         err = ccudart.cudaMalloc3DArray(array._ptr, cdesc_ptr, extent._ptr[0], flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), array)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMalloc3DArray(__pyx_v_array->_ptr, __pyx_v_cdesc_ptr, (__pyx_v_extent->_ptr[0]), __pyx_v_flags); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15180, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":15179
 *     cdef cudaArray_t array = cudaArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMalloc3DArray(array._ptr, cdesc_ptr, extent._ptr[0], flags)
 *     return (cudaError_t(err), array)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":15181
 *     with nogil:
 *         err = ccudart.cudaMalloc3DArray(array._ptr, cdesc_ptr, extent._ptr[0], flags)
 *     return (cudaError_t(err), array)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15181, __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(0, 15181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_array));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_array));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_array));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15066
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3DArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */

  /* 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.cudart.cudaMalloc3DArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15184
 * 
 * @cython.embedsignature(True)
 * def cudaMallocMipmappedArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int numLevels, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate a mipmapped array on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_221cudaMallocMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_220cudaMallocMipmappedArray[] = "cudaMallocMipmappedArray(cudaChannelFormatDesc desc: cudaChannelFormatDesc, cudaExtent extent: cudaExtent, unsigned int numLevels, unsigned int flags)\n Allocate a mipmapped array on the device.\n\n    Allocates a CUDA mipmapped array according to the\n    :py:obj:`~.cudaChannelFormatDesc` structure `desc` and returns a handle\n    to the new CUDA mipmapped array in `*mipmappedArray`. `numLevels`\n    specifies the number of mipmap levels to be allocated. This value is\n    clamped to the range [1, 1 + floor(log2(max(width, height, depth)))].\n\n    The :py:obj:`~.cudaChannelFormatDesc` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaChannelFormatKind` is one of\n    :py:obj:`~.cudaChannelFormatKindSigned`,\n    :py:obj:`~.cudaChannelFormatKindUnsigned`, or\n    :py:obj:`~.cudaChannelFormatKindFloat`.\n\n    :py:obj:`~.cudaMallocMipmappedArray()` can allocate the following:\n\n    - A 1D mipmapped array is allocated if the height and depth extents are\n      both zero.\n\n    - A 2D mipmapped array is allocated if only the depth extent is zero.\n\n    - A 3D mipmapped array is allocated if all three extents are non-zero.\n\n    - A 1D layered CUDA mipmapped array is allocated if only the height\n      extent is zero and the cudaArrayLayered flag is set. Each layer is a\n      1D mipmapped array. The number of layers is determined by the depth\n      extent.\n\n    - A 2D layered CUDA mipmapped array is allocated if all three extents\n      are non-zero and the cudaArrayLayered flag is set. Each layer is a 2D\n      mipmapped array. The number of layers is determined by the depth\n      extent.\n\n    - A cubemap CUDA mipmapped array is allocated if all three extents are\n      non-zero and the cudaArrayCubemap flag is set. Width must be equal to\n      height, and depth must be six. The order of the six layers in memory\n      is the same as that listed in :py:obj:`~.cudaGraphicsCubeFace`.\n\n    - A cubem""ap layered CUDA mipmapped array is allocated if all three\n      extents are non-zero, and both, cudaArrayCubemap and cudaArrayLayered\n      flags are set. Width must be equal to height, and depth must be a\n      multiple of six. A cubemap layered CUDA mipmapped array is a special\n      type of 2D layered CUDA mipmapped array that consists of a collection\n      of cubemap mipmapped arrays. The first six layers represent the first\n      cubemap mipmapped array, the next six layers form the second cubemap\n      mipmapped array, and so on.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows.\n\n    - :py:obj:`~.cudaArrayDefault`: This flag's value is defined to be 0\n      and provides default mipmapped array allocation\n\n    - :py:obj:`~.cudaArrayLayered`: Allocates a layered CUDA mipmapped\n      array, with the depth extent indicating the number of layers\n\n    - :py:obj:`~.cudaArrayCubemap`: Allocates a cubemap CUDA mipmapped\n      array. Width must be equal to height, and depth must be six. If the\n      cudaArrayLayered flag is also set, depth must be a multiple of six.\n\n    - :py:obj:`~.cudaArraySurfaceLoadStore`: This flag indicates that\n      individual mipmap levels of the CUDA mipmapped array will be read\n      from or written to using a surface reference.\n\n    - :py:obj:`~.cudaArrayTextureGather`: This flag indicates that texture\n      gather operations will be performed on the CUDA array. Texture gather\n      can only be performed on 2D CUDA mipmapped arrays, and the gather\n      operations are performed only on the most detailed mipmap level.\n\n    - :py:obj:`~.cudaArraySparse`: Allocates a CUDA mipmapped array without\n      physical backing memory. The subregions within this sparse array can\n      later be mapped onto a physical memory allocation by calling\n      :py:obj:`~.cuMemMapArrayAsync`. This flag can only be used for\n      creating 2D, 3D or 2D layered sparse CU""DA mipmapped arrays. The\n      physical backing memory must be allocated via\n      :py:obj:`~.cuMemCreate`.\n\n    - :py:obj:`~.cudaArrayDeferredMapping`: Allocates a CUDA mipmapped\n      array without physical backing memory. The entire array can later be\n      mapped onto a physical memory allocation by calling\n      :py:obj:`~.cuMemMapArrayAsync`. The physical backing memory must be\n      allocated via :py:obj:`~.cuMemCreate`.\n\n    The width, height and depth extents must meet certain size requirements\n    as listed in the following table. All values are specified in elements.\n\n    **View CUDA Toolkit Documentation for a table example**\n\n    Parameters\n    ----------\n    desc : :py:obj:`~.cudaChannelFormatDesc`\n        Requested channel format\n    extent : :py:obj:`~.cudaExtent`\n        Requested allocation size (`width` field in elements)\n    numLevels : unsigned int\n        Number of mipmap levels to allocate\n    flags : unsigned int\n        Flags for extensions\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    mipmappedArray : :py:obj:`~.cudaMipmappedArray_t`\n        Pointer to allocated mipmapped array in device memory\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.cuMipmappedArrayCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_221cudaMallocMipmappedArray = {"cudaMallocMipmappedArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_221cudaMallocMipmappedArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_220cudaMallocMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_221cudaMallocMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent = 0;
  unsigned int __pyx_v_numLevels;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMallocMipmappedArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_desc_2,&__pyx_n_s_extent_2,&__pyx_n_s_numLevels_2,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extent_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocMipmappedArray", 1, 4, 4, 1); __PYX_ERR(0, 15184, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numLevels_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocMipmappedArray", 1, 4, 4, 2); __PYX_ERR(0, 15184, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocMipmappedArray", 1, 4, 4, 3); __PYX_ERR(0, 15184, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMallocMipmappedArray") < 0)) __PYX_ERR(0, 15184, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)values[0]);
    __pyx_v_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)values[1]);
    __pyx_v_numLevels = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_numLevels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15184, __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(0, 15184, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMallocMipmappedArray", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15184, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMallocMipmappedArray", __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_6cudart_cudaChannelFormatDesc, 1, "desc", 0))) __PYX_ERR(0, 15184, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 15184, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_220cudaMallocMipmappedArray(__pyx_self, __pyx_v_desc, __pyx_v_extent, __pyx_v_numLevels, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_220cudaMallocMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent, unsigned int __pyx_v_numLevels, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmappedArray = 0;
  struct cudaChannelFormatDesc *__pyx_v_cdesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaChannelFormatDesc *__pyx_t_2;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__532)
  __Pyx_RefNannySetupContext("cudaMallocMipmappedArray", 0);
  __Pyx_TraceCall("cudaMallocMipmappedArray", __pyx_f[0], 15184, 0, __PYX_ERR(0, 15184, __pyx_L1_error));

  /* "cuda/cudart.pyx":15298
 *     :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.cuMipmappedArrayCreate`
 *     """
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     err = ccudart.cudaMallocMipmappedArray(mipmappedArray._ptr, cdesc_ptr, extent._ptr[0], numLevels, flags)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_mipmappedArray = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15299
 *     """
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMallocMipmappedArray(mipmappedArray._ptr, cdesc_ptr, extent._ptr[0], numLevels, flags)
 *     return (cudaError_t(err), mipmappedArray)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_desc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15299, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_desc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cdesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":15300
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     err = ccudart.cudaMallocMipmappedArray(mipmappedArray._ptr, cdesc_ptr, extent._ptr[0], numLevels, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), mipmappedArray)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMallocMipmappedArray(__pyx_v_mipmappedArray->_ptr, __pyx_v_cdesc_ptr, (__pyx_v_extent->_ptr[0]), __pyx_v_numLevels, __pyx_v_flags); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15300, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":15301
 *     cdef ccudart.cudaChannelFormatDesc* cdesc_ptr = desc._ptr if desc != None else NULL
 *     err = ccudart.cudaMallocMipmappedArray(mipmappedArray._ptr, cdesc_ptr, extent._ptr[0], numLevels, flags)
 *     return (cudaError_t(err), mipmappedArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15301, __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(0, 15301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_mipmappedArray));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_mipmappedArray));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_mipmappedArray));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15184
 * 
 * @cython.embedsignature(True)
 * def cudaMallocMipmappedArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int numLevels, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate a mipmapped array on the device.
 * 
 */

  /* 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.cudart.cudaMallocMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_mipmappedArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15304
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_223cudaGetMipmappedArrayLevel(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_222cudaGetMipmappedArrayLevel[] = "cudaGetMipmappedArrayLevel(mipmappedArray, unsigned int level)\n Gets a mipmap level of a CUDA mipmapped array.\n\n    Returns in `*levelArray` a CUDA array that represents a single mipmap\n    level of the CUDA mipmapped array `mipmappedArray`.\n\n    If `level` is greater than the maximum number of levels in this\n    mipmapped array, :py:obj:`~.cudaErrorInvalidValue` is returned.\n\n    If `mipmappedArray` is NULL, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    is returned.\n\n    Parameters\n    ----------\n    mipmappedArray : :py:obj:`~.cudaMipmappedArray_const_t`\n        CUDA mipmapped array\n    level : unsigned int\n        Mipmap level\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue` :py:obj:`~.cudaErrorInvalidResourceHandle`\n    levelArray : :py:obj:`~.cudaArray_t`\n        Returned mipmap level CUDA array\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc`, :py:obj:`~.cudaMallocPitch`, :py:obj:`~.cudaFree`, :py:obj:`~.cudaFreeArray`, :py:obj:`~.cudaMallocHost (C API)`, :py:obj:`~.cudaFreeHost`, :py:obj:`~.cudaHostAlloc`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.cuMipmappedArrayGetLevel`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_223cudaGetMipmappedArrayLevel = {"cudaGetMipmappedArrayLevel", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_223cudaGetMipmappedArrayLevel, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_222cudaGetMipmappedArrayLevel};
static PyObject *__pyx_pw_4cuda_6cudart_223cudaGetMipmappedArrayLevel(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_mipmappedArray = 0;
  unsigned int __pyx_v_level;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetMipmappedArrayLevel (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mipmappedArray,&__pyx_n_s_level,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mipmappedArray)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGetMipmappedArrayLevel", 1, 2, 2, 1); __PYX_ERR(0, 15304, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGetMipmappedArrayLevel") < 0)) __PYX_ERR(0, 15304, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_mipmappedArray = values[0];
    __pyx_v_level = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15304, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGetMipmappedArrayLevel", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15304, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGetMipmappedArrayLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_222cudaGetMipmappedArrayLevel(__pyx_self, __pyx_v_mipmappedArray, __pyx_v_level);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_222cudaGetMipmappedArrayLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray, unsigned int __pyx_v_level) {
  cudaMipmappedArray_const_t __pyx_v_cmipmappedArray;
  PyObject *__pyx_v_pmipmappedArray = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_levelArray = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__533)
  __Pyx_RefNannySetupContext("cudaGetMipmappedArrayLevel", 0);
  __Pyx_TraceCall("cudaGetMipmappedArrayLevel", __pyx_f[0], 15304, 0, __PYX_ERR(0, 15304, __pyx_L1_error));

  /* "cuda/cudart.pyx":15335
 *     """
 *     cdef ccudart.cudaMipmappedArray_const_t cmipmappedArray
 *     if mipmappedArray is None:             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_mipmappedArray == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15336
 *     cdef ccudart.cudaMipmappedArray_const_t cmipmappedArray
 *     if mipmappedArray is None:
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_const_t)):
 *         pmipmappedArray = int(mipmappedArray)
 */
    __pyx_v_cmipmappedArray = ((cudaMipmappedArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15335
 *     """
 *     cdef ccudart.cudaMipmappedArray_const_t cmipmappedArray
 *     if mipmappedArray is None:             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_const_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15337
 *     if mipmappedArray is None:
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_const_t)):             # <<<<<<<<<<<<<<
 *         pmipmappedArray = int(mipmappedArray)
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_mipmappedArray, __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15338
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_const_t)):
 *         pmipmappedArray = int(mipmappedArray)             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mipmappedArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmipmappedArray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":15339
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_const_t)):
 *         pmipmappedArray = int(mipmappedArray)
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmappedArray = int(cudaMipmappedArray_const_t(mipmappedArray))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmappedArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15339, __pyx_L1_error)
    __pyx_v_cmipmappedArray = ((cudaMipmappedArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":15337
 *     if mipmappedArray is None:
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>0
 *     elif isinstance(mipmappedArray, (cudaMipmappedArray_const_t)):             # <<<<<<<<<<<<<<
 *         pmipmappedArray = int(mipmappedArray)
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15341
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray
 *     else:
 *         pmipmappedArray = int(cudaMipmappedArray_const_t(mipmappedArray))             # <<<<<<<<<<<<<<
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t), __pyx_v_mipmappedArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmipmappedArray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":15342
 *     else:
 *         pmipmappedArray = int(cudaMipmappedArray_const_t(mipmappedArray))
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaArray_t levelArray = cudaArray_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmappedArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15342, __pyx_L1_error)
    __pyx_v_cmipmappedArray = ((cudaMipmappedArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15344
 *         cmipmappedArray = <ccudart.cudaMipmappedArray_const_t><void_ptr>pmipmappedArray
 * 
 *     cdef cudaArray_t levelArray = cudaArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetMipmappedArrayLevel(levelArray._ptr, cmipmappedArray, level)
 *     return (cudaError_t(err), levelArray)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_levelArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15345
 * 
 *     cdef cudaArray_t levelArray = cudaArray_t()
 *     err = ccudart.cudaGetMipmappedArrayLevel(levelArray._ptr, cmipmappedArray, level)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), levelArray)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGetMipmappedArrayLevel(__pyx_v_levelArray->_ptr, __pyx_v_cmipmappedArray, __pyx_v_level); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15345, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15346
 *     cdef cudaArray_t levelArray = cudaArray_t()
 *     err = ccudart.cudaGetMipmappedArrayLevel(levelArray._ptr, cmipmappedArray, level)
 *     return (cudaError_t(err), levelArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_levelArray));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_levelArray));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_levelArray));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15304
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGetMipmappedArrayLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmipmappedArray);
  __Pyx_XDECREF((PyObject *)__pyx_v_levelArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15349
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3D(p : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_225cudaMemcpy3D(PyObject *__pyx_self, PyObject *__pyx_v_p); /*proto*/
static char __pyx_doc_4cuda_6cudart_224cudaMemcpy3D[] = "cudaMemcpy3D(cudaMemcpy3DParms p: cudaMemcpy3DParms)\n Copies data between 3D objects.\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    :py:obj:`~.cudaMemcpy3D()` copies data betwen two 3D objects. The\n    source and destination objects may be in either host memory, device\n    memory, or a CUDA array. The source, destination, extent, and kind of\n    copy performed is specified by the :py:obj:`~.cudaMemcpy3DParms` struct\n    which should be initialized to zero before use:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    The struct passed to :py:obj:`~.cudaMemcpy3D()` must specify one of\n    `srcArray` or `srcPtr` and one of `dstArray` or `dstPtr`. Passing more\n    than one non-zero source or destination will cause\n    :py:obj:`~.cudaMemcpy3D()` to return an error.\n\n    The `srcPos` and `dstPos` fields are optional offsets into the source\n    and destination objects and are defined in units of each object's\n    elements. The element for a host or device pointer is assumed to be\n    unsigned char.\n\n    The `extent` field defines the dimensions of the transferred area in\n    elements. If a CUDA array is participating in the copy, the extent is\n    defined in terms of that array's elements. If no CUDA array is\n    participating in the copy then the extents are defined in elements of\n    unsigned char.\n\n    The `kind` field defines the direction of the copy. It must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. For :py:obj:`~.cudaMemcpyHostToHost` or\n    :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:o""bj:`~.cudaMemcpyDeviceToHost` passed as kind and cudaArray type\n    passed as source or destination, if the kind implies cudaArray type to\n    be present on the host, :py:obj:`~.cudaMemcpy3D()` will disregard that\n    implication and silently correct the kind based on the fact that\n    cudaArray type can only be present on the device.\n\n    If the source and destination are both arrays,\n    :py:obj:`~.cudaMemcpy3D()` will return an error if they do not have the\n    same element size.\n\n    The source and destination object may not overlap. If overlapping\n    source and destination objects are specified, undefined behavior will\n    result.\n\n    The source object must entirely contain the region defined by `srcPos`\n    and `extent`. The destination object must entirely contain the region\n    defined by `dstPos` and `extent`.\n\n    :py:obj:`~.cudaMemcpy3D()` returns an error if the pitch of `srcPtr` or\n    `dstPtr` exceeds the maximum allowed. The pitch of a\n    :py:obj:`~.cudaPitchedPtr` allocated with :py:obj:`~.cudaMalloc3D()`\n    will always be valid.\n\n    Parameters\n    ----------\n    p : :py:obj:`~.cudaMemcpy3DParms`\n        3D memory copy parameters\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemcpy3DAsync`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.make_cudaEx""tent`, :py:obj:`~.make_cudaPos`, :py:obj:`~.cuMemcpy3D`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_225cudaMemcpy3D = {"cudaMemcpy3D", (PyCFunction)__pyx_pw_4cuda_6cudart_225cudaMemcpy3D, METH_O, __pyx_doc_4cuda_6cudart_224cudaMemcpy3D};
static PyObject *__pyx_pw_4cuda_6cudart_225cudaMemcpy3D(PyObject *__pyx_self, PyObject *__pyx_v_p) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy3D (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_p), __pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms, 1, "p", 0))) __PYX_ERR(0, 15349, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_224cudaMemcpy3D(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_p));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_224cudaMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p) {
  struct cudaMemcpy3DParms *__pyx_v_cp_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct cudaMemcpy3DParms *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__534)
  __Pyx_RefNannySetupContext("cudaMemcpy3D", 0);
  __Pyx_TraceCall("cudaMemcpy3D", __pyx_f[0], 15349, 0, __PYX_ERR(0, 15349, __pyx_L1_error));

  /* "cuda/cudart.pyx":15424
 *     :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemcpy3DAsync`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.make_cudaPos`, :py:obj:`~.cuMemcpy3D`
 *     """
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy3D(cp_ptr)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_p), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15424, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_p->_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cp_ptr = __pyx_t_1;

  /* "cuda/cudart.pyx":15425
 *     """
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy3D(cp_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15426
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:
 *         err = ccudart.cudaMemcpy3D(cp_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpy3D(__pyx_v_cp_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15426, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":15425
 *     """
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy3D(cp_ptr)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":15427
 *     with nogil:
 *         err = ccudart.cudaMemcpy3D(cp_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15427, __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(0, 15427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15349
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3D(p : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */

  /* 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.cudart.cudaMemcpy3D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15430
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeer(p : cudaMemcpy3DPeerParms):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_227cudaMemcpy3DPeer(PyObject *__pyx_self, PyObject *__pyx_v_p); /*proto*/
static char __pyx_doc_4cuda_6cudart_226cudaMemcpy3DPeer[] = "cudaMemcpy3DPeer(cudaMemcpy3DPeerParms p: cudaMemcpy3DPeerParms)\n Copies memory between devices.\n\n    Perform a 3D memory copy according to the parameters specified in `p`.\n    See the definition of the :py:obj:`~.cudaMemcpy3DPeerParms` structure\n    for documentation of its parameters.\n\n    Note that this function is synchronous with respect to the host only if\n    the source or destination of the transfer is host memory. Note also\n    that this copy is serialized with respect to all pending and future\n    asynchronous work in to the current device, the copy's source device,\n    and the copy's destination device (use\n    :py:obj:`~.cudaMemcpy3DPeerAsync` to avoid this synchronization).\n\n    Parameters\n    ----------\n    p : :py:obj:`~.cudaMemcpy3DPeerParms`\n        Parameters for the memory copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyPeer`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyPeerAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cuMemcpy3DPeer`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_227cudaMemcpy3DPeer = {"cudaMemcpy3DPeer", (PyCFunction)__pyx_pw_4cuda_6cudart_227cudaMemcpy3DPeer, METH_O, __pyx_doc_4cuda_6cudart_226cudaMemcpy3DPeer};
static PyObject *__pyx_pw_4cuda_6cudart_227cudaMemcpy3DPeer(PyObject *__pyx_self, PyObject *__pyx_v_p) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy3DPeer (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_p), __pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms, 1, "p", 0))) __PYX_ERR(0, 15430, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_226cudaMemcpy3DPeer(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_p));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_226cudaMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p) {
  struct cudaMemcpy3DPeerParms *__pyx_v_cp_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct cudaMemcpy3DPeerParms *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__535)
  __Pyx_RefNannySetupContext("cudaMemcpy3DPeer", 0);
  __Pyx_TraceCall("cudaMemcpy3DPeer", __pyx_f[0], 15430, 0, __PYX_ERR(0, 15430, __pyx_L1_error));

  /* "cuda/cudart.pyx":15458
 *     :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyPeer`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyPeerAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cuMemcpy3DPeer`
 *     """
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpy3DPeer(cp_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_p), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15458, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15458, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_p->_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cp_ptr = __pyx_t_1;

  /* "cuda/cudart.pyx":15459
 *     """
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 *     err = ccudart.cudaMemcpy3DPeer(cp_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpy3DPeer(__pyx_v_cp_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15459, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":15460
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 *     err = ccudart.cudaMemcpy3DPeer(cp_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15460, __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(0, 15460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15430
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeer(p : cudaMemcpy3DPeerParms):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices.
 * 
 */

  /* 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.cudart.cudaMemcpy3DPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15463
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DAsync(p : cudaMemcpy3DParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_229cudaMemcpy3DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_228cudaMemcpy3DAsync[] = "cudaMemcpy3DAsync(cudaMemcpy3DParms p: cudaMemcpy3DParms, stream)\n Copies data between 3D objects.\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    :py:obj:`~.cudaMemcpy3DAsync()` copies data betwen two 3D objects. The\n    source and destination objects may be in either host memory, device\n    memory, or a CUDA array. The source, destination, extent, and kind of\n    copy performed is specified by the :py:obj:`~.cudaMemcpy3DParms` struct\n    which should be initialized to zero before use:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    The struct passed to :py:obj:`~.cudaMemcpy3DAsync()` must specify one\n    of `srcArray` or `srcPtr` and one of `dstArray` or `dstPtr`. Passing\n    more than one non-zero source or destination will cause\n    :py:obj:`~.cudaMemcpy3DAsync()` to return an error.\n\n    The `srcPos` and `dstPos` fields are optional offsets into the source\n    and destination objects and are defined in units of each object's\n    elements. The element for a host or device pointer is assumed to be\n    unsigned char. For CUDA arrays, positions must be in the range [0,\n    2048) for any dimension.\n\n    The `extent` field defines the dimensions of the transferred area in\n    elements. If a CUDA array is participating in the copy, the extent is\n    defined in terms of that array's elements. If no CUDA array is\n    participating in the copy then the extents are defined in elements of\n    unsigned char.\n\n    The `kind` field defines the direction of the copy. It must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified vir""tual addressing. For :py:obj:`~.cudaMemcpyHostToHost` or\n    :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` passed as kind and cudaArray type\n    passed as source or destination, if the kind implies cudaArray type to\n    be present on the host, :py:obj:`~.cudaMemcpy3DAsync()` will disregard\n    that implication and silently correct the kind based on the fact that\n    cudaArray type can only be present on the device.\n\n    If the source and destination are both arrays,\n    :py:obj:`~.cudaMemcpy3DAsync()` will return an error if they do not\n    have the same element size.\n\n    The source and destination object may not overlap. If overlapping\n    source and destination objects are specified, undefined behavior will\n    result.\n\n    The source object must lie entirely within the region defined by\n    `srcPos` and `extent`. The destination object must lie entirely within\n    the region defined by `dstPos` and `extent`.\n\n    :py:obj:`~.cudaMemcpy3DAsync()` returns an error if the pitch of\n    `srcPtr` or `dstPtr` exceeds the maximum allowed. The pitch of a\n    :py:obj:`~.cudaPitchedPtr` allocated with :py:obj:`~.cudaMalloc3D()`\n    will always be valid.\n\n    :py:obj:`~.cudaMemcpy3DAsync()` is asynchronous with respect to the\n    host, so the call may return before the copy is complete. The copy can\n    optionally be associated to a stream by passing a non-zero `stream`\n    argument. If `kind` is :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` and `stream` is non-zero, the copy\n    may overlap with operations in other streams.\n\n    The device version of this function only handles device to device\n    copies and cannot be given local or shared pointers.\n\n    Parameters\n    ----------\n    p : :py:obj:`~.cudaMemcpy3DParms`\n        3D memory copy parameters\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cuda""Error_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMalloc3D`, :py:obj:`~.cudaMalloc3DArray`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemcpy3D`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, ::::py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.make_cudaExtent`, :py:obj:`~.make_cudaPos`, :py:obj:`~.cuMemcpy3DAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_229cudaMemcpy3DAsync = {"cudaMemcpy3DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_229cudaMemcpy3DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_228cudaMemcpy3DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_229cudaMemcpy3DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy3DAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,&__pyx_n_s_stream,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_p)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy3DAsync", 1, 2, 2, 1); __PYX_ERR(0, 15463, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy3DAsync") < 0)) __PYX_ERR(0, 15463, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_p = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)values[0]);
    __pyx_v_stream = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy3DAsync", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15463, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_p), __pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms, 1, "p", 0))) __PYX_ERR(0, 15463, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_228cudaMemcpy3DAsync(__pyx_self, __pyx_v_p, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_228cudaMemcpy3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  struct cudaMemcpy3DParms *__pyx_v_cp_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemcpy3DParms *__pyx_t_7;
  cudaError_t __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__536)
  __Pyx_RefNannySetupContext("cudaMemcpy3DAsync", 0);
  __Pyx_TraceCall("cudaMemcpy3DAsync", __pyx_f[0], 15463, 0, __PYX_ERR(0, 15463, __pyx_L1_error));

  /* "cuda/cudart.pyx":15552
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15553
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15552
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15554
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15555
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":15556
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 15556, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":15554
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15558
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":15559
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else 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(0, 15559, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15561
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, cstream)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_p), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15561, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 15561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_p->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cp_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":15562
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15563
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpy3DAsync(__pyx_v_cp_ptr, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15563, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":15562
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":15564
 *     with nogil:
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15463
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DAsync(p : cudaMemcpy3DParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15567
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeerAsync(p : cudaMemcpy3DPeerParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices asynchronously.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_231cudaMemcpy3DPeerAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_230cudaMemcpy3DPeerAsync[] = "cudaMemcpy3DPeerAsync(cudaMemcpy3DPeerParms p: cudaMemcpy3DPeerParms, stream)\n Copies memory between devices asynchronously.\n\n    Perform a 3D memory copy according to the parameters specified in `p`.\n    See the definition of the :py:obj:`~.cudaMemcpy3DPeerParms` structure\n    for documentation of its parameters.\n\n    Parameters\n    ----------\n    p : :py:obj:`~.cudaMemcpy3DPeerParms`\n        Parameters for the memory copy\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyPeer`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyPeerAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_231cudaMemcpy3DPeerAsync = {"cudaMemcpy3DPeerAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_231cudaMemcpy3DPeerAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_230cudaMemcpy3DPeerAsync};
static PyObject *__pyx_pw_4cuda_6cudart_231cudaMemcpy3DPeerAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy3DPeerAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,&__pyx_n_s_stream,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_p)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy3DPeerAsync", 1, 2, 2, 1); __PYX_ERR(0, 15567, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy3DPeerAsync") < 0)) __PYX_ERR(0, 15567, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_p = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)values[0]);
    __pyx_v_stream = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy3DPeerAsync", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15567, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_p), __pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms, 1, "p", 0))) __PYX_ERR(0, 15567, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_230cudaMemcpy3DPeerAsync(__pyx_self, __pyx_v_p, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_230cudaMemcpy3DPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  struct cudaMemcpy3DPeerParms *__pyx_v_cp_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemcpy3DPeerParms *__pyx_t_7;
  cudaError_t __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__537)
  __Pyx_RefNannySetupContext("cudaMemcpy3DPeerAsync", 0);
  __Pyx_TraceCall("cudaMemcpy3DPeerAsync", __pyx_f[0], 15567, 0, __PYX_ERR(0, 15567, __pyx_L1_error));

  /* "cuda/cudart.pyx":15591
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15592
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15591
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15593
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15594
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":15595
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 15595, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":15593
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15597
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":15598
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else 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(0, 15598, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15600
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpy3DPeerAsync(cp_ptr, cstream)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_p), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15600, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 15600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_p->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cp_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":15601
 * 
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 *     err = ccudart.cudaMemcpy3DPeerAsync(cp_ptr, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpy3DPeerAsync(__pyx_v_cp_ptr, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15601, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":15602
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 *     err = ccudart.cudaMemcpy3DPeerAsync(cp_ptr, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 15602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15567
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeerAsync(p : cudaMemcpy3DPeerParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices asynchronously.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15605
 * 
 * @cython.embedsignature(True)
 * def cudaMemGetInfo():             # <<<<<<<<<<<<<<
 *     """ Gets free and total device memory.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_233cudaMemGetInfo(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_232cudaMemGetInfo[] = "cudaMemGetInfo()\n Gets free and total device 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorLaunchFailure`\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:`~.cuMemGetInfo`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_233cudaMemGetInfo = {"cudaMemGetInfo", (PyCFunction)__pyx_pw_4cuda_6cudart_233cudaMemGetInfo, METH_NOARGS, __pyx_doc_4cuda_6cudart_232cudaMemGetInfo};
static PyObject *__pyx_pw_4cuda_6cudart_233cudaMemGetInfo(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemGetInfo (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_232cudaMemGetInfo(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_232cudaMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self) {
  size_t __pyx_v_free;
  size_t __pyx_v_total;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__538)
  __Pyx_RefNannySetupContext("cudaMemGetInfo", 0);
  __Pyx_TraceCall("cudaMemGetInfo", __pyx_f[0], 15605, 0, __PYX_ERR(0, 15605, __pyx_L1_error));

  /* "cuda/cudart.pyx":15638
 *     :py:obj:`~.cuMemGetInfo`
 *     """
 *     cdef size_t free = 0             # <<<<<<<<<<<<<<
 *     cdef size_t total = 0
 *     err = ccudart.cudaMemGetInfo(&free, &total)
 */
  __pyx_v_free = 0;

  /* "cuda/cudart.pyx":15639
 *     """
 *     cdef size_t free = 0
 *     cdef size_t total = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemGetInfo(&free, &total)
 *     return (cudaError_t(err), free, total)
 */
  __pyx_v_total = 0;

  /* "cuda/cudart.pyx":15640
 *     cdef size_t free = 0
 *     cdef size_t total = 0
 *     err = ccudart.cudaMemGetInfo(&free, &total)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), free, total)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaMemGetInfo((&__pyx_v_free), (&__pyx_v_total)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15640, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15641
 *     cdef size_t total = 0
 *     err = ccudart.cudaMemGetInfo(&free, &total)
 *     return (cudaError_t(err), free, total)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 15641, __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(0, 15641, __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(0, 15641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
  __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/cudart.pyx":15605
 * 
 * @cython.embedsignature(True)
 * def cudaMemGetInfo():             # <<<<<<<<<<<<<<
 *     """ Gets free and total device 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.cudart.cudaMemGetInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15644
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_235cudaArrayGetInfo(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_234cudaArrayGetInfo[] = "cudaArrayGetInfo(array)\n Gets info about the specified cudaArray.\n\n    Returns in `*desc`, `*extent` and `*flags` respectively, the type,\n    shape and flags of `array`.\n\n    Any of `*desc`, `*extent` and `*flags` may be specified as NULL.\n\n    Parameters\n    ----------\n    array : :py:obj:`~.cudaArray_t`\n        The :py:obj:`~.cudaArray` to get info for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    desc : :py:obj:`~.cudaChannelFormatDesc`\n        Returned array type\n    extent : :py:obj:`~.cudaExtent`\n        Returned array shape. 2D arrays will have depth of zero\n    flags : unsigned int\n        Returned array flags\n\n    See Also\n    --------\n    :py:obj:`~.cuArrayGetDescriptor`, :py:obj:`~.cuArray3DGetDescriptor`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_235cudaArrayGetInfo = {"cudaArrayGetInfo", (PyCFunction)__pyx_pw_4cuda_6cudart_235cudaArrayGetInfo, METH_O, __pyx_doc_4cuda_6cudart_234cudaArrayGetInfo};
static PyObject *__pyx_pw_4cuda_6cudart_235cudaArrayGetInfo(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaArrayGetInfo (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_234cudaArrayGetInfo(__pyx_self, ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_234cudaArrayGetInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array) {
  cudaArray_t __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent = 0;
  unsigned int __pyx_v_flags;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__539)
  __Pyx_RefNannySetupContext("cudaArrayGetInfo", 0);
  __Pyx_TraceCall("cudaArrayGetInfo", __pyx_f[0], 15644, 0, __PYX_ERR(0, 15644, __pyx_L1_error));

  /* "cuda/cudart.pyx":15673
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15674
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 */
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15673
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15675
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15676
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_parray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":15677
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(cudaArray_t(array))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15677, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":15675
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15679
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 *         parray = int(cudaArray_t(array))             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_parray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":15680
 *     else:
 *         parray = int(cudaArray_t(array))
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15680, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15682
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()             # <<<<<<<<<<<<<<
 *     cdef cudaExtent extent = cudaExtent()
 *     cdef unsigned int flags = 0
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15683
 * 
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     cdef cudaExtent extent = cudaExtent()             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, carray)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15684
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     cdef cudaExtent extent = cudaExtent()
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, carray)
 *     return (cudaError_t(err), desc, extent, flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cudart.pyx":15685
 *     cdef cudaExtent extent = cudaExtent()
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, carray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), desc, extent, flags)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaArrayGetInfo(__pyx_v_desc->_ptr, __pyx_v_extent->_ptr, (&__pyx_v_flags), __pyx_v_carray); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15685, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15686
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, carray)
 *     return (cudaError_t(err), desc, extent, flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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(0, 15686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_desc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_desc));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_desc));
  __Pyx_INCREF(((PyObject *)__pyx_v_extent));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_extent));
  PyTuple_SET_ITEM(__pyx_t_7, 2, ((PyObject *)__pyx_v_extent));
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_3);
  __pyx_t_5 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15644
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayGetInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_XDECREF((PyObject *)__pyx_v_desc);
  __Pyx_XDECREF((PyObject *)__pyx_v_extent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15689
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_237cudaArrayGetPlane(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_236cudaArrayGetPlane[] = "cudaArrayGetPlane(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:`~.cudaChannelFormatKindNV12`, then\n    :py:obj:`~.cudaErrorInvalidValue` is returned.\n\n    Note that if the `hArray` has format\n    :py:obj:`~.cudaChannelFormatKindNV12`, then passing in 0 for `planeIdx`\n    returns a CUDA array of the same size as `hArray` but with one 8-bit\n    channel and :py:obj:`~.cudaChannelFormatKindUnsigned` as its format\n    kind. If 1 is passed for `planeIdx`, then the returned CUDA array has\n    half the height and width of `hArray` with two 8-bit channels and\n    :py:obj:`~.cudaChannelFormatKindUnsigned` as its format kind.\n\n    Parameters\n    ----------\n    hArray : :py:obj:`~.cudaArray_t`\n        CUDA array\n    planeIdx : unsigned int\n        Plane index\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue` :py:obj:`~.cudaErrorInvalidResourceHandle`\n    pPlaneArray : :py:obj:`~.cudaArray_t`\n        Returned CUDA array referenced by the `planeIdx`\n\n    See Also\n    --------\n    :py:obj:`~.cuArrayGetPlane`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_237cudaArrayGetPlane = {"cudaArrayGetPlane", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_237cudaArrayGetPlane, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_236cudaArrayGetPlane};
static PyObject *__pyx_pw_4cuda_6cudart_237cudaArrayGetPlane(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hArray = 0;
  unsigned int __pyx_v_planeIdx;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaArrayGetPlane (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hArray,&__pyx_n_s_planeIdx,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hArray)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_planeIdx)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaArrayGetPlane", 1, 2, 2, 1); __PYX_ERR(0, 15689, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaArrayGetPlane") < 0)) __PYX_ERR(0, 15689, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 15689, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaArrayGetPlane", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15689, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayGetPlane", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_236cudaArrayGetPlane(__pyx_self, __pyx_v_hArray, __pyx_v_planeIdx);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_236cudaArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray, unsigned int __pyx_v_planeIdx) {
  cudaArray_t __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_pPlaneArray = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__540)
  __Pyx_RefNannySetupContext("cudaArrayGetPlane", 0);
  __Pyx_TraceCall("cudaArrayGetPlane", __pyx_f[0], 15689, 0, __PYX_ERR(0, 15689, __pyx_L1_error));

  /* "cuda/cudart.pyx":15727
 *     """
 *     cdef ccudart.cudaArray_t chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(hArray, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15728
 *     cdef ccudart.cudaArray_t chArray
 *     if hArray is None:
 *         chArray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (cudaArray_t)):
 *         phArray = int(hArray)
 */
    __pyx_v_chArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15727
 *     """
 *     cdef ccudart.cudaArray_t chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(hArray, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15729
 *     if hArray is None:
 *         chArray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(hArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15730
 *         chArray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(hArray, (cudaArray_t)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phArray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":15731
 *     elif isinstance(hArray, (cudaArray_t)):
 *         phArray = int(hArray)
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(cudaArray_t(hArray))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15731, __pyx_L1_error)
    __pyx_v_chArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":15729
 *     if hArray is None:
 *         chArray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(hArray, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15733
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray
 *     else:
 *         phArray = int(cudaArray_t(hArray))             # <<<<<<<<<<<<<<
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_hArray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phArray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":15734
 *     else:
 *         phArray = int(cudaArray_t(hArray))
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaArray_t pPlaneArray = cudaArray_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15734, __pyx_L1_error)
    __pyx_v_chArray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15736
 *         chArray = <ccudart.cudaArray_t><void_ptr>phArray
 * 
 *     cdef cudaArray_t pPlaneArray = cudaArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaArrayGetPlane(pPlaneArray._ptr, chArray, planeIdx)
 *     return (cudaError_t(err), pPlaneArray)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pPlaneArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15737
 * 
 *     cdef cudaArray_t pPlaneArray = cudaArray_t()
 *     err = ccudart.cudaArrayGetPlane(pPlaneArray._ptr, chArray, planeIdx)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pPlaneArray)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaArrayGetPlane(__pyx_v_pPlaneArray->_ptr, __pyx_v_chArray, __pyx_v_planeIdx); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15737, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15738
 *     cdef cudaArray_t pPlaneArray = cudaArray_t()
 *     err = ccudart.cudaArrayGetPlane(pPlaneArray._ptr, chArray, planeIdx)
 *     return (cudaError_t(err), pPlaneArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_pPlaneArray));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pPlaneArray));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pPlaneArray));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15689
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayGetPlane", __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/cudart.pyx":15741
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetMemoryRequirements(array, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_239cudaArrayGetMemoryRequirements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_238cudaArrayGetMemoryRequirements[] = "cudaArrayGetMemoryRequirements(array, int 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:`~.cudaArrayDeferredMapping` :py:obj:`~.cudaErrorInvalidValue`\n    will be returned.\n\n    The returned value in :py:obj:`~.cudaArrayMemoryRequirements.size`\n    represents the total size of the CUDA array. The returned value in\n    :py:obj:`~.cudaArrayMemoryRequirements.alignment` represents the\n    alignment necessary for mapping the CUDA array.\n\n    Parameters\n    ----------\n    array : :py:obj:`~.cudaArray_t`\n        CUDA array to get the memory requirements of\n    device : int\n        Device to get the memory requirements for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess` :py:obj:`~.cudaErrorInvalidValue`\n    memoryRequirements : :py:obj:`~.cudaArrayMemoryRequirements`\n        Pointer to :py:obj:`~.cudaArrayMemoryRequirements`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMipmappedArrayGetMemoryRequirements`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_239cudaArrayGetMemoryRequirements = {"cudaArrayGetMemoryRequirements", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_239cudaArrayGetMemoryRequirements, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_238cudaArrayGetMemoryRequirements};
static PyObject *__pyx_pw_4cuda_6cudart_239cudaArrayGetMemoryRequirements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_array = 0;
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaArrayGetMemoryRequirements (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_array_2,&__pyx_n_s_device_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_array_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaArrayGetMemoryRequirements", 1, 2, 2, 1); __PYX_ERR(0, 15741, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaArrayGetMemoryRequirements") < 0)) __PYX_ERR(0, 15741, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_array = values[0];
    __pyx_v_device = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15741, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaArrayGetMemoryRequirements", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15741, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_238cudaArrayGetMemoryRequirements(__pyx_self, __pyx_v_array, __pyx_v_device);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_238cudaArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array, int __pyx_v_device) {
  cudaArray_t __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_memoryRequirements = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__541)
  __Pyx_RefNannySetupContext("cudaArrayGetMemoryRequirements", 0);
  __Pyx_TraceCall("cudaArrayGetMemoryRequirements", __pyx_f[0], 15741, 0, __PYX_ERR(0, 15741, __pyx_L1_error));

  /* "cuda/cudart.pyx":15773
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15774
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 */
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15773
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15775
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15776
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_parray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":15777
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(cudaArray_t(array))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15777, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":15775
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15779
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 *         parray = int(cudaArray_t(array))             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_parray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":15780
 *     else:
 *         parray = int(cudaArray_t(array))
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15780, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15782
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaArrayGetMemoryRequirements(memoryRequirements._ptr, carray, device)
 *     return (cudaError_t(err), memoryRequirements)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArrayMemoryRequirements)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15783
 * 
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()
 *     err = ccudart.cudaArrayGetMemoryRequirements(memoryRequirements._ptr, carray, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), memoryRequirements)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaArrayGetMemoryRequirements(__pyx_v_memoryRequirements->_ptr, __pyx_v_carray, __pyx_v_device); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15783, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15784
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()
 *     err = ccudart.cudaArrayGetMemoryRequirements(memoryRequirements._ptr, carray, device)
 *     return (cudaError_t(err), memoryRequirements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_memoryRequirements));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_memoryRequirements));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_memoryRequirements));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15741
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetMemoryRequirements(array, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA array.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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/cudart.pyx":15787
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetMemoryRequirements(mipmap, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA mipmapped array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_241cudaMipmappedArrayGetMemoryRequirements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_240cudaMipmappedArrayGetMemoryRequirements[] = "cudaMipmappedArrayGetMemoryRequirements(mipmap, int 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:`~.cudaArrayDeferredMapping`\n    :py:obj:`~.cudaErrorInvalidValue` will be returned.\n\n    The returned value in :py:obj:`~.cudaArrayMemoryRequirements.size`\n    represents the total size of the CUDA mipmapped array. The returned\n    value in :py:obj:`~.cudaArrayMemoryRequirements.alignment` represents\n    the alignment necessary for mapping the CUDA mipmapped array.\n\n    Parameters\n    ----------\n    mipmap : :py:obj:`~.cudaMipmappedArray_t`\n        CUDA mipmapped array to get the memory requirements of\n    device : int\n        Device to get the memory requirements for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess` :py:obj:`~.cudaErrorInvalidValue`\n    memoryRequirements : :py:obj:`~.cudaArrayMemoryRequirements`\n        Pointer to :py:obj:`~.cudaArrayMemoryRequirements`\n\n    See Also\n    --------\n    :py:obj:`~.cudaArrayGetMemoryRequirements`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_241cudaMipmappedArrayGetMemoryRequirements = {"cudaMipmappedArrayGetMemoryRequirements", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_241cudaMipmappedArrayGetMemoryRequirements, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_240cudaMipmappedArrayGetMemoryRequirements};
static PyObject *__pyx_pw_4cuda_6cudart_241cudaMipmappedArrayGetMemoryRequirements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_mipmap = 0;
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMipmappedArrayGetMemoryRequirements (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mipmap_2,&__pyx_n_s_device_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mipmap_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMipmappedArrayGetMemoryRequirements", 1, 2, 2, 1); __PYX_ERR(0, 15787, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMipmappedArrayGetMemoryRequirements") < 0)) __PYX_ERR(0, 15787, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_mipmap = values[0];
    __pyx_v_device = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15787, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMipmappedArrayGetMemoryRequirements", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15787, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_240cudaMipmappedArrayGetMemoryRequirements(__pyx_self, __pyx_v_mipmap, __pyx_v_device);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_240cudaMipmappedArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap, int __pyx_v_device) {
  cudaMipmappedArray_t __pyx_v_cmipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *__pyx_v_memoryRequirements = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__542)
  __Pyx_RefNannySetupContext("cudaMipmappedArrayGetMemoryRequirements", 0);
  __Pyx_TraceCall("cudaMipmappedArrayGetMemoryRequirements", __pyx_f[0], 15787, 0, __PYX_ERR(0, 15787, __pyx_L1_error));

  /* "cuda/cudart.pyx":15819
 *     """
 *     cdef ccudart.cudaMipmappedArray_t cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 */
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15820
 *     cdef ccudart.cudaMipmappedArray_t cmipmap
 *     if mipmap is None:
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *         pmipmap = int(mipmap)
 */
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15819
 *     """
 *     cdef ccudart.cudaMipmappedArray_t cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15821
 *     if mipmap is None:
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15822
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *         pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmipmap = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":15823
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmap = int(cudaMipmappedArray_t(mipmap))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15823, __pyx_L1_error)
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":15821
 *     if mipmap is None:
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15825
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *     else:
 *         pmipmap = int(cudaMipmappedArray_t(mipmap))             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t), __pyx_v_mipmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmipmap = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":15826
 *     else:
 *         pmipmap = int(cudaMipmappedArray_t(mipmap))
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15826, __pyx_L1_error)
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15828
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 * 
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMipmappedArrayGetMemoryRequirements(memoryRequirements._ptr, cmipmap, device)
 *     return (cudaError_t(err), memoryRequirements)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArrayMemoryRequirements)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15829
 * 
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()
 *     err = ccudart.cudaMipmappedArrayGetMemoryRequirements(memoryRequirements._ptr, cmipmap, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), memoryRequirements)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetMemoryRequirements(__pyx_v_memoryRequirements->_ptr, __pyx_v_cmipmap, __pyx_v_device); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15829, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15830
 *     cdef cudaArrayMemoryRequirements memoryRequirements = cudaArrayMemoryRequirements()
 *     err = ccudart.cudaMipmappedArrayGetMemoryRequirements(memoryRequirements._ptr, cmipmap, device)
 *     return (cudaError_t(err), memoryRequirements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_memoryRequirements));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_memoryRequirements));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_memoryRequirements));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15787
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetMemoryRequirements(mipmap, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA mipmapped array.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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/cudart.pyx":15833
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_243cudaArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_242cudaArrayGetSparseProperties[] = "cudaArrayGetSparseProperties(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:`~.cudaArraySparse` :py:obj:`~.cudaErrorInvalidValue` will be\n    returned.\n\n    If the returned value in :py:obj:`~.cudaArraySparseProperties.flags`\n    contains :py:obj:`~.cudaArraySparsePropertiesSingleMipTail`, then\n    :py:obj:`~.cudaArraySparseProperties.miptailSize` represents the total\n    size of the array. Otherwise, it will be zero. Also, the returned value\n    in :py:obj:`~.cudaArraySparseProperties.miptailFirstLevel` is always\n    zero. Note that the `array` must have been allocated using\n    :py:obj:`~.cudaMallocArray` or :py:obj:`~.cudaMalloc3DArray`. For CUDA\n    arrays obtained using :py:obj:`~.cudaMipmappedArrayGetLevel`,\n    :py:obj:`~.cudaErrorInvalidValue` will be returned. Instead,\n    :py:obj:`~.cudaMipmappedArrayGetSparseProperties` must be used to\n    obtain the sparse properties of the entire CUDA mipmapped array to\n    which `array` belongs to.\n\n    Parameters\n    ----------\n    array : :py:obj:`~.cudaArray_t`\n        The CUDA array to get the sparse properties of\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess` :py:obj:`~.cudaErrorInvalidValue`\n    sparseProperties : :py:obj:`~.cudaArraySparseProperties`\n        Pointer to return the :py:obj:`~.cudaArraySparseProperties`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMipmappedArrayGetSparseProperties`, :py:obj:`~.cuMemMapArrayAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_243cudaArrayGetSparseProperties = {"cudaArrayGetSparseProperties", (PyCFunction)__pyx_pw_4cuda_6cudart_243cudaArrayGetSparseProperties, METH_O, __pyx_doc_4cuda_6cudart_242cudaArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_6cudart_243cudaArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaArrayGetSparseProperties (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_242cudaArrayGetSparseProperties(__pyx_self, ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_242cudaArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array) {
  cudaArray_t __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_sparseProperties = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__543)
  __Pyx_RefNannySetupContext("cudaArrayGetSparseProperties", 0);
  __Pyx_TraceCall("cudaArrayGetSparseProperties", __pyx_f[0], 15833, 0, __PYX_ERR(0, 15833, __pyx_L1_error));

  /* "cuda/cudart.pyx":15871
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15872
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 */
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15871
 *     """
 *     cdef ccudart.cudaArray_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15873
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15874
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_parray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":15875
 *     elif isinstance(array, (cudaArray_t)):
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(cudaArray_t(array))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15875, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":15873
 *     if array is None:
 *         carray = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15877
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 *     else:
 *         parray = int(cudaArray_t(array))             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_parray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":15878
 *     else:
 *         parray = int(cudaArray_t(array))
 *         carray = <ccudart.cudaArray_t><void_ptr>parray             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15878, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15880
 *         carray = <ccudart.cudaArray_t><void_ptr>parray
 * 
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaArrayGetSparseProperties(sparseProperties._ptr, carray)
 *     return (cudaError_t(err), sparseProperties)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15881
 * 
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaArrayGetSparseProperties(sparseProperties._ptr, carray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), sparseProperties)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaArrayGetSparseProperties(__pyx_v_sparseProperties->_ptr, __pyx_v_carray); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15881, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15882
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaArrayGetSparseProperties(sparseProperties._ptr, carray)
 *     return (cudaError_t(err), sparseProperties)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_sparseProperties));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_sparseProperties));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_sparseProperties));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15833
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaArrayGetSparseProperties", __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/cudart.pyx":15885
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_245cudaMipmappedArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_mipmap); /*proto*/
static char __pyx_doc_4cuda_6cudart_244cudaMipmappedArrayGetSparseProperties[] = "cudaMipmappedArrayGetSparseProperties(mipmap)\n Returns the layout properties of a sparse CUDA mipmapped array.\n\n    Returns the sparse array layout properties in `sparseProperties`. If\n    the CUDA mipmapped array is not allocated with flag\n    :py:obj:`~.cudaArraySparse` :py:obj:`~.cudaErrorInvalidValue` will be\n    returned.\n\n    For non-layered CUDA mipmapped arrays,\n    :py:obj:`~.cudaArraySparseProperties.miptailSize` returns the size of\n    the mip tail region. The mip tail region includes all mip levels whose\n    width, height or depth is less than that of the tile. For layered CUDA\n    mipmapped arrays, if :py:obj:`~.cudaArraySparseProperties.flags`\n    contains :py:obj:`~.cudaArraySparsePropertiesSingleMipTail`, then\n    :py:obj:`~.cudaArraySparseProperties.miptailSize` specifies the size of\n    the mip tail of all layers combined. Otherwise,\n    :py:obj:`~.cudaArraySparseProperties.miptailSize` specifies mip tail\n    size per layer. The returned value of\n    :py:obj:`~.cudaArraySparseProperties.miptailFirstLevel` is valid only\n    if :py:obj:`~.cudaArraySparseProperties.miptailSize` is non-zero.\n\n    Parameters\n    ----------\n    mipmap : :py:obj:`~.cudaMipmappedArray_t`\n        The CUDA mipmapped array to get the sparse properties of\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess` :py:obj:`~.cudaErrorInvalidValue`\n    sparseProperties : :py:obj:`~.cudaArraySparseProperties`\n        Pointer to return :py:obj:`~.cudaArraySparseProperties`\n\n    See Also\n    --------\n    :py:obj:`~.cudaArrayGetSparseProperties`, :py:obj:`~.cuMemMapArrayAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_245cudaMipmappedArrayGetSparseProperties = {"cudaMipmappedArrayGetSparseProperties", (PyCFunction)__pyx_pw_4cuda_6cudart_245cudaMipmappedArrayGetSparseProperties, METH_O, __pyx_doc_4cuda_6cudart_244cudaMipmappedArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_6cudart_245cudaMipmappedArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_mipmap) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMipmappedArrayGetSparseProperties (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_244cudaMipmappedArrayGetSparseProperties(__pyx_self, ((PyObject *)__pyx_v_mipmap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_244cudaMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap) {
  cudaMipmappedArray_t __pyx_v_cmipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_sparseProperties = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__544)
  __Pyx_RefNannySetupContext("cudaMipmappedArrayGetSparseProperties", 0);
  __Pyx_TraceCall("cudaMipmappedArrayGetSparseProperties", __pyx_f[0], 15885, 0, __PYX_ERR(0, 15885, __pyx_L1_error));

  /* "cuda/cudart.pyx":15923
 *     """
 *     cdef ccudart.cudaMipmappedArray_t cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 */
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":15924
 *     cdef ccudart.cudaMipmappedArray_t cmipmap
 *     if mipmap is None:
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *         pmipmap = int(mipmap)
 */
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":15923
 *     """
 *     cdef ccudart.cudaMipmappedArray_t cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15925
 *     if mipmap is None:
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":15926
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *         pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmipmap = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":15927
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmap = int(cudaMipmappedArray_t(mipmap))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15927, __pyx_L1_error)
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":15925
 *     if mipmap is None:
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>0
 *     elif isinstance(mipmap, (cudaMipmappedArray_t)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":15929
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 *     else:
 *         pmipmap = int(cudaMipmappedArray_t(mipmap))             # <<<<<<<<<<<<<<
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t), __pyx_v_mipmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmipmap = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":15930
 *     else:
 *         pmipmap = int(cudaMipmappedArray_t(mipmap))
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 15930, __pyx_L1_error)
    __pyx_v_cmipmap = ((cudaMipmappedArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":15932
 *         cmipmap = <ccudart.cudaMipmappedArray_t><void_ptr>pmipmap
 * 
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMipmappedArrayGetSparseProperties(sparseProperties._ptr, cmipmap)
 *     return (cudaError_t(err), sparseProperties)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":15933
 * 
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaMipmappedArrayGetSparseProperties(sparseProperties._ptr, cmipmap)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), sparseProperties)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetSparseProperties(__pyx_v_sparseProperties->_ptr, __pyx_v_cmipmap); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15933, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15934
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaMipmappedArrayGetSparseProperties(sparseProperties._ptr, cmipmap)
 *     return (cudaError_t(err), sparseProperties)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 15934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_sparseProperties));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_sparseProperties));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_sparseProperties));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15885
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaMipmappedArrayGetSparseProperties", __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/cudart.pyx":15937
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy(dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_247cudaMemcpy(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_246cudaMemcpy[] = "cudaMemcpy(dst, src, size_t count, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    Copies `count` bytes from the memory area pointed to by `src` to the\n    memory area pointed to by `dst`, where `kind` specifies the direction\n    of the copy, and must be one of :py:obj:`~.cudaMemcpyHostToHost`,\n    :py:obj:`~.cudaMemcpyHostToDevice`, :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. Calling :py:obj:`~.cudaMemcpy()` with dst\n    and src pointers that do not match the direction of the copy results in\n    an undefined behavior.\n\n    \note_sync\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    src : Any\n        Source memory address\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_247cudaMemcpy = {"cudaMemcpy", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_247cudaMemcpy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_246cudaMemcpy};
static PyObject *__pyx_pw_4cuda_6cudart_247cudaMemcpy(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_count,&__pyx_n_s_kind_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy", 1, 4, 4, 1); __PYX_ERR(0, 15937, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy", 1, 4, 4, 2); __PYX_ERR(0, 15937, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy", 1, 4, 4, 3); __PYX_ERR(0, 15937, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy") < 0)) __PYX_ERR(0, 15937, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15937, __pyx_L3_error)
    __pyx_v_kind = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15937, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 15937, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_246cudaMemcpy(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_count, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_246cudaMemcpy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  enum cudaMemcpyKind __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__545)
  __Pyx_RefNannySetupContext("cudaMemcpy", 0);
  __Pyx_TraceCall("cudaMemcpy", __pyx_f[0], 15937, 0, __PYX_ERR(0, 15937, __pyx_L1_error));

  /* "cuda/cudart.pyx":15974
 *     :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyDtoH`, :py:obj:`~.cuMemcpyHtoD`, :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpy`
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15975
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15975, __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(0, 15975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":15976
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15977
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15977, __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(0, 15977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":15978
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy(cdst_ptr, csrc_ptr, count, ckind)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15978, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":15979
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy(cdst_ptr, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15980
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy(cdst_ptr, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpy(__pyx_v_cdst_ptr, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15980, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":15979
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy(cdst_ptr, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":15981
 *     with nogil:
 *         err = ccudart.cudaMemcpy(cdst_ptr, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15981, __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(0, 15981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15937
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy(dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* 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.cudart.cudaMemcpy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15984
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeer(dst, int dstDevice, src, int srcDevice, size_t count):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_249cudaMemcpyPeer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_248cudaMemcpyPeer[] = "cudaMemcpyPeer(dst, int dstDevice, src, int srcDevice, size_t count)\n Copies memory between two devices.\n\n    Copies memory from one device to memory on another device. `dst` is the\n    base device pointer of the destination memory and `dstDevice` is the\n    destination device. `src` is the base device pointer of the source\n    memory and `srcDevice` is the source device. `count` specifies the\n    number of bytes to copy.\n\n    Note that this function is asynchronous with respect to the host, but\n    serialized with respect all pending and future asynchronous work in to\n    the current device, `srcDevice`, and `dstDevice` (use\n    :py:obj:`~.cudaMemcpyPeerAsync` to avoid this synchronization).\n\n    Parameters\n    ----------\n    dst : Any\n        Destination device pointer\n    dstDevice : int\n        Destination device\n    src : Any\n        Source device pointer\n    srcDevice : int\n        Source device\n    count : size_t\n        Size of memory copy in bytes\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyPeerAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cuMemcpyPeer`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_249cudaMemcpyPeer = {"cudaMemcpyPeer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_249cudaMemcpyPeer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_248cudaMemcpyPeer};
static PyObject *__pyx_pw_4cuda_6cudart_249cudaMemcpyPeer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  int __pyx_v_dstDevice;
  PyObject *__pyx_v_src = 0;
  int __pyx_v_srcDevice;
  size_t __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyPeer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_dstDevice_2,&__pyx_n_s_src,&__pyx_n_s_srcDevice_2,&__pyx_n_s_count,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dstDevice_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeer", 1, 5, 5, 1); __PYX_ERR(0, 15984, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeer", 1, 5, 5, 2); __PYX_ERR(0, 15984, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_srcDevice_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeer", 1, 5, 5, 3); __PYX_ERR(0, 15984, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeer", 1, 5, 5, 4); __PYX_ERR(0, 15984, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyPeer") < 0)) __PYX_ERR(0, 15984, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_dst = values[0];
    __pyx_v_dstDevice = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dstDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15984, __pyx_L3_error)
    __pyx_v_src = values[2];
    __pyx_v_srcDevice = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_srcDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15984, __pyx_L3_error)
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 15984, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeer", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 15984, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_248cudaMemcpyPeer(__pyx_self, __pyx_v_dst, __pyx_v_dstDevice, __pyx_v_src, __pyx_v_srcDevice, __pyx_v_count);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_248cudaMemcpyPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, int __pyx_v_dstDevice, PyObject *__pyx_v_src, int __pyx_v_srcDevice, size_t __pyx_v_count) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__546)
  __Pyx_RefNannySetupContext("cudaMemcpyPeer", 0);
  __Pyx_TraceCall("cudaMemcpyPeer", __pyx_f[0], 15984, 0, __PYX_ERR(0, 15984, __pyx_L1_error));

  /* "cuda/cudart.pyx":16020
 *     :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyPeerAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cuMemcpyPeer`
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16021
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16021, __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(0, 16021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":16022
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16023
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeer(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16023, __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(0, 16023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":16024
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpyPeer(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16025
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeer(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaMemcpyPeer(__pyx_v_cdst_ptr, __pyx_v_dstDevice, __pyx_v_csrc_ptr, __pyx_v_srcDevice, __pyx_v_count); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16025, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":16024
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpyPeer(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":16026
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeer(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 16026, __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(0, 16026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15984
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeer(dst, int dstDevice, src, int srcDevice, size_t count):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices.
 * 
 */

  /* 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.cudart.cudaMemcpyPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16029
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2D(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_251cudaMemcpy2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_250cudaMemcpy2D[] = "cudaMemcpy2D(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    Copies a matrix (`height` rows of `width` bytes each) from the memory\n    area pointed to by `src` to the memory area pointed to by `dst`, where\n    `kind` specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. `dpitch` and `spitch` are the widths in\n    memory in bytes of the 2D arrays pointed to by `dst` and `src`,\n    including any padding added to the end of each row. The memory areas\n    may not overlap. `width` must not exceed either `dpitch` or `spitch`.\n    Calling :py:obj:`~.cudaMemcpy2D()` with `dst` and `src` pointers that\n    do not match the direction of the copy results in an undefined\n    behavior. :py:obj:`~.cudaMemcpy2D()` returns an error if `dpitch` or\n    `spitch` exceeds the maximum allowed.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    dpitch : size_t\n        Pitch of destination memory\n    src : Any\n        Source memory address\n    spitch : size_t\n        Pitch of source memory\n    width : size_t\n        Width of matrix transfer (columns in bytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------""\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DUnaligned`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_251cudaMemcpy2D = {"cudaMemcpy2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_251cudaMemcpy2D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_250cudaMemcpy2D};
static PyObject *__pyx_pw_4cuda_6cudart_251cudaMemcpy2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_dpitch;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_spitch;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy2D (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_dpitch,&__pyx_n_s_src,&__pyx_n_s_spitch,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_kind_2,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dpitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2D", 1, 7, 7, 1); __PYX_ERR(0, 16029, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2D", 1, 7, 7, 2); __PYX_ERR(0, 16029, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_spitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2D", 1, 7, 7, 3); __PYX_ERR(0, 16029, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2D", 1, 7, 7, 4); __PYX_ERR(0, 16029, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2D", 1, 7, 7, 5); __PYX_ERR(0, 16029, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2D", 1, 7, 7, 6); __PYX_ERR(0, 16029, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy2D") < 0)) __PYX_ERR(0, 16029, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
    }
    __pyx_v_dst = values[0];
    __pyx_v_dpitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dpitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16029, __pyx_L3_error)
    __pyx_v_src = values[2];
    __pyx_v_spitch = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_spitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16029, __pyx_L3_error)
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16029, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16029, __pyx_L3_error)
    __pyx_v_kind = values[6];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy2D", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16029, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16029, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_250cudaMemcpy2D(__pyx_self, __pyx_v_dst, __pyx_v_dpitch, __pyx_v_src, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_250cudaMemcpy2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  enum cudaMemcpyKind __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__547)
  __Pyx_RefNannySetupContext("cudaMemcpy2D", 0);
  __Pyx_TraceCall("cudaMemcpy2D", __pyx_f[0], 16029, 0, __PYX_ERR(0, 16029, __pyx_L1_error));

  /* "cuda/cudart.pyx":16076
 *     :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DUnaligned`
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16077
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16077, __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(0, 16077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":16078
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16079
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16079, __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(0, 16079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":16080
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2D(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":16081
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2D(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16082
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2D(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpy2D(__pyx_v_cdst_ptr, __pyx_v_dpitch, __pyx_v_csrc_ptr, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_ckind); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16082, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":16081
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2D(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":16083
 *     with nogil:
 *         err = ccudart.cudaMemcpy2D(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16083, __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(0, 16083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16029
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2D(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* 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.cudart.cudaMemcpy2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16086
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_253cudaMemcpy2DToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_252cudaMemcpy2DToArray[] = "cudaMemcpy2DToArray(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    Copies a matrix (`height` rows of `width` bytes each) from the memory\n    area pointed to by `src` to the CUDA array `dst` starting at `hOffset`\n    rows and `wOffset` bytes from the upper left corner, where `kind`\n    specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. `spitch` is the width in memory in bytes of\n    the 2D array pointed to by `src`, including any padding added to the\n    end of each row. `wOffset` + `width` must not exceed the width of the\n    CUDA array `dst`. `width` must not exceed `spitch`.\n    :py:obj:`~.cudaMemcpy2DToArray()` returns an error if `spitch` exceeds\n    the maximum allowed.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.cudaArray_t`\n        Destination memory address\n    wOffset : size_t\n        Destination starting X offset (columns in bytes)\n    hOffset : size_t\n        Destination starting Y offset (rows)\n    src : Any\n        Source memory address\n    spitch : size_t\n        Pitch of source memory\n    width : size_t\n        Width of matrix transfer (columns in bytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`""\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DUnaligned`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_253cudaMemcpy2DToArray = {"cudaMemcpy2DToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_253cudaMemcpy2DToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_252cudaMemcpy2DToArray};
static PyObject *__pyx_pw_4cuda_6cudart_253cudaMemcpy2DToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_spitch;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy2DToArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_src,&__pyx_n_s_spitch,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_kind_2,0};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, 1); __PYX_ERR(0, 16086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, 2); __PYX_ERR(0, 16086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, 3); __PYX_ERR(0, 16086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_spitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, 4); __PYX_ERR(0, 16086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, 5); __PYX_ERR(0, 16086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, 6); __PYX_ERR(0, 16086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, 7); __PYX_ERR(0, 16086, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy2DToArray") < 0)) __PYX_ERR(0, 16086, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
    }
    __pyx_v_dst = values[0];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16086, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16086, __pyx_L3_error)
    __pyx_v_src = values[3];
    __pyx_v_spitch = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_spitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16086, __pyx_L3_error)
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16086, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[6]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16086, __pyx_L3_error)
    __pyx_v_kind = values[7];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArray", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16086, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16086, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_252cudaMemcpy2DToArray(__pyx_self, __pyx_v_dst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_src, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_252cudaMemcpy2DToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind) {
  cudaArray_t __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  enum cudaMemcpyKind __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__548)
  __Pyx_RefNannySetupContext("cudaMemcpy2DToArray", 0);
  __Pyx_TraceCall("cudaMemcpy2DToArray", __pyx_f[0], 16086, 0, __PYX_ERR(0, 16086, __pyx_L1_error));

  /* "cuda/cudart.pyx":16135
 *     """
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16136
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16135
 *     """
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16137
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16138
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdst = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":16139
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(cudaArray_t(dst))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16139, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":16137
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16141
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 *         pdst = int(cudaArray_t(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dst); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdst = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":16142
 *     else:
 *         pdst = int(cudaArray_t(dst))
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16142, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16144
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_csrc = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":16145
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

  /* "cuda/cudart.pyx":16146
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArray(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_ckind = __pyx_t_6;

  /* "cuda/cudart.pyx":16147
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArray(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16148
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArray(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DToArray(__pyx_v_cdst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_csrc_ptr, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_ckind); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16148, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":16147
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArray(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":16149
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArray(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16086
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16152
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_255cudaMemcpy2DFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_254cudaMemcpy2DFromArray[] = "cudaMemcpy2DFromArray(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    Copies a matrix (`height` rows of `width` bytes each) from the CUDA\n    array `src` starting at `hOffset` rows and `wOffset` bytes from the\n    upper left corner to the memory area pointed to by `dst`, where `kind`\n    specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. `dpitch` is the width in memory in bytes of\n    the 2D array pointed to by `dst`, including any padding added to the\n    end of each row. `wOffset` + `width` must not exceed the width of the\n    CUDA array `src`. `width` must not exceed `dpitch`.\n    :py:obj:`~.cudaMemcpy2DFromArray()` returns an error if `dpitch`\n    exceeds the maximum allowed.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    dpitch : size_t\n        Pitch of destination memory\n    src : :py:obj:`~.cudaArray_const_t`\n        Source memory address\n    wOffset : size_t\n        Source starting X offset (columns in bytes)\n    hOffset : size_t\n        Source starting Y offset (rows)\n    width : size_t\n        Width of matrix transfer (columns in bytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirec""tion`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DUnaligned`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_255cudaMemcpy2DFromArray = {"cudaMemcpy2DFromArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_255cudaMemcpy2DFromArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_254cudaMemcpy2DFromArray};
static PyObject *__pyx_pw_4cuda_6cudart_255cudaMemcpy2DFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_dpitch;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy2DFromArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_dpitch,&__pyx_n_s_src,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_kind_2,0};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dpitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, 1); __PYX_ERR(0, 16152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, 2); __PYX_ERR(0, 16152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, 3); __PYX_ERR(0, 16152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, 4); __PYX_ERR(0, 16152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, 5); __PYX_ERR(0, 16152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, 6); __PYX_ERR(0, 16152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, 7); __PYX_ERR(0, 16152, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy2DFromArray") < 0)) __PYX_ERR(0, 16152, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
    }
    __pyx_v_dst = values[0];
    __pyx_v_dpitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dpitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16152, __pyx_L3_error)
    __pyx_v_src = values[2];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16152, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16152, __pyx_L3_error)
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16152, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[6]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16152, __pyx_L3_error)
    __pyx_v_kind = values[7];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArray", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16152, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DFromArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16152, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_254cudaMemcpy2DFromArray(__pyx_self, __pyx_v_dst, __pyx_v_dpitch, __pyx_v_src, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_width, __pyx_v_height, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_254cudaMemcpy2DFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind) {
  cudaArray_const_t __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  enum cudaMemcpyKind __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__549)
  __Pyx_RefNannySetupContext("cudaMemcpy2DFromArray", 0);
  __Pyx_TraceCall("cudaMemcpy2DFromArray", __pyx_f[0], 16152, 0, __PYX_ERR(0, 16152, __pyx_L1_error));

  /* "cuda/cudart.pyx":16201
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16202
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16201
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16203
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16204
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrc = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":16205
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16205, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":16203
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16207
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 *         psrc = int(cudaArray_const_t(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), __pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrc = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":16208
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16208, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16210
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_cdst = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":16211
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

  /* "cuda/cudart.pyx":16212
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_ckind = __pyx_t_6;

  /* "cuda/cudart.pyx":16213
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16214
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArray(__pyx_v_cdst_ptr, __pyx_v_dpitch, __pyx_v_csrc, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_width, __pyx_v_height, __pyx_v_ckind); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16214, __pyx_L5_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":16213
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":16215
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16152
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DFromArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16218
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_257cudaMemcpy2DArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_256cudaMemcpy2DArrayToArray[] = "cudaMemcpy2DArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    Copies a matrix (`height` rows of `width` bytes each) from the CUDA\n    array `src` starting at `hOffsetSrc` rows and `wOffsetSrc` bytes from\n    the upper left corner to the CUDA array `dst` starting at `hOffsetDst`\n    rows and `wOffsetDst` bytes from the upper left corner, where `kind`\n    specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. `wOffsetDst` + `width` must not exceed the\n    width of the CUDA array `dst`. `wOffsetSrc` + `width` must not exceed\n    the width of the CUDA array `src`.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.cudaArray_t`\n        Destination memory address\n    wOffsetDst : size_t\n        Destination starting X offset (columns in bytes)\n    hOffsetDst : size_t\n        Destination starting Y offset (rows)\n    src : :py:obj:`~.cudaArray_const_t`\n        Source memory address\n    wOffsetSrc : size_t\n        Source starting X offset (columns in bytes)\n    hOffsetSrc : size_t\n        Source starting Y offset (rows)\n    width : size_t\n        Width of matrix transfer (columns in bytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`""\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2D`, :py:obj:`~.cuMemcpy2DUnaligned`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_257cudaMemcpy2DArrayToArray = {"cudaMemcpy2DArrayToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_257cudaMemcpy2DArrayToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_256cudaMemcpy2DArrayToArray};
static PyObject *__pyx_pw_4cuda_6cudart_257cudaMemcpy2DArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_wOffsetDst;
  size_t __pyx_v_hOffsetDst;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_wOffsetSrc;
  size_t __pyx_v_hOffsetSrc;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy2DArrayToArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_wOffsetDst,&__pyx_n_s_hOffsetDst,&__pyx_n_s_src,&__pyx_n_s_wOffsetSrc,&__pyx_n_s_hOffsetSrc,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_kind_2,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffsetDst)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 1); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffsetDst)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 2); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 3); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffsetSrc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 4); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffsetSrc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 5); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 6); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 7); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, 8); __PYX_ERR(0, 16218, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy2DArrayToArray") < 0)) __PYX_ERR(0, 16218, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_dst = values[0];
    __pyx_v_wOffsetDst = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_wOffsetDst == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16218, __pyx_L3_error)
    __pyx_v_hOffsetDst = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_hOffsetDst == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16218, __pyx_L3_error)
    __pyx_v_src = values[3];
    __pyx_v_wOffsetSrc = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_wOffsetSrc == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16218, __pyx_L3_error)
    __pyx_v_hOffsetSrc = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_hOffsetSrc == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16218, __pyx_L3_error)
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[6]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16218, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[7]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16218, __pyx_L3_error)
    __pyx_v_kind = values[8];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DArrayToArray", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16218, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DArrayToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16218, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_256cudaMemcpy2DArrayToArray(__pyx_self, __pyx_v_dst, __pyx_v_wOffsetDst, __pyx_v_hOffsetDst, __pyx_v_src, __pyx_v_wOffsetSrc, __pyx_v_hOffsetSrc, __pyx_v_width, __pyx_v_height, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_256cudaMemcpy2DArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, PyObject *__pyx_v_src, size_t __pyx_v_wOffsetSrc, size_t __pyx_v_hOffsetSrc, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind) {
  cudaArray_const_t __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  cudaArray_t __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  enum cudaMemcpyKind __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__550)
  __Pyx_RefNannySetupContext("cudaMemcpy2DArrayToArray", 0);
  __Pyx_TraceCall("cudaMemcpy2DArrayToArray", __pyx_f[0], 16218, 0, __PYX_ERR(0, 16218, __pyx_L1_error));

  /* "cuda/cudart.pyx":16267
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16268
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16267
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16269
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16270
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrc = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":16271
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16271, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":16269
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16273
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 *         psrc = int(cudaArray_const_t(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), __pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrc = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":16274
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaArray_t cdst
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16274, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16277
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16278
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16277
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":16279
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16280
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 */
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_pdst = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":16281
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(cudaArray_t(dst))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16281, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":16279
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":16283
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 *         pdst = int(cudaArray_t(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dst); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pdst = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":16284
 *     else:
 *         pdst = int(cudaArray_t(dst))
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16284, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":16286
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpy2DArrayToArray(cdst, wOffsetDst, hOffsetDst, csrc, wOffsetSrc, hOffsetSrc, width, height, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_ckind = __pyx_t_6;

  /* "cuda/cudart.pyx":16287
 * 
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpy2DArrayToArray(cdst, wOffsetDst, hOffsetDst, csrc, wOffsetSrc, hOffsetSrc, width, height, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DArrayToArray(__pyx_v_cdst, __pyx_v_wOffsetDst, __pyx_v_hOffsetDst, __pyx_v_csrc, __pyx_v_wOffsetSrc, __pyx_v_hOffsetSrc, __pyx_v_width, __pyx_v_height, __pyx_v_ckind); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16287, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16288
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpy2DArrayToArray(cdst, wOffsetDst, hOffsetDst, csrc, wOffsetSrc, hOffsetSrc, width, height, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16218
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DArrayToArray", __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/cudart.pyx":16291
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyAsync(dst, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_259cudaMemcpyAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_258cudaMemcpyAsync[] = "cudaMemcpyAsync(dst, src, size_t count, kind: cudaMemcpyKind, stream)\n Copies data between host and device.\n\n    Copies `count` bytes from the memory area pointed to by `src` to the\n    memory area pointed to by `dst`, where `kind` specifies the direction\n    of the copy, and must be one of :py:obj:`~.cudaMemcpyHostToHost`,\n    :py:obj:`~.cudaMemcpyHostToDevice`, :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing.\n\n    The memory areas may not overlap. Calling :py:obj:`~.cudaMemcpyAsync()`\n    with `dst` and `src` pointers that do not match the direction of the\n    copy results in an undefined behavior.\n\n    :py:obj:`~.cudaMemcpyAsync()` is asynchronous with respect to the host,\n    so the call may return before the copy is complete. The copy can\n    optionally be associated to a stream by passing a non-zero `stream`\n    argument. If `kind` is :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` and the `stream` is non-zero, the\n    copy may overlap with operations in other streams.\n\n    The device version of this function only handles device to device\n    copies and cannot be given local or shared pointers.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    src : Any\n        Source memory address\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    ""--------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpyDtoHAsync`, :py:obj:`~.cuMemcpyHtoDAsync`, :py:obj:`~.cuMemcpyDtoDAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_259cudaMemcpyAsync = {"cudaMemcpyAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_259cudaMemcpyAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_258cudaMemcpyAsync};
static PyObject *__pyx_pw_4cuda_6cudart_259cudaMemcpyAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_count,&__pyx_n_s_kind_2,&__pyx_n_s_stream,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyAsync", 1, 5, 5, 1); __PYX_ERR(0, 16291, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyAsync", 1, 5, 5, 2); __PYX_ERR(0, 16291, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyAsync", 1, 5, 5, 3); __PYX_ERR(0, 16291, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyAsync", 1, 5, 5, 4); __PYX_ERR(0, 16291, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyAsync") < 0)) __PYX_ERR(0, 16291, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16291, __pyx_L3_error)
    __pyx_v_kind = values[3];
    __pyx_v_stream = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyAsync", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16291, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16291, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_258cudaMemcpyAsync(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_count, __pyx_v_kind, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_258cudaMemcpyAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__551)
  __Pyx_RefNannySetupContext("cudaMemcpyAsync", 0);
  __Pyx_TraceCall("cudaMemcpyAsync", __pyx_f[0], 16291, 0, __PYX_ERR(0, 16291, __pyx_L1_error));

  /* "cuda/cudart.pyx":16341
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16342
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16341
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16343
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16344
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16345
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16345, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16343
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16347
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16348
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __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(0, 16348, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16350
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdst = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16351
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16352
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_csrc = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16353
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16354
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpyAsync(cdst_ptr, csrc_ptr, count, ckind, cstream)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":16355
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpyAsync(cdst_ptr, csrc_ptr, count, ckind, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16356
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpyAsync(cdst_ptr, csrc_ptr, count, ckind, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpyAsync(__pyx_v_cdst_ptr, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16356, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":16355
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpyAsync(cdst_ptr, csrc_ptr, count, ckind, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":16357
 *     with nogil:
 *         err = ccudart.cudaMemcpyAsync(cdst_ptr, csrc_ptr, count, ckind, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16291
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyAsync(dst, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16360
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeerAsync(dst, int dstDevice, src, int srcDevice, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices asynchronously.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_261cudaMemcpyPeerAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_260cudaMemcpyPeerAsync[] = "cudaMemcpyPeerAsync(dst, int dstDevice, src, int srcDevice, size_t count, stream)\n Copies memory between two devices asynchronously.\n\n    Copies memory from one device to memory on another device. `dst` is the\n    base device pointer of the destination memory and `dstDevice` is the\n    destination device. `src` is the base device pointer of the source\n    memory and `srcDevice` is the source device. `count` specifies the\n    number of bytes to copy.\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    dst : Any\n        Destination device pointer\n    dstDevice : int\n        Destination device\n    src : Any\n        Source device pointer\n    srcDevice : int\n        Source device\n    count : size_t\n        Size of memory copy in bytes\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyPeer`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cuMemcpyPeerAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_261cudaMemcpyPeerAsync = {"cudaMemcpyPeerAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_261cudaMemcpyPeerAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_260cudaMemcpyPeerAsync};
static PyObject *__pyx_pw_4cuda_6cudart_261cudaMemcpyPeerAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  int __pyx_v_dstDevice;
  PyObject *__pyx_v_src = 0;
  int __pyx_v_srcDevice;
  size_t __pyx_v_count;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyPeerAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_dstDevice_2,&__pyx_n_s_src,&__pyx_n_s_srcDevice_2,&__pyx_n_s_count,&__pyx_n_s_stream,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dstDevice_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeerAsync", 1, 6, 6, 1); __PYX_ERR(0, 16360, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeerAsync", 1, 6, 6, 2); __PYX_ERR(0, 16360, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_srcDevice_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeerAsync", 1, 6, 6, 3); __PYX_ERR(0, 16360, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeerAsync", 1, 6, 6, 4); __PYX_ERR(0, 16360, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeerAsync", 1, 6, 6, 5); __PYX_ERR(0, 16360, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyPeerAsync") < 0)) __PYX_ERR(0, 16360, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
    }
    __pyx_v_dst = values[0];
    __pyx_v_dstDevice = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dstDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16360, __pyx_L3_error)
    __pyx_v_src = values[2];
    __pyx_v_srcDevice = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_srcDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16360, __pyx_L3_error)
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16360, __pyx_L3_error)
    __pyx_v_stream = values[5];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyPeerAsync", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16360, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_260cudaMemcpyPeerAsync(__pyx_self, __pyx_v_dst, __pyx_v_dstDevice, __pyx_v_src, __pyx_v_srcDevice, __pyx_v_count, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_260cudaMemcpyPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, int __pyx_v_dstDevice, PyObject *__pyx_v_src, int __pyx_v_srcDevice, size_t __pyx_v_count, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__552)
  __Pyx_RefNannySetupContext("cudaMemcpyPeerAsync", 0);
  __Pyx_TraceCall("cudaMemcpyPeerAsync", __pyx_f[0], 16360, 0, __PYX_ERR(0, 16360, __pyx_L1_error));

  /* "cuda/cudart.pyx":16397
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16398
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16397
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16399
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16400
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16401
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16401, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16399
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16403
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16404
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __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(0, 16404, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16406
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdst = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16407
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16408
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_csrc = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16409
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeerAsync(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count, cstream)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16410
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpyPeerAsync(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16411
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeerAsync(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpyPeerAsync(__pyx_v_cdst_ptr, __pyx_v_dstDevice, __pyx_v_csrc_ptr, __pyx_v_srcDevice, __pyx_v_count, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16411, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":16410
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpyPeerAsync(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":16412
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeerAsync(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16360
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeerAsync(dst, int dstDevice, src, int srcDevice, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices asynchronously.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16415
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DAsync(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_263cudaMemcpy2DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_262cudaMemcpy2DAsync[] = "cudaMemcpy2DAsync(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind: cudaMemcpyKind, stream)\n Copies data between host and device.\n\n    Copies a matrix (`height` rows of `width` bytes each) from the memory\n    area pointed to by `src` to the memory area pointed to by `dst`, where\n    `kind` specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. `dpitch` and `spitch` are the widths in\n    memory in bytes of the 2D arrays pointed to by `dst` and `src`,\n    including any padding added to the end of each row. The memory areas\n    may not overlap. `width` must not exceed either `dpitch` or `spitch`.\n\n    Calling :py:obj:`~.cudaMemcpy2DAsync()` with `dst` and `src` pointers\n    that do not match the direction of the copy results in an undefined\n    behavior. :py:obj:`~.cudaMemcpy2DAsync()` returns an error if `dpitch`\n    or `spitch` is greater than the maximum allowed.\n\n    :py:obj:`~.cudaMemcpy2DAsync()` is asynchronous with respect to the\n    host, so the call may return before the copy is complete. The copy can\n    optionally be associated to a stream by passing a non-zero `stream`\n    argument. If `kind` is :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` and `stream` is non-zero, the copy\n    may overlap with operations in other streams.\n\n    The device version of this function only handles device to device\n    copies and cannot be given local or shared pointers.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    dp""itch : size_t\n        Pitch of destination memory\n    src : Any\n        Source memory address\n    spitch : size_t\n        Pitch of source memory\n    width : size_t\n        Width of matrix transfer (columns in bytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2DAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_263cudaMemcpy2DAsync = {"cudaMemcpy2DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_263cudaMemcpy2DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_262cudaMemcpy2DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_263cudaMemcpy2DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_dpitch;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_spitch;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_kind = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy2DAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_dpitch,&__pyx_n_s_src,&__pyx_n_s_spitch,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_kind_2,&__pyx_n_s_stream,0};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dpitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, 1); __PYX_ERR(0, 16415, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, 2); __PYX_ERR(0, 16415, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_spitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, 3); __PYX_ERR(0, 16415, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, 4); __PYX_ERR(0, 16415, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, 5); __PYX_ERR(0, 16415, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, 6); __PYX_ERR(0, 16415, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, 7); __PYX_ERR(0, 16415, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy2DAsync") < 0)) __PYX_ERR(0, 16415, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
    }
    __pyx_v_dst = values[0];
    __pyx_v_dpitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dpitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16415, __pyx_L3_error)
    __pyx_v_src = values[2];
    __pyx_v_spitch = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_spitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16415, __pyx_L3_error)
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16415, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16415, __pyx_L3_error)
    __pyx_v_kind = values[6];
    __pyx_v_stream = values[7];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DAsync", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16415, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16415, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_262cudaMemcpy2DAsync(__pyx_self, __pyx_v_dst, __pyx_v_dpitch, __pyx_v_src, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_kind, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_262cudaMemcpy2DAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__553)
  __Pyx_RefNannySetupContext("cudaMemcpy2DAsync", 0);
  __Pyx_TraceCall("cudaMemcpy2DAsync", __pyx_f[0], 16415, 0, __PYX_ERR(0, 16415, __pyx_L1_error));

  /* "cuda/cudart.pyx":16476
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16477
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16476
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16478
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16479
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16480
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16480, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16478
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16482
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16483
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __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(0, 16483, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16485
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdst = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16486
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16487
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_csrc = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16488
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16489
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DAsync(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind, cstream)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":16490
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DAsync(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16491
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DAsync(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DAsync(__pyx_v_cdst_ptr, __pyx_v_dpitch, __pyx_v_csrc_ptr, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_ckind, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16491, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":16490
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DAsync(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":16492
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DAsync(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16415
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DAsync(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16495
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_265cudaMemcpy2DToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_264cudaMemcpy2DToArrayAsync[] = "cudaMemcpy2DToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind: cudaMemcpyKind, stream)\n Copies data between host and device.\n\n    Copies a matrix (`height` rows of `width` bytes each) from the memory\n    area pointed to by `src` to the CUDA array `dst` starting at `hOffset`\n    rows and `wOffset` bytes from the upper left corner, where `kind`\n    specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. `spitch` is the width in memory in bytes of\n    the 2D array pointed to by `src`, including any padding added to the\n    end of each row. `wOffset` + `width` must not exceed the width of the\n    CUDA array `dst`. `width` must not exceed `spitch`.\n    :py:obj:`~.cudaMemcpy2DToArrayAsync()` returns an error if `spitch`\n    exceeds the maximum allowed.\n\n    :py:obj:`~.cudaMemcpy2DToArrayAsync()` is asynchronous with respect to\n    the host, so the call may return before the copy is complete. The copy\n    can optionally be associated to a stream by passing a non-zero `stream`\n    argument. If `kind` is :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` and `stream` is non-zero, the copy\n    may overlap with operations in other streams.\n\n    :py:obj:`~.cudaMemcpy2DFromArrayAsync`,\n    :py:obj:`~.cudaMemcpyToSymbolAsync`,\n    :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2DAsync`\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.cudaArray_t`\n        Destination memory address\n    wOffset : size_t\n        Destination ""starting X offset (columns in bytes)\n    hOffset : size_t\n        Destination starting Y offset (rows)\n    src : Any\n        Source memory address\n    spitch : size_t\n        Pitch of source memory\n    width : size_t\n        Width of matrix transfer (columns in bytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_265cudaMemcpy2DToArrayAsync = {"cudaMemcpy2DToArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_265cudaMemcpy2DToArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_264cudaMemcpy2DToArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_265cudaMemcpy2DToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_spitch;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_kind = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy2DToArrayAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_src,&__pyx_n_s_spitch,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_kind_2,&__pyx_n_s_stream,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 1); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 2); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 3); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_spitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 4); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 5); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 6); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 7); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, 8); __PYX_ERR(0, 16495, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy2DToArrayAsync") < 0)) __PYX_ERR(0, 16495, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_dst = values[0];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16495, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16495, __pyx_L3_error)
    __pyx_v_src = values[3];
    __pyx_v_spitch = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_spitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16495, __pyx_L3_error)
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16495, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[6]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16495, __pyx_L3_error)
    __pyx_v_kind = values[7];
    __pyx_v_stream = values[8];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DToArrayAsync", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16495, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DToArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16495, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_264cudaMemcpy2DToArrayAsync(__pyx_self, __pyx_v_dst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_src, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_kind, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_264cudaMemcpy2DToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_spitch, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaArray_t __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__554)
  __Pyx_RefNannySetupContext("cudaMemcpy2DToArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpy2DToArrayAsync", __pyx_f[0], 16495, 0, __PYX_ERR(0, 16495, __pyx_L1_error));

  /* "cuda/cudart.pyx":16557
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16558
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16557
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16559
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16560
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16561
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16561, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16559
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16563
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16564
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaArray_t cdst
 */
    __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(0, 16564, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16567
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16568
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16567
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":16569
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16570
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pdst = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16571
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(cudaArray_t(dst))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16571, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16569
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":16573
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 *         pdst = int(cudaArray_t(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16574
 *     else:
 *         pdst = int(cudaArray_t(dst))
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16574, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":16576
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16577
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16577, __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(0, 16577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16578
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, cstream)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":16579
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16580
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DToArrayAsync(__pyx_v_cdst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_csrc_ptr, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_ckind, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16580, __pyx_L8_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":16579
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/cudart.pyx":16581
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16495
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DToArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16584
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_267cudaMemcpy2DFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_266cudaMemcpy2DFromArrayAsync[] = "cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind: cudaMemcpyKind, stream)\n Copies data between host and device.\n\n    Copies a matrix (`height` rows of `width` bytes each) from the CUDA\n    array `src` starting at `hOffset` rows and `wOffset` bytes from the\n    upper left corner to the memory area pointed to by `dst`, where `kind`\n    specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. `dpitch` is the width in memory in bytes of\n    the 2D array pointed to by `dst`, including any padding added to the\n    end of each row. `wOffset` + `width` must not exceed the width of the\n    CUDA array `src`. `width` must not exceed `dpitch`.\n    :py:obj:`~.cudaMemcpy2DFromArrayAsync()` returns an error if `dpitch`\n    exceeds the maximum allowed.\n\n    :py:obj:`~.cudaMemcpy2DFromArrayAsync()` is asynchronous with respect\n    to the host, so the call may return before the copy is complete. The\n    copy can optionally be associated to a stream by passing a non-zero\n    `stream` argument. If `kind` is :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` and `stream` is non-zero, the copy\n    may overlap with operations in other streams.\n\n    :py:obj:`~.cudaMemcpyToSymbolAsync`,\n    :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpy2DAsync`\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    dpitch : size_t\n        Pitch of destination memory\n    src : :py:obj:`~.cudaArray_const_t`""\n        Source memory address\n    wOffset : size_t\n        Source starting X offset (columns in bytes)\n    hOffset : size_t\n        Source starting Y offset (rows)\n    width : size_t\n        Width of matrix transfer (columns in bytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidPitchValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_267cudaMemcpy2DFromArrayAsync = {"cudaMemcpy2DFromArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_267cudaMemcpy2DFromArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_266cudaMemcpy2DFromArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_267cudaMemcpy2DFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_dpitch;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_kind = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpy2DFromArrayAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_dpitch,&__pyx_n_s_src,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_kind_2,&__pyx_n_s_stream,0};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dpitch)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 1); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 2); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 3); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 4); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 5); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 6); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 7); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, 8); __PYX_ERR(0, 16584, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpy2DFromArrayAsync") < 0)) __PYX_ERR(0, 16584, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_dst = values[0];
    __pyx_v_dpitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dpitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16584, __pyx_L3_error)
    __pyx_v_src = values[2];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16584, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16584, __pyx_L3_error)
    __pyx_v_width = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16584, __pyx_L3_error)
    __pyx_v_height = __Pyx_PyInt_As_size_t(values[6]); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16584, __pyx_L3_error)
    __pyx_v_kind = values[7];
    __pyx_v_stream = values[8];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpy2DFromArrayAsync", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16584, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DFromArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 16584, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_266cudaMemcpy2DFromArrayAsync(__pyx_self, __pyx_v_dst, __pyx_v_dpitch, __pyx_v_src, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_width, __pyx_v_height, __pyx_v_kind, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_266cudaMemcpy2DFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaArray_const_t __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__555)
  __Pyx_RefNannySetupContext("cudaMemcpy2DFromArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpy2DFromArrayAsync", __pyx_f[0], 16584, 0, __PYX_ERR(0, 16584, __pyx_L1_error));

  /* "cuda/cudart.pyx":16645
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16646
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16645
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16647
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16648
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16649
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16649, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16647
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16651
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16652
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaArray_const_t csrc
 */
    __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(0, 16652, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16655
 * 
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16656
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16655
 * 
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":16657
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16658
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_psrc = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16659
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16659, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16657
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":16661
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 *         psrc = int(cudaArray_const_t(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), __pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_psrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16662
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16662, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":16664
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16665
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16665, __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(0, 16665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16666
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind, cstream)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":16667
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16668
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArrayAsync(__pyx_v_cdst_ptr, __pyx_v_dpitch, __pyx_v_csrc, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_width, __pyx_v_height, __pyx_v_ckind, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16668, __pyx_L8_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":16667
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L9;
        }
        __pyx_L8_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L9:;
      }
  }

  /* "cuda/cudart.pyx":16669
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, csrc, wOffset, hOffset, width, height, ckind, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16584
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DFromArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16672
 * 
 * @cython.embedsignature(True)
 * def cudaMemset(devPtr, int value, size_t count):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_269cudaMemset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_268cudaMemset[] = "cudaMemset(devPtr, int value, size_t count)\n Initializes or sets device memory to a value.\n\n    Fills the first `count` bytes of the memory area pointed to by `devPtr`\n    with the constant byte value `value`.\n\n    Note that this function is asynchronous with respect to the host unless\n    `devPtr` refers to pinned host memory.\n\n    Parameters\n    ----------\n    devPtr : Any\n        Pointer to device memory\n    value : int\n        Value to set for each byte of specified memory\n    count : size_t\n        Size in bytes to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_269cudaMemset = {"cudaMemset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_269cudaMemset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_268cudaMemset};
static PyObject *__pyx_pw_4cuda_6cudart_269cudaMemset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_devPtr = 0;
  int __pyx_v_value;
  size_t __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_value,&__pyx_n_s_count,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset", 1, 3, 3, 1); __PYX_ERR(0, 16672, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset", 1, 3, 3, 2); __PYX_ERR(0, 16672, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemset") < 0)) __PYX_ERR(0, 16672, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_value = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16672, __pyx_L3_error)
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16672, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemset", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16672, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_268cudaMemset(__pyx_self, __pyx_v_devPtr, __pyx_v_value, __pyx_v_count);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_268cudaMemset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, int __pyx_v_value, size_t __pyx_v_count) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__556)
  __Pyx_RefNannySetupContext("cudaMemset", 0);
  __Pyx_TraceCall("cudaMemset", __pyx_f[0], 16672, 0, __PYX_ERR(0, 16672, __pyx_L1_error));

  /* "cuda/cudart.pyx":16699
 *     :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16700
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemset(cdevPtr_ptr, value, count)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16700, __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(0, 16700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":16701
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemset(cdevPtr_ptr, value, count)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16702
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaMemset(cdevPtr_ptr, value, count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaMemset(__pyx_v_cdevPtr_ptr, __pyx_v_value, __pyx_v_count); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16702, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":16701
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemset(cdevPtr_ptr, value, count)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":16703
 *     with nogil:
 *         err = ccudart.cudaMemset(cdevPtr_ptr, value, count)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 16703, __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(0, 16703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16672
 * 
 * @cython.embedsignature(True)
 * def cudaMemset(devPtr, int value, size_t count):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

  /* 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.cudart.cudaMemset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16706
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2D(devPtr, size_t pitch, int value, size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_271cudaMemset2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_270cudaMemset2D[] = "cudaMemset2D(devPtr, size_t pitch, int value, size_t width, size_t height)\n Initializes or sets device memory to a value.\n\n    Sets to the specified value `value` a matrix (`height` rows of `width`\n    bytes each) pointed to by `dstPtr`. `pitch` is the width in bytes of\n    the 2D array pointed to by `dstPtr`, including any padding added to the\n    end of each row. This function performs fastest when the pitch is one\n    that has been passed back by :py:obj:`~.cudaMallocPitch()`.\n\n    Note that this function is asynchronous with respect to the host unless\n    `devPtr` refers to pinned host memory.\n\n    Parameters\n    ----------\n    devPtr : Any\n        Pointer to 2D device memory\n    pitch : size_t\n        Pitch in bytes of 2D device memory(Unused if `height` is 1)\n    value : int\n        Value to set for each byte of specified memory\n    width : size_t\n        Width of matrix set (columns in bytes)\n    height : size_t\n        Height of matrix set (rows)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemsetAsync`, :py:obj:`~.cudaMemset2DAsync`, :py:obj:`~.cudaMemset3DAsync`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_271cudaMemset2D = {"cudaMemset2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_271cudaMemset2D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_270cudaMemset2D};
static PyObject *__pyx_pw_4cuda_6cudart_271cudaMemset2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_pitch;
  int __pyx_v_value;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemset2D (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_pitch_2,&__pyx_n_s_value,&__pyx_n_s_width_2,&__pyx_n_s_height_2,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pitch_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2D", 1, 5, 5, 1); __PYX_ERR(0, 16706, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2D", 1, 5, 5, 2); __PYX_ERR(0, 16706, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2D", 1, 5, 5, 3); __PYX_ERR(0, 16706, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2D", 1, 5, 5, 4); __PYX_ERR(0, 16706, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemset2D") < 0)) __PYX_ERR(0, 16706, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_pitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16706, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16706, __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(0, 16706, __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(0, 16706, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemset2D", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16706, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemset2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_270cudaMemset2D(__pyx_self, __pyx_v_devPtr, __pyx_v_pitch, __pyx_v_value, __pyx_v_width, __pyx_v_height);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_270cudaMemset2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_pitch, int __pyx_v_value, size_t __pyx_v_width, size_t __pyx_v_height) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__557)
  __Pyx_RefNannySetupContext("cudaMemset2D", 0);
  __Pyx_TraceCall("cudaMemset2D", __pyx_f[0], 16706, 0, __PYX_ERR(0, 16706, __pyx_L1_error));

  /* "cuda/cudart.pyx":16740
 *     :py:obj:`~.cudaMemset`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemsetAsync`, :py:obj:`~.cudaMemset2DAsync`, :py:obj:`~.cudaMemset3DAsync`, :py:obj:`~.cuMemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2D(cdevPtr_ptr, pitch, value, width, height)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16741
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemset2D(cdevPtr_ptr, pitch, value, width, height)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16741, __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(0, 16741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":16742
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2D(cdevPtr_ptr, pitch, value, width, height)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaMemset2D(__pyx_v_cdevPtr_ptr, __pyx_v_pitch, __pyx_v_value, __pyx_v_width, __pyx_v_height); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16742, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":16743
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2D(cdevPtr_ptr, pitch, value, width, height)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 16743, __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(0, 16743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16706
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2D(devPtr, size_t pitch, int value, size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

  /* 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.cudart.cudaMemset2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16746
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3D(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_273cudaMemset3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_272cudaMemset3D[] = "cudaMemset3D(cudaPitchedPtr pitchedDevPtr: cudaPitchedPtr, int value, cudaExtent extent: cudaExtent)\n Initializes or sets device memory to a value.\n\n    Initializes each element of a 3D array to the specified value `value`.\n    The object to initialize is defined by `pitchedDevPtr`. The `pitch`\n    field of `pitchedDevPtr` is the width in memory in bytes of the 3D\n    array pointed to by `pitchedDevPtr`, including any padding added to the\n    end of each row. The `xsize` field specifies the logical width of each\n    row in bytes, while the `ysize` field specifies the height of each 2D\n    slice in rows. The `pitch` field of `pitchedDevPtr` is ignored when\n    `height` and `depth` are both equal to 1.\n\n    The extents of the initialized region are specified as a `width` in\n    bytes, a `height` in rows, and a `depth` in slices.\n\n    Extents with `width` greater than or equal to the `xsize` of\n    `pitchedDevPtr` may perform significantly faster than extents narrower\n    than the `xsize`. Secondarily, extents with `height` equal to the\n    `ysize` of `pitchedDevPtr` will perform faster than when the `height`\n    is shorter than the `ysize`.\n\n    This function performs fastest when the `pitchedDevPtr` has been\n    allocated by :py:obj:`~.cudaMalloc3D()`.\n\n    Note that this function is asynchronous with respect to the host unless\n    `pitchedDevPtr` refers to pinned host memory.\n\n    Parameters\n    ----------\n    pitchedDevPtr : :py:obj:`~.cudaPitchedPtr`\n        Pointer to pitched device memory\n    value : int\n        Value to set for each byte of specified memory\n    extent : :py:obj:`~.cudaExtent`\n        Size parameters for where to set device memory (`width` field in\n        bytes)\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset`, :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaMemsetAsync`, :py:obj:`~.cudaMemset2DA""sync`, :py:obj:`~.cudaMemset3DAsync`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.make_cudaPitchedPtr`, :py:obj:`~.make_cudaExtent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_273cudaMemset3D = {"cudaMemset3D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_273cudaMemset3D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_272cudaMemset3D};
static PyObject *__pyx_pw_4cuda_6cudart_273cudaMemset3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr = 0;
  int __pyx_v_value;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemset3D (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pitchedDevPtr,&__pyx_n_s_value,&__pyx_n_s_extent_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pitchedDevPtr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset3D", 1, 3, 3, 1); __PYX_ERR(0, 16746, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extent_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset3D", 1, 3, 3, 2); __PYX_ERR(0, 16746, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemset3D") < 0)) __PYX_ERR(0, 16746, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_pitchedDevPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)values[0]);
    __pyx_v_value = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16746, __pyx_L3_error)
    __pyx_v_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemset3D", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16746, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemset3D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pitchedDevPtr), __pyx_ptype_4cuda_6cudart_cudaPitchedPtr, 0, "pitchedDevPtr", 0))) __PYX_ERR(0, 16746, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 16746, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_272cudaMemset3D(__pyx_self, __pyx_v_pitchedDevPtr, __pyx_v_value, __pyx_v_extent);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_272cudaMemset3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr, int __pyx_v_value, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__558)
  __Pyx_RefNannySetupContext("cudaMemset3D", 0);
  __Pyx_TraceCall("cudaMemset3D", __pyx_f[0], 16746, 0, __PYX_ERR(0, 16746, __pyx_L1_error));

  /* "cuda/cudart.pyx":16792
 *     :py:obj:`~.cudaMemset`, :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaMemsetAsync`, :py:obj:`~.cudaMemset2DAsync`, :py:obj:`~.cudaMemset3DAsync`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.make_cudaPitchedPtr`, :py:obj:`~.make_cudaExtent`
 *     """
 *     err = ccudart.cudaMemset3D(pitchedDevPtr._ptr[0], value, extent._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaMemset3D((__pyx_v_pitchedDevPtr->_ptr[0]), __pyx_v_value, (__pyx_v_extent->_ptr[0])); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16792, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":16793
 *     """
 *     err = ccudart.cudaMemset3D(pitchedDevPtr._ptr[0], value, extent._ptr[0])
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 16793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16746
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3D(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

  /* 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.cudart.cudaMemset3D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16796
 * 
 * @cython.embedsignature(True)
 * def cudaMemsetAsync(devPtr, int value, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_275cudaMemsetAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_274cudaMemsetAsync[] = "cudaMemsetAsync(devPtr, int value, size_t count, stream)\n Initializes or sets device memory to a value.\n\n    Fills the first `count` bytes of the memory area pointed to by `devPtr`\n    with the constant byte value `value`.\n\n    :py:obj:`~.cudaMemsetAsync()` is asynchronous with respect to the host,\n    so the call may return before the memset is complete. The operation can\n    optionally be associated to a stream by passing a non-zero `stream`\n    argument. If `stream` is non-zero, the operation may overlap with\n    operations in other streams.\n\n    The device version of this function only handles device to device\n    copies and cannot be given local or shared pointers.\n\n    Parameters\n    ----------\n    devPtr : Any\n        Pointer to device memory\n    value : int\n        Value to set for each byte of specified memory\n    count : size_t\n        Size in bytes to set\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset`, :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemset2DAsync`, :py:obj:`~.cudaMemset3DAsync`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32Async`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_275cudaMemsetAsync = {"cudaMemsetAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_275cudaMemsetAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_274cudaMemsetAsync};
static PyObject *__pyx_pw_4cuda_6cudart_275cudaMemsetAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_devPtr = 0;
  int __pyx_v_value;
  size_t __pyx_v_count;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemsetAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_value,&__pyx_n_s_count,&__pyx_n_s_stream,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemsetAsync", 1, 4, 4, 1); __PYX_ERR(0, 16796, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemsetAsync", 1, 4, 4, 2); __PYX_ERR(0, 16796, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemsetAsync", 1, 4, 4, 3); __PYX_ERR(0, 16796, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemsetAsync") < 0)) __PYX_ERR(0, 16796, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_value = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16796, __pyx_L3_error)
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16796, __pyx_L3_error)
    __pyx_v_stream = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemsetAsync", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16796, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_274cudaMemsetAsync(__pyx_self, __pyx_v_devPtr, __pyx_v_value, __pyx_v_count, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_274cudaMemsetAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, int __pyx_v_value, size_t __pyx_v_count, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__559)
  __Pyx_RefNannySetupContext("cudaMemsetAsync", 0);
  __Pyx_TraceCall("cudaMemsetAsync", __pyx_f[0], 16796, 0, __PYX_ERR(0, 16796, __pyx_L1_error));

  /* "cuda/cudart.pyx":16832
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16833
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16832
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16834
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16835
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16836
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16836, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16834
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16838
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16839
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
    __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(0, 16839, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16841
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdevPtr = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16842
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, cstream)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16843
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":16844
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemsetAsync(__pyx_v_cdevPtr_ptr, __pyx_v_value, __pyx_v_count, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 16844, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":16843
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":16845
 *     with nogil:
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16796
 * 
 * @cython.embedsignature(True)
 * def cudaMemsetAsync(devPtr, int value, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemsetAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16848
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2DAsync(devPtr, size_t pitch, int value, size_t width, size_t height, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_277cudaMemset2DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_276cudaMemset2DAsync[] = "cudaMemset2DAsync(devPtr, size_t pitch, int value, size_t width, size_t height, stream)\n Initializes or sets device memory to a value.\n\n    Sets to the specified value `value` a matrix (`height` rows of `width`\n    bytes each) pointed to by `dstPtr`. `pitch` is the width in bytes of\n    the 2D array pointed to by `dstPtr`, including any padding added to the\n    end of each row. This function performs fastest when the pitch is one\n    that has been passed back by :py:obj:`~.cudaMallocPitch()`.\n\n    :py:obj:`~.cudaMemset2DAsync()` is asynchronous with respect to the\n    host, so the call may return before the memset is complete. The\n    operation can optionally be associated to a stream by passing a non-\n    zero `stream` argument. If `stream` is non-zero, the operation may\n    overlap with operations in other streams.\n\n    The device version of this function only handles device to device\n    copies and cannot be given local or shared pointers.\n\n    Parameters\n    ----------\n    devPtr : Any\n        Pointer to 2D device memory\n    pitch : size_t\n        Pitch in bytes of 2D device memory(Unused if `height` is 1)\n    value : int\n        Value to set for each byte of specified memory\n    width : size_t\n        Width of matrix set (columns in bytes)\n    height : size_t\n        Height of matrix set (rows)\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset`, :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemsetAsync`, :py:obj:`~.cudaMemset3DAsync`, :py:obj:`~.cuMemsetD2D8Async`, :py:obj:`~.cuMemsetD2D16Async`, :py:obj:`~.cuMemsetD2D32Async`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_277cudaMemset2DAsync = {"cudaMemset2DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_277cudaMemset2DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_276cudaMemset2DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_277cudaMemset2DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_pitch;
  int __pyx_v_value;
  size_t __pyx_v_width;
  size_t __pyx_v_height;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemset2DAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_pitch_2,&__pyx_n_s_value,&__pyx_n_s_width_2,&__pyx_n_s_height_2,&__pyx_n_s_stream,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pitch_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2DAsync", 1, 6, 6, 1); __PYX_ERR(0, 16848, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2DAsync", 1, 6, 6, 2); __PYX_ERR(0, 16848, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2DAsync", 1, 6, 6, 3); __PYX_ERR(0, 16848, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2DAsync", 1, 6, 6, 4); __PYX_ERR(0, 16848, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset2DAsync", 1, 6, 6, 5); __PYX_ERR(0, 16848, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemset2DAsync") < 0)) __PYX_ERR(0, 16848, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_pitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 16848, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16848, __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(0, 16848, __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(0, 16848, __pyx_L3_error)
    __pyx_v_stream = values[5];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemset2DAsync", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16848, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemset2DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_276cudaMemset2DAsync(__pyx_self, __pyx_v_devPtr, __pyx_v_pitch, __pyx_v_value, __pyx_v_width, __pyx_v_height, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_276cudaMemset2DAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_pitch, int __pyx_v_value, size_t __pyx_v_width, size_t __pyx_v_height, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__560)
  __Pyx_RefNannySetupContext("cudaMemset2DAsync", 0);
  __Pyx_TraceCall("cudaMemset2DAsync", __pyx_f[0], 16848, 0, __PYX_ERR(0, 16848, __pyx_L1_error));

  /* "cuda/cudart.pyx":16891
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16892
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16891
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16893
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16894
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16895
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16895, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16893
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16897
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16898
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
    __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(0, 16898, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16900
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, cstream)
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdevPtr = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":16901
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, cstream)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":16902
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemset2DAsync(__pyx_v_cdevPtr_ptr, __pyx_v_pitch, __pyx_v_value, __pyx_v_width, __pyx_v_height, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16902, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16903
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16848
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2DAsync(devPtr, size_t pitch, int value, size_t width, size_t height, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemset2DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16906
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3DAsync(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_279cudaMemset3DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_278cudaMemset3DAsync[] = "cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr: cudaPitchedPtr, int value, cudaExtent extent: cudaExtent, stream)\n Initializes or sets device memory to a value.\n\n    Initializes each element of a 3D array to the specified value `value`.\n    The object to initialize is defined by `pitchedDevPtr`. The `pitch`\n    field of `pitchedDevPtr` is the width in memory in bytes of the 3D\n    array pointed to by `pitchedDevPtr`, including any padding added to the\n    end of each row. The `xsize` field specifies the logical width of each\n    row in bytes, while the `ysize` field specifies the height of each 2D\n    slice in rows. The `pitch` field of `pitchedDevPtr` is ignored when\n    `height` and `depth` are both equal to 1.\n\n    The extents of the initialized region are specified as a `width` in\n    bytes, a `height` in rows, and a `depth` in slices.\n\n    Extents with `width` greater than or equal to the `xsize` of\n    `pitchedDevPtr` may perform significantly faster than extents narrower\n    than the `xsize`. Secondarily, extents with `height` equal to the\n    `ysize` of `pitchedDevPtr` will perform faster than when the `height`\n    is shorter than the `ysize`.\n\n    This function performs fastest when the `pitchedDevPtr` has been\n    allocated by :py:obj:`~.cudaMalloc3D()`.\n\n    :py:obj:`~.cudaMemset3DAsync()` is asynchronous with respect to the\n    host, so the call may return before the memset is complete. The\n    operation can optionally be associated to a stream by passing a non-\n    zero `stream` argument. If `stream` is non-zero, the operation may\n    overlap with operations in other streams.\n\n    The device version of this function only handles device to device\n    copies and cannot be given local or shared pointers.\n\n    Parameters\n    ----------\n    pitchedDevPtr : :py:obj:`~.cudaPitchedPtr`\n        Pointer to pitched device memory\n    value : int\n        Value to set for each byte of specified memory\n    extent : :py:obj:`~.cud""aExtent`\n        Size parameters for where to set device memory (`width` field in\n        bytes)\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset`, :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaMemset3D`, :py:obj:`~.cudaMemsetAsync`, :py:obj:`~.cudaMemset2DAsync`, :py:obj:`~.cudaMalloc3D`, :py:obj:`~.make_cudaPitchedPtr`, :py:obj:`~.make_cudaExtent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_279cudaMemset3DAsync = {"cudaMemset3DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_279cudaMemset3DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_278cudaMemset3DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_279cudaMemset3DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr = 0;
  int __pyx_v_value;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemset3DAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pitchedDevPtr,&__pyx_n_s_value,&__pyx_n_s_extent_2,&__pyx_n_s_stream,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pitchedDevPtr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset3DAsync", 1, 4, 4, 1); __PYX_ERR(0, 16906, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_extent_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset3DAsync", 1, 4, 4, 2); __PYX_ERR(0, 16906, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemset3DAsync", 1, 4, 4, 3); __PYX_ERR(0, 16906, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemset3DAsync") < 0)) __PYX_ERR(0, 16906, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_pitchedDevPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)values[0]);
    __pyx_v_value = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16906, __pyx_L3_error)
    __pyx_v_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)values[2]);
    __pyx_v_stream = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemset3DAsync", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16906, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemset3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pitchedDevPtr), __pyx_ptype_4cuda_6cudart_cudaPitchedPtr, 0, "pitchedDevPtr", 0))) __PYX_ERR(0, 16906, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 16906, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_278cudaMemset3DAsync(__pyx_self, __pyx_v_pitchedDevPtr, __pyx_v_value, __pyx_v_extent, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_278cudaMemset3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr, int __pyx_v_value, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__561)
  __Pyx_RefNannySetupContext("cudaMemset3DAsync", 0);
  __Pyx_TraceCall("cudaMemset3DAsync", __pyx_f[0], 16906, 0, __PYX_ERR(0, 16906, __pyx_L1_error));

  /* "cuda/cudart.pyx":16961
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16962
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":16961
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16963
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":16964
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":16965
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 16965, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":16963
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":16967
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":16968
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], cstream)
 */
    __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(0, 16968, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":16970
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemset3DAsync((__pyx_v_pitchedDevPtr->_ptr[0]), __pyx_v_value, (__pyx_v_extent->_ptr[0]), __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16970, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16971
 * 
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 16971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16906
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3DAsync(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemset3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16974
 * 
 * @cython.embedsignature(True)
 * def cudaMemPrefetchAsync(devPtr, size_t count, int dstDevice, stream):             # <<<<<<<<<<<<<<
 *     """ Prefetches memory to the specified destination device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_281cudaMemPrefetchAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_280cudaMemPrefetchAsync[] = "cudaMemPrefetchAsync(devPtr, size_t count, int dstDevice, stream)\n Prefetches memory to the specified destination device.\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    `stream` is the stream in which the operation is enqueued. The memory\n    range must refer to managed memory allocated via\n    :py:obj:`~.cudaMallocManaged` or declared via managed variables.\n\n    Passing in cudaCpuDeviceId for `dstDevice` will prefetch the data to\n    host memory. If `dstDevice` is a GPU, then the device attribute\n    :py:obj:`~.cudaDevAttrConcurrentManagedAccess` must be non-zero.\n    Additionally, `stream` must be associated with a device that has a non-\n    zero value for the device attribute\n    :py:obj:`~.cudaDevAttrConcurrentManagedAccess`.\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:`~.cudaMallocManaged` allocations to host memory in order to\n    make room. Device memory allocated using :py:obj:`~.cudaMalloc` or\n    :py:obj:`~.cudaMallocArray` 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 behavior however also depends on the settings\n    applied to this memory range via :py:obj:`~.cudaMemAdvise` as described\n    below:\n\n    If :py:obj:`~.cudaMemAdviseSetReadMostly` was set on any subs""et of this\n    memory range, then that subset will create a read-only copy of the\n    pages on `dstDevice`.\n\n    If :py:obj:`~.cudaMemAdviseSetPreferredLocation` 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:`~.cudaMemAdviseSetAccessedBy` was called on any subset of\n    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 : Any\n        Pointer to be prefetched\n    count : size_t\n        Size in bytes\n    dstDevice : int\n        Destination device to prefetch to\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to enqueue prefetch operation\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyPeer`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cudaMemAdvise`, :py:obj:`~.cuMemPrefetchAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_281cudaMemPrefetchAsync = {"cudaMemPrefetchAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_281cudaMemPrefetchAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_280cudaMemPrefetchAsync};
static PyObject *__pyx_pw_4cuda_6cudart_281cudaMemPrefetchAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  int __pyx_v_dstDevice;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPrefetchAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_count,&__pyx_n_s_dstDevice_2,&__pyx_n_s_stream,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPrefetchAsync", 1, 4, 4, 1); __PYX_ERR(0, 16974, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dstDevice_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPrefetchAsync", 1, 4, 4, 2); __PYX_ERR(0, 16974, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPrefetchAsync", 1, 4, 4, 3); __PYX_ERR(0, 16974, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPrefetchAsync") < 0)) __PYX_ERR(0, 16974, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__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(0, 16974, __pyx_L3_error)
    __pyx_v_dstDevice = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_dstDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 16974, __pyx_L3_error)
    __pyx_v_stream = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPrefetchAsync", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 16974, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPrefetchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_280cudaMemPrefetchAsync(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_dstDevice, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_280cudaMemPrefetchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, int __pyx_v_dstDevice, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__562)
  __Pyx_RefNannySetupContext("cudaMemPrefetchAsync", 0);
  __Pyx_TraceCall("cudaMemPrefetchAsync", __pyx_f[0], 16974, 0, __PYX_ERR(0, 16974, __pyx_L1_error));

  /* "cuda/cudart.pyx":17054
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17055
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17054
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17056
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17057
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17058
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 17058, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17056
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17060
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17061
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
    __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(0, 17061, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17063
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdevPtr = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":17064
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, cstream)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":17065
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, cstream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":17066
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemPrefetchAsync(__pyx_v_cdevPtr_ptr, __pyx_v_count, __pyx_v_dstDevice, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17066, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":17065
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, cstream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":17067
 *     with nogil:
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16974
 * 
 * @cython.embedsignature(True)
 * def cudaMemPrefetchAsync(devPtr, size_t count, int dstDevice, stream):             # <<<<<<<<<<<<<<
 *     """ Prefetches memory to the specified destination device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPrefetchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17070
 * 
 * @cython.embedsignature(True)
 * def cudaMemAdvise(devPtr, size_t count, advice not None : cudaMemoryAdvise, int device):             # <<<<<<<<<<<<<<
 *     """ Advise about the usage of a given memory range.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_283cudaMemAdvise(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_282cudaMemAdvise[] = "cudaMemAdvise(devPtr, size_t count, advice: cudaMemoryAdvise, int device)\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:`~.cudaMallocManaged` 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:`~.cudaMemAdviseSetReadMostly`: This implies that the data is\n      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:`~.cudaMemPrefetchAsync` is called on this\n      region, it will create a read-only copy of the data on the\n      destination processor. If any processor writes to this region, all\n      copies of the corresponding page will be invalidated except for the\n      one where the write occurred. The `device` argument is ignored for\n      this advice. Note that for a page to be read-duplicated, the\n      accessing processor must either be the CPU or a GPU that has a non-\n      zero value for the device attribute\n      :py:obj:`~.cudaDevAttrConcurrentManagedAccess`. Also, if a context is\n      created on a device that does not have the device attribute\n      :py:obj:`~"".cudaDevAttrConcurrentManagedAccess` set, then read-\n      duplication will not occur until all such contexts are destroyed. If\n      the memory region refers to valid system-allocated pageable memory,\n      then the accessing device must have a non-zero value for the device\n      attribute :py:obj:`~.cudaDevAttrPageableMemoryAccess` for a read-only\n      copy to be created on that device. Note however that if the accessing\n      device also has a non-zero value for the device attribute\n      :py:obj:`~.cudaDevAttrPageableMemoryAccessUsesHostPageTables`, then\n      setting this advice will not create a read-only copy when that device\n      accesses this memory region.\n\n    - :py:obj:`~.cudaMemAdviceUnsetReadMostly`: Undoes the effect of\n      :py:obj:`~.cudaMemAdviceReadMostly` and also prevents the Unified\n      Memory driver from attempting heuristic read-duplication on the\n      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:`~.cudaMemAdviseSetPreferredLocation`: This advice sets the\n      preferred location for the data to be the memory belonging to\n      `device`. Passing in cudaCpuDeviceId 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:`~.cudaDevAttrConcurrentManagedAccess`. Setting the preferred\n      location does not cause data to migrate to that location immediately.\n      Instead, it guides the migration policy when a fault occurs on that\n      memory region. If the data is already in its preferred location and\n      the faulting processor can establish a mapping without requiring the\n      data to be migrated, the""n data migration will be avoided. On the\n      other hand, if the data is not in its preferred location or if a\n      direct mapping cannot be established, then it will be migrated to the\n      processor accessing it. It is important to note that setting the\n      preferred location does not prevent data prefetching done using\n      :py:obj:`~.cudaMemPrefetchAsync`. Having a preferred location can\n      override the page thrash detection and resolution logic in the\n      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:`~.cudaMemAdviseSetReadMostly` 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:`~.cudaMemAdviseSetReadMostly`. If the memory region refers\n      to valid system-allocated pageable memory, then `device` must have a\n      non-zero value for the device attribute\n      :py:obj:`~.cudaDevAttrPageableMemoryAccess`. Additionally, if\n      `device` has a non-zero value for the device attribute\n      :py:obj:`~.cudaDevAttrPageableMemoryAccessUsesHostPageTables`, then\n      this call has no effect. Note however that this behavior may change\n      in the future.\n\n    - :py:obj:`~.cudaMemAdviseUnsetPreferredLocation`: Undoes the effect of\n      :py:obj:`~.cudaMemAdviseSetPreferredLocation` and changes the\n      preferred location to none.\n\n    - :py:obj:`~.cudaMemAdviseSetAccessedBy`: This advice implies that the\n      data will be accessed by `device`. Passing in""\n      :py:obj:`~.cudaCpuDeviceId` for `device` will set the advice for the\n      CPU. If `device` is a GPU, then the device attribute\n      :py:obj:`~.cudaDevAttrConcurrentManagedAccess` must be non-zero. This\n      advice does not cause data migration and has no impact on the\n      location of the data per se. Instead, it causes the data to always be\n      mapped in the specified processor's page tables, as long as the\n      location of the data permits a mapping to be established. If the data\n      gets migrated for any reason, the mappings are updated accordingly.\n      This advice is recommended in scenarios where data locality is not\n      important, but avoiding faults is. Consider for example a system\n      containing multiple GPUs with peer-to-peer access enabled, where the\n      data located on one GPU is occasionally accessed by peer GPUs. In\n      such scenarios, migrating data over to the other GPUs is not as\n      important because the accesses are infrequent and the overhead of\n      migration may be too high. But preventing faults can still help\n      improve performance, and so having a mapping set up in advance is\n      useful. Note that on CPU access of this data, the data may be\n      migrated to host memory because the CPU typically cannot access\n      device memory directly. Any GPU that had the\n      :py:obj:`~.cudaMemAdviceSetAccessedBy` flag set for this data will\n      now have its mapping updated to point to the page in host memory. If\n      :py:obj:`~.cudaMemAdviseSetReadMostly` 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:`~.cudaMemAdviseSetPreferredLocation` will override the\n      policies of this advice. If the memory region refers to valid ""system-\n      allocated pageable memory, then `device` must have a non-zero value\n      for the device attribute :py:obj:`~.cudaDevAttrPageableMemoryAccess`.\n      Additionally, if `device` has a non-zero value for the device\n      attribute\n      :py:obj:`~.cudaDevAttrPageableMemoryAccessUsesHostPageTables`, then\n      this call has no effect.\n\n    - :py:obj:`~.cudaMemAdviseUnsetAccessedBy`: Undoes the effect of\n      :py:obj:`~.cudaMemAdviseSetAccessedBy`. Any mappings to the data from\n      `device` may be removed at any time causing accesses to result in\n      non-fatal page faults. If the memory region refers to valid system-\n      allocated pageable memory, then `device` must have a non-zero value\n      for the device attribute :py:obj:`~.cudaDevAttrPageableMemoryAccess`.\n      Additionally, if `device` has a non-zero value for the device\n      attribute\n      :py:obj:`~.cudaDevAttrPageableMemoryAccessUsesHostPageTables`, then\n      this call has no effect.\n\n    Parameters\n    ----------\n    devPtr : Any\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:`~.cudaMemoryAdvise`\n        Advice to be applied for the specified memory range\n    device : int\n        Device to apply the advice for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyPeer`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cudaMemPrefetchAsync`, :py:obj:`~.cuMemAdvise`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_283cudaMemAdvise = {"cudaMemAdvise", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_283cudaMemAdvise, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_282cudaMemAdvise};
static PyObject *__pyx_pw_4cuda_6cudart_283cudaMemAdvise(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_advice = 0;
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemAdvise (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_count,&__pyx_n_s_advice,&__pyx_n_s_device_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemAdvise", 1, 4, 4, 1); __PYX_ERR(0, 17070, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_advice)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemAdvise", 1, 4, 4, 2); __PYX_ERR(0, 17070, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemAdvise", 1, 4, 4, 3); __PYX_ERR(0, 17070, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemAdvise") < 0)) __PYX_ERR(0, 17070, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__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(0, 17070, __pyx_L3_error)
    __pyx_v_advice = values[2];
    __pyx_v_device = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 17070, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemAdvise", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17070, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemAdvise", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_advice) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "advice"); __PYX_ERR(0, 17070, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_282cudaMemAdvise(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_282cudaMemAdvise(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, int __pyx_v_device) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  enum cudaMemoryAdvise __pyx_v_cadvice;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  enum cudaMemoryAdvise __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__563)
  __Pyx_RefNannySetupContext("cudaMemAdvise", 0);
  __Pyx_TraceCall("cudaMemAdvise", __pyx_f[0], 17070, 0, __PYX_ERR(0, 17070, __pyx_L1_error));

  /* "cuda/cudart.pyx":17229
 *     :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyPeer`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`, :py:obj:`~.cudaMemPrefetchAsync`, :py:obj:`~.cuMemAdvise`
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     cdef ccudart.cudaMemoryAdvise cadvice = advice.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17230
 *     """
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemoryAdvise cadvice = advice.value
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17230, __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(0, 17230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":17231
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     cdef ccudart.cudaMemoryAdvise cadvice = advice.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemAdvise(cdevPtr_ptr, count, cadvice, device)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_advice, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaMemoryAdvise)__Pyx_PyInt_As_enum__cudaMemoryAdvise(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cadvice = __pyx_t_3;

  /* "cuda/cudart.pyx":17232
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     cdef ccudart.cudaMemoryAdvise cadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemAdvise(cdevPtr_ptr, count, cadvice, device)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":17233
 *     cdef ccudart.cudaMemoryAdvise cadvice = advice.value
 *     with nogil:
 *         err = ccudart.cudaMemAdvise(cdevPtr_ptr, count, cadvice, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemAdvise(__pyx_v_cdevPtr_ptr, __pyx_v_count, __pyx_v_cadvice, __pyx_v_device); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17233, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":17232
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     cdef ccudart.cudaMemoryAdvise cadvice = advice.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemAdvise(cdevPtr_ptr, count, cadvice, device)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":17234
 *     with nogil:
 *         err = ccudart.cudaMemAdvise(cdevPtr_ptr, count, cadvice, device)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17234, __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(0, 17234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17070
 * 
 * @cython.embedsignature(True)
 * def cudaMemAdvise(devPtr, size_t count, advice not None : cudaMemoryAdvise, int device):             # <<<<<<<<<<<<<<
 *     """ Advise about the usage of a given memory range.
 * 
 */

  /* 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.cudart.cudaMemAdvise", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17237
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttribute(size_t dataSize, attribute not None : cudaMemRangeAttribute, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query an attribute of a given memory range.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_285cudaMemRangeGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_284cudaMemRangeGetAttribute[] = "cudaMemRangeGetAttribute(size_t dataSize, attribute: cudaMemRangeAttribute, 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:`~.cudaMallocManaged` or declared via managed\n    variables.\n\n    The `attribute` parameter can take the following values:\n\n    - :py:obj:`~.cudaMemRangeAttributeReadMostly`: 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:`~.cudaMemRangeAttributePreferredLocation`: If this attribute\n      is specified, `data` will be interpreted as a 32-bit integer, and\n      `dataSize` must be 4. The result returned will be a GPU device id if\n      all pages in the memory range have that GPU as their preferred\n      location, or it will be cudaCpuDeviceId if all pages in the memory\n      range have the CPU as their preferred location, or it will be\n      cudaInvalidDeviceId 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:`~.cudaMemRangeAttributeAccessedBy`: 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:`~.cudaMemAdviceSetAccessedBy` 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, cudaInvalidDeviceId 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, cudaInvalidDeviceId, cudaInvalidDeviceId }. If `data` is\n      smaller than the number of devices that have that advice set, then\n      only as many devices will be returned as can fit in the array. There\n      is no guarantee on which specific devices will be returned, however.\n\n    - :py:obj:`~.cudaMemRangeAttributeLastPrefetchLocation`: 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:`~.cudaMemPrefetchAsync`. This will either be\n      a GPU id or cudaCpuDeviceId depending on whether the last location\n      for prefetch was a GPU or the CPU respectively. If any page in the\n      memory range was never explicitly prefetched or if all pages were not\n      prefetched to the same location, cudaInvalidDeviceId will be\n      returned. Note that this simply returns the last location that the\n      applicaton requested to prefetch the memory range to. It gives no\n      indication as to whether the prefetch operation to that location has\n      completed or even begun.\n\n    Parameters\n    ----------\n    dataSize : size_t\n        Array containing the size of data\n    attribute : :py:obj:`~.cudaMemRangeAttribute`\n        The attribute to query\n    devPtr : Any\n        Start of the range to query\n    count : size_t\n        Size of the range to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    data : Any\n        A pointers to a memory location where the result of each attr""ibute\n        query will be written to.\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemRangeGetAttributes`, :py:obj:`~.cudaMemPrefetchAsync`, :py:obj:`~.cudaMemAdvise`, :py:obj:`~.cuMemRangeGetAttribute`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_285cudaMemRangeGetAttribute = {"cudaMemRangeGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_285cudaMemRangeGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_284cudaMemRangeGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_285cudaMemRangeGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_dataSize;
  PyObject *__pyx_v_attribute = 0;
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemRangeGetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dataSize,&__pyx_n_s_attribute,&__pyx_n_s_devPtr_2,&__pyx_n_s_count,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dataSize)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttribute", 1, 4, 4, 1); __PYX_ERR(0, 17237, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttribute", 1, 4, 4, 2); __PYX_ERR(0, 17237, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttribute", 1, 4, 4, 3); __PYX_ERR(0, 17237, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemRangeGetAttribute") < 0)) __PYX_ERR(0, 17237, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__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(0, 17237, __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(0, 17237, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttribute", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17237, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemRangeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attribute) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attribute"); __PYX_ERR(0, 17237, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_284cudaMemRangeGetAttribute(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_284cudaMemRangeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_dataSize, PyObject *__pyx_v_attribute, PyObject *__pyx_v_devPtr, size_t __pyx_v_count) {
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute *__pyx_v_cdata = 0;
  void *__pyx_v_cdata_ptr;
  enum cudaMemRangeAttribute __pyx_v_cattribute;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_3;
  enum cudaMemRangeAttribute __pyx_t_4;
  cudaError_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__564)
  __Pyx_RefNannySetupContext("cudaMemRangeGetAttribute", 0);
  __Pyx_TraceCall("cudaMemRangeGetAttribute", __pyx_f[0], 17237, 0, __PYX_ERR(0, 17237, __pyx_L1_error));

  /* "cuda/cudart.pyx":17317
 *     :py:obj:`~.cudaMemRangeGetAttributes`, :py:obj:`~.cudaMemPrefetchAsync`, :py:obj:`~.cudaMemAdvise`, :py:obj:`~.cuMemRangeGetAttribute`
 *     """
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)             # <<<<<<<<<<<<<<
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccudart.cudaMemRangeAttribute cattribute = attribute.value
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_dataSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_attribute);
  __Pyx_GIVEREF(__pyx_v_attribute);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_attribute);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cdata = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17318
 *     """
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemRangeAttribute cattribute = attribute.value
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cdata), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdata_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_3));

  /* "cuda/cudart.pyx":17319
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccudart.cudaMemRangeAttribute cattribute = attribute.value             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = ((enum cudaMemRangeAttribute)__Pyx_PyInt_As_enum__cudaMemRangeAttribute(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattribute = __pyx_t_4;

  /* "cuda/cudart.pyx":17320
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccudart.cudaMemRangeAttribute cattribute = attribute.value
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr_ptr, count)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17321
 *     cdef ccudart.cudaMemRangeAttribute cattribute = attribute.value
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr_ptr, count)
 *     return (cudaError_t(err), cdata.pyObj())
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_3));

  /* "cuda/cudart.pyx":17322
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr_ptr, count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cdata.pyObj())
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_7ccudart_cudaMemRangeGetAttribute(__pyx_v_cdata_ptr, __pyx_v_dataSize, __pyx_v_cattribute, __pyx_v_cdevPtr_ptr, __pyx_v_count); if (unlikely(__pyx_t_5 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17322, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cudart.pyx":17323
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr_ptr, count)
 *     return (cudaError_t(err), cdata.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cdata), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_2 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17323, __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(0, 17323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17237
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttribute(size_t dataSize, attribute not None : cudaMemRangeAttribute, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query an attribute of a given memory range.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemRangeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cdata);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17326
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttributes(dataSizes : List[int], attributes : List[cudaMemRangeAttribute], size_t numAttributes, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query attributes of a given memory range.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_287cudaMemRangeGetAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_286cudaMemRangeGetAttributes[] = "cudaMemRangeGetAttributes(dataSizes: List[int], attributes: List[cudaMemRangeAttribute], 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:`~.cudaMallocManaged` 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:`~.cudaMemRangeGetAttribute` for attribute descriptions and\n    restrictions.\n\n    - :py:obj:`~.cudaMemRangeAttributeReadMostly`\n\n    - :py:obj:`~.cudaMemRangeAttributePreferredLocation`\n\n    - :py:obj:`~.cudaMemRangeAttributeAccessedBy`\n\n    - :py:obj:`~.cudaMemRangeAttributeLastPrefetchLocation`\n\n    Parameters\n    ----------\n    dataSizes : List[int]\n        Array containing the sizes of each result\n    attributes : List[:py:obj:`~.cudaMemRangeAttribute`]\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 : Any\n        Start of the range to query\n    count : size_t\n        Size of the range to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\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:`~.cudaMemRangeGetAttribute`, :py:obj:`~.cudaMemAdvise`, :py:obj:`~.cudaMemPrefetchAsync`, :py:obj:`~.cuMemRangeGetAttributes`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_287cudaMemRangeGetAttributes = {"cudaMemRangeGetAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_287cudaMemRangeGetAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_286cudaMemRangeGetAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_287cudaMemRangeGetAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemRangeGetAttributes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dataSizes,&__pyx_n_s_attributes,&__pyx_n_s_numAttributes,&__pyx_n_s_devPtr_2,&__pyx_n_s_count,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dataSizes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attributes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttributes", 1, 5, 5, 1); __PYX_ERR(0, 17326, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numAttributes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttributes", 1, 5, 5, 2); __PYX_ERR(0, 17326, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttributes", 1, 5, 5, 3); __PYX_ERR(0, 17326, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttributes", 1, 5, 5, 4); __PYX_ERR(0, 17326, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemRangeGetAttributes") < 0)) __PYX_ERR(0, 17326, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_dataSizes = values[0];
    __pyx_v_attributes = values[1];
    __pyx_v_numAttributes = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numAttributes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17326, __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(0, 17326, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemRangeGetAttributes", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17326, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemRangeGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_286cudaMemRangeGetAttributes(__pyx_self, __pyx_v_dataSizes, __pyx_v_attributes, __pyx_v_numAttributes, __pyx_v_devPtr, __pyx_v_count);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":17376
 *     """
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (cudaMemRangeAttribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_25cudaMemRangeGetAttributes_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_9_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_9_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_9_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 17376, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_2generator5, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaMemRangeGetAttributes_locals, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 17376, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemRangeGetAttributes.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 17376, 0, __PYX_ERR(0, 17376, __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(0, 17376, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_attributes)) { __Pyx_RaiseClosureNameError("attributes"); __PYX_ERR(0, 17376, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_attributes)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_attributes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_attributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17376, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 17376, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17376, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 17376, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17376, __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, 17376, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemRangeAttribute); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 17376, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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_6cudart_25cudaMemRangeGetAttributes_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":17379
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_25cudaMemRangeGetAttributes_3genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_10_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_10_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_10_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 17379, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_5generator6, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaMemRangeGetAttributes_locals, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 17379, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemRangeGetAttributes.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 17379, 0, __PYX_ERR(0, 17379, __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(0, 17379, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dataSizes)) { __Pyx_RaiseClosureNameError("dataSizes"); __PYX_ERR(0, 17379, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dataSizes)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dataSizes)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_dataSizes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dataSizes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17379, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 17379, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17379, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 17379, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17379, __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, 17379, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyInt_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":17326
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttributes(dataSizes : List[int], attributes : List[cudaMemRangeAttribute], size_t numAttributes, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query attributes of a given memory range.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_286cudaMemRangeGetAttributes(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) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *__pyx_cur_scope;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelper = 0;
  void **__pyx_v_cvoidStarHelper_ptr;
  std::vector<size_t>  __pyx_v_cdataSizes;
  std::vector<enum cudaMemRangeAttribute>  __pyx_v_cattributes;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_2generator5 = 0;
  PyObject *__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_5generator6 = 0;
  PyObject *__pyx_9genexpr73__pyx_v_pyattributes = NULL;
  PyObject *__pyx_9genexpr73__pyx_v_pydataSizes = NULL;
  PyObject *__pyx_9genexpr74__pyx_v_pyattributes = NULL;
  PyObject *__pyx_9genexpr75__pyx_v_obj = 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;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *(*__pyx_t_11)(PyObject *);
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_12;
  std::vector<size_t>  __pyx_t_13;
  std::vector<enum cudaMemRangeAttribute>  __pyx_t_14;
  cudaError_t __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__565)
  __Pyx_RefNannySetupContext("cudaMemRangeGetAttributes", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 17326, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaMemRangeGetAttributes", __pyx_f[0], 17326, 0, __PYX_ERR(0, 17326, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_dataSizes = __pyx_v_dataSizes;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dataSizes);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_dataSizes);
  __pyx_cur_scope->__pyx_v_attributes = __pyx_v_attributes;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_attributes);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_attributes);

  /* "cuda/cudart.pyx":17375
 *     :py:obj:`~.cudaMemRangeGetAttribute`, :py:obj:`~.cudaMemAdvise`, :py:obj:`~.cudaMemPrefetchAsync`, :py:obj:`~.cuMemRangeGetAttributes`
 *     """
 *     attributes = [] if attributes is None else attributes             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaMemRangeAttribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_attributes == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_attributes);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_attributes;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_attributes);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_attributes, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17376
 *     """
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (cudaMemRangeAttribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_25cudaMemRangeGetAttributes_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 17376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":17377
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (cudaMemRangeAttribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")             # <<<<<<<<<<<<<<
 * 
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__566, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17377, __pyx_L1_error)

    /* "cuda/cudart.pyx":17376
 *     """
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (cudaMemRangeAttribute)) for _x in attributes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 */
  }

  /* "cuda/cudart.pyx":17379
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 * 
 */
  __pyx_t_3 = __pyx_pf_4cuda_6cudart_25cudaMemRangeGetAttributes_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 17379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = ((!__pyx_t_4) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17380
 * 
 *     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_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__567, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 17380, __pyx_L1_error)

    /* "cuda/cudart.pyx":17379
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")
 * 
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 * 
 */
  }

  /* "cuda/cudart.pyx":17382
 *         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 voidStarHelper = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelper.cptr
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17382, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17382, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_attributes);
    __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_attributes);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_attributes);
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dataSizes);
    __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_dataSizes);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_cur_scope->__pyx_v_dataSizes);
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17382, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
      __pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17382, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17382, __pyx_L7_error)
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 17382, __pyx_L7_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17382, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 17382, __pyx_L7_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17382, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        }
      } else {
        __pyx_t_5 = __pyx_t_7(__pyx_t_3);
        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(0, 17382, __pyx_L7_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
        PyObject* sequence = __pyx_t_5;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 17382, __pyx_L7_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_8 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_9 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_9);
        #else
        __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17382, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17382, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_9);
        #endif
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 17382, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
        index = 0; __pyx_t_8 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_8)) goto __pyx_L10_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_8);
        index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L10_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 17382, __pyx_L7_error)
        __pyx_t_11 = NULL;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L11_unpacking_done;
        __pyx_L10_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_11 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 17382, __pyx_L7_error)
        __pyx_L11_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr73__pyx_v_pyattributes, __pyx_t_8);
      __pyx_t_8 = 0;
      __Pyx_XDECREF_SET(__pyx_9genexpr73__pyx_v_pydataSizes, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17382, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_9genexpr73__pyx_v_pyattributes);
      __Pyx_GIVEREF(__pyx_9genexpr73__pyx_v_pyattributes);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_9genexpr73__pyx_v_pyattributes);
      __Pyx_INCREF(__pyx_9genexpr73__pyx_v_pydataSizes);
      __Pyx_GIVEREF(__pyx_9genexpr73__pyx_v_pydataSizes);
      PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_9genexpr73__pyx_v_pydataSizes);
      __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute), __pyx_t_5, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17382, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 17382, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_pyattributes); __pyx_9genexpr73__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_pydataSizes); __pyx_9genexpr73__pyx_v_pydataSizes = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_pyattributes); __pyx_9genexpr73__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_pydataSizes); __pyx_9genexpr73__pyx_v_pydataSizes = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17383
 * 
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelper = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelper.cptr
 *     cdef vector[size_t] cdataSizes = dataSizes
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_voidStarHelper = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17384
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelper = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelper.cptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cdataSizes = dataSizes
 *     cdef vector[ccudart.cudaMemRangeAttribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelper), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_12 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_12 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cvoidStarHelper_ptr = ((void **)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_12));

  /* "cuda/cudart.pyx":17385
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelper = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelper.cptr
 *     cdef vector[size_t] cdataSizes = dataSizes             # <<<<<<<<<<<<<<
 *     cdef vector[ccudart.cudaMemRangeAttribute] 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_cur_scope->__pyx_v_dataSizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17385, __pyx_L1_error)
  __pyx_v_cdataSizes = __pyx_t_13;

  /* "cuda/cudart.pyx":17386
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelper.cptr
 *     cdef vector[size_t] cdataSizes = dataSizes
 *     cdef vector[ccudart.cudaMemRangeAttribute] 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_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17386, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_attributes)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_attributes)) {
      __pyx_t_3 = __pyx_cur_scope->__pyx_v_attributes; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17386, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17386, __pyx_L15_error)
    }
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_9 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 17386, __pyx_L15_error)
          #else
          __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17386, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_9);
          #endif
        } else {
          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 17386, __pyx_L15_error)
          #else
          __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17386, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_9);
          #endif
        }
      } else {
        __pyx_t_9 = __pyx_t_7(__pyx_t_3);
        if (unlikely(!__pyx_t_9)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 17386, __pyx_L15_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_9);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr74__pyx_v_pyattributes, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr74__pyx_v_pyattributes, __pyx_n_s_value); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17386, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 17386, __pyx_L15_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_9genexpr74__pyx_v_pyattributes); __pyx_9genexpr74__pyx_v_pyattributes = 0;
    goto __pyx_L18_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_9genexpr74__pyx_v_pyattributes); __pyx_9genexpr74__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L18_exit_scope:;
  } /* exit inner scope */
  __pyx_t_14 = __pyx_convert_vector_from_py_enum__cudaMemRangeAttribute(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattributes = __pyx_t_14;

  /* "cuda/cudart.pyx":17387
 *     cdef vector[size_t] cdataSizes = dataSizes
 *     cdef vector[ccudart.cudaMemRangeAttribute] 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))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_dataSizes;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_6 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = ((__pyx_v_numAttributes > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_dataSizes;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_6 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u__486); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17387, __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_numAttributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_9, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __PYX_ERR(0, 17387, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":17388
 *     cdef vector[ccudart.cudaMemRangeAttribute] 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))             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
  __pyx_t_9 = __pyx_cur_scope->__pyx_v_attributes;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_6 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_2 = ((__pyx_v_numAttributes > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_9 = __pyx_cur_scope->__pyx_v_attributes;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_6 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_9, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17388, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":17389
 *     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))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr_ptr, count)
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_cdevPtr = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17390
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr_ptr, count)
 *     return (cudaError_t(err), [obj.pyObj() for obj in pylist])
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_12 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_12 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_12));

  /* "cuda/cudart.pyx":17391
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr_ptr, count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), [obj.pyObj() for obj in pylist])
 * 
 */
  __pyx_t_15 = __pyx_f_4cuda_7ccudart_cudaMemRangeGetAttributes(__pyx_v_cvoidStarHelper_ptr, __pyx_v_cdataSizes.data(), __pyx_v_cattributes.data(), __pyx_v_numAttributes, __pyx_v_cdevPtr_ptr, __pyx_v_count); if (unlikely(__pyx_t_15 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17391, __pyx_L1_error)
  __pyx_v_err = __pyx_t_15;

  /* "cuda/cudart.pyx":17392
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr_ptr, count)
 *     return (cudaError_t(err), [obj.pyObj() for obj in pylist])             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_9, function);
    }
  }
  __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  { /* enter inner scope */
    __pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17392, __pyx_L23_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_1 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
    for (;;) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 17392, __pyx_L23_error)
      #else
      __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17392, __pyx_L23_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr75__pyx_v_obj, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr75__pyx_v_obj, __pyx_n_s_pyObj); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17392, __pyx_L23_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = NULL;
      if (CYTHON_UNPACK_METHODS && 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_5 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17392, __pyx_L23_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_9, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 17392, __pyx_L23_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_9genexpr75__pyx_v_obj); __pyx_9genexpr75__pyx_v_obj = 0;
    goto __pyx_L26_exit_scope;
    __pyx_L23_error:;
    __Pyx_XDECREF(__pyx_9genexpr75__pyx_v_obj); __pyx_9genexpr75__pyx_v_obj = 0;
    goto __pyx_L1_error;
    __pyx_L26_exit_scope:;
  } /* exit inner scope */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_9);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_9);
  __pyx_t_3 = 0;
  __pyx_t_9 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17326
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttributes(dataSizes : List[int], attributes : List[cudaMemRangeAttribute], size_t numAttributes, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query attributes of a given memory range.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemRangeGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelper);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_2generator5);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_5generator6);
  __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_pydataSizes);
  __Pyx_XDECREF(__pyx_9genexpr74__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_9genexpr75__pyx_v_obj);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17395
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_289cudaMemcpyToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_288cudaMemcpyToArray[] = "cudaMemcpyToArray(dst, size_t wOffset, size_t hOffset, src, size_t count, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    [Deprecated]\n\n    Copies `count` bytes from the memory area pointed to by `src` to the\n    CUDA array `dst` starting at `hOffset` rows and `wOffset` bytes from\n    the upper left corner, where `kind` specifies the direction of the\n    copy, and must be one of :py:obj:`~.cudaMemcpyHostToHost`,\n    :py:obj:`~.cudaMemcpyHostToDevice`, :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.cudaArray_t`\n        Destination memory address\n    wOffset : size_t\n        Destination starting X offset (columns in bytes)\n    hOffset : size_t\n        Destination starting Y offset (rows)\n    src : Any\n        Source memory address\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpyFromArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpyArrayToArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpyToArrayAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpyFromArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:""obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyHtoA`, :py:obj:`~.cuMemcpyDtoA`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_289cudaMemcpyToArray = {"cudaMemcpyToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_289cudaMemcpyToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_288cudaMemcpyToArray};
static PyObject *__pyx_pw_4cuda_6cudart_289cudaMemcpyToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyToArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_src,&__pyx_n_s_count,&__pyx_n_s_kind_2,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArray", 1, 6, 6, 1); __PYX_ERR(0, 17395, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArray", 1, 6, 6, 2); __PYX_ERR(0, 17395, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArray", 1, 6, 6, 3); __PYX_ERR(0, 17395, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArray", 1, 6, 6, 4); __PYX_ERR(0, 17395, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArray", 1, 6, 6, 5); __PYX_ERR(0, 17395, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyToArray") < 0)) __PYX_ERR(0, 17395, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
    }
    __pyx_v_dst = values[0];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17395, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17395, __pyx_L3_error)
    __pyx_v_src = values[3];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17395, __pyx_L3_error)
    __pyx_v_kind = values[5];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArray", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17395, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 17395, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_288cudaMemcpyToArray(__pyx_self, __pyx_v_dst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_src, __pyx_v_count, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_288cudaMemcpyToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  cudaArray_t __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  enum cudaMemcpyKind __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__568)
  __Pyx_RefNannySetupContext("cudaMemcpyToArray", 0);
  __Pyx_TraceCall("cudaMemcpyToArray", __pyx_f[0], 17395, 0, __PYX_ERR(0, 17395, __pyx_L1_error));

  /* "cuda/cudart.pyx":17436
 *     """
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17437
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17436
 *     """
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17438
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17439
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdst = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":17440
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(cudaArray_t(dst))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17440, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":17438
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17442
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 *         pdst = int(cudaArray_t(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dst); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdst = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":17443
 *     else:
 *         pdst = int(cudaArray_t(dst))
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17443, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17445
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_csrc = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":17446
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArray(cdst, wOffset, hOffset, csrc_ptr, count, ckind)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

  /* "cuda/cudart.pyx":17447
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyToArray(cdst, wOffset, hOffset, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_ckind = __pyx_t_6;

  /* "cuda/cudart.pyx":17448
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArray(cdst, wOffset, hOffset, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpyToArray(__pyx_v_cdst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17448, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":17449
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArray(cdst, wOffset, hOffset, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17395
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17452
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_291cudaMemcpyFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_290cudaMemcpyFromArray[] = "cudaMemcpyFromArray(dst, src, size_t wOffset, size_t hOffset, size_t count, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    [Deprecated]\n\n    Copies `count` bytes from the CUDA array `src` starting at `hOffset`\n    rows and `wOffset` bytes from the upper left corner to the memory area\n    pointed to by `dst`, where `kind` specifies the direction of the copy,\n    and must be one of :py:obj:`~.cudaMemcpyHostToHost`,\n    :py:obj:`~.cudaMemcpyHostToDevice`, :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    src : :py:obj:`~.cudaArray_const_t`\n        Source memory address\n    wOffset : size_t\n        Source starting X offset (columns in bytes)\n    hOffset : size_t\n        Source starting Y offset (rows)\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpyToArray`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpyArrayToArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpyToArrayAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpyFromArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:""`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyAtoH`, :py:obj:`~.cuMemcpyAtoD`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_291cudaMemcpyFromArray = {"cudaMemcpyFromArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_291cudaMemcpyFromArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_290cudaMemcpyFromArray};
static PyObject *__pyx_pw_4cuda_6cudart_291cudaMemcpyFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyFromArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_count,&__pyx_n_s_kind_2,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArray", 1, 6, 6, 1); __PYX_ERR(0, 17452, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArray", 1, 6, 6, 2); __PYX_ERR(0, 17452, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArray", 1, 6, 6, 3); __PYX_ERR(0, 17452, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArray", 1, 6, 6, 4); __PYX_ERR(0, 17452, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArray", 1, 6, 6, 5); __PYX_ERR(0, 17452, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyFromArray") < 0)) __PYX_ERR(0, 17452, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17452, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17452, __pyx_L3_error)
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17452, __pyx_L3_error)
    __pyx_v_kind = values[5];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArray", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17452, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyFromArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 17452, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_290cudaMemcpyFromArray(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_count, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_290cudaMemcpyFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  cudaArray_const_t __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  enum cudaMemcpyKind __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__569)
  __Pyx_RefNannySetupContext("cudaMemcpyFromArray", 0);
  __Pyx_TraceCall("cudaMemcpyFromArray", __pyx_f[0], 17452, 0, __PYX_ERR(0, 17452, __pyx_L1_error));

  /* "cuda/cudart.pyx":17493
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17494
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17493
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17495
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17496
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrc = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":17497
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17497, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":17495
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17499
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 *         psrc = int(cudaArray_const_t(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), __pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrc = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":17500
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17500, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17502
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_cdst = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":17503
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, csrc, wOffset, hOffset, count, ckind)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

  /* "cuda/cudart.pyx":17504
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, csrc, wOffset, hOffset, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_ckind = __pyx_t_6;

  /* "cuda/cudart.pyx":17505
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, csrc, wOffset, hOffset, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpyFromArray(__pyx_v_cdst_ptr, __pyx_v_csrc, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17505, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":17506
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, csrc, wOffset, hOffset, count, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17452
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyFromArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17509
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_293cudaMemcpyArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_292cudaMemcpyArrayToArray[] = "cudaMemcpyArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, kind: cudaMemcpyKind)\n Copies data between host and device.\n\n    [Deprecated]\n\n    Copies `count` bytes from the CUDA array `src` starting at `hOffsetSrc`\n    rows and `wOffsetSrc` bytes from the upper left corner to the CUDA\n    array `dst` starting at `hOffsetDst` rows and `wOffsetDst` bytes from\n    the upper left corner, where `kind` specifies the direction of the\n    copy, and must be one of :py:obj:`~.cudaMemcpyHostToHost`,\n    :py:obj:`~.cudaMemcpyHostToDevice`, :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.cudaArray_t`\n        Destination memory address\n    wOffsetDst : size_t\n        Destination starting X offset (columns in bytes)\n    hOffsetDst : size_t\n        Destination starting Y offset (rows)\n    src : :py:obj:`~.cudaArray_const_t`\n        Source memory address\n    wOffsetSrc : size_t\n        Source starting X offset (columns in bytes)\n    hOffsetSrc : size_t\n        Source starting Y offset (rows)\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpyToArray`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpyFromArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyTo""Symbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpyToArrayAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpyFromArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyAtoA`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_293cudaMemcpyArrayToArray = {"cudaMemcpyArrayToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_293cudaMemcpyArrayToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_292cudaMemcpyArrayToArray};
static PyObject *__pyx_pw_4cuda_6cudart_293cudaMemcpyArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_wOffsetDst;
  size_t __pyx_v_hOffsetDst;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_wOffsetSrc;
  size_t __pyx_v_hOffsetSrc;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyArrayToArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_wOffsetDst,&__pyx_n_s_hOffsetDst,&__pyx_n_s_src,&__pyx_n_s_wOffsetSrc,&__pyx_n_s_hOffsetSrc,&__pyx_n_s_count,&__pyx_n_s_kind_2,0};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffsetDst)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, 1); __PYX_ERR(0, 17509, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffsetDst)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, 2); __PYX_ERR(0, 17509, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, 3); __PYX_ERR(0, 17509, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffsetSrc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, 4); __PYX_ERR(0, 17509, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffsetSrc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, 5); __PYX_ERR(0, 17509, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, 6); __PYX_ERR(0, 17509, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, 7); __PYX_ERR(0, 17509, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyArrayToArray") < 0)) __PYX_ERR(0, 17509, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
    }
    __pyx_v_dst = values[0];
    __pyx_v_wOffsetDst = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_wOffsetDst == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17509, __pyx_L3_error)
    __pyx_v_hOffsetDst = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_hOffsetDst == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17509, __pyx_L3_error)
    __pyx_v_src = values[3];
    __pyx_v_wOffsetSrc = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_wOffsetSrc == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17509, __pyx_L3_error)
    __pyx_v_hOffsetSrc = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_hOffsetSrc == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17509, __pyx_L3_error)
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[6]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17509, __pyx_L3_error)
    __pyx_v_kind = values[7];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyArrayToArray", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17509, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyArrayToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 17509, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_292cudaMemcpyArrayToArray(__pyx_self, __pyx_v_dst, __pyx_v_wOffsetDst, __pyx_v_hOffsetDst, __pyx_v_src, __pyx_v_wOffsetSrc, __pyx_v_hOffsetSrc, __pyx_v_count, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_292cudaMemcpyArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, PyObject *__pyx_v_src, size_t __pyx_v_wOffsetSrc, size_t __pyx_v_hOffsetSrc, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  cudaArray_const_t __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  cudaArray_t __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  enum cudaMemcpyKind __pyx_t_6;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__570)
  __Pyx_RefNannySetupContext("cudaMemcpyArrayToArray", 0);
  __Pyx_TraceCall("cudaMemcpyArrayToArray", __pyx_f[0], 17509, 0, __PYX_ERR(0, 17509, __pyx_L1_error));

  /* "cuda/cudart.pyx":17555
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17556
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17555
 *     """
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17557
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17558
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psrc = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":17559
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17559, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":17557
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17561
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 *         psrc = int(cudaArray_const_t(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), __pyx_v_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psrc = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":17562
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaArray_t cdst
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17562, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17565
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17566
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17565
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":17567
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17568
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 */
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_pdst = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":17569
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(cudaArray_t(dst))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17569, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":17567
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":17571
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 *         pdst = int(cudaArray_t(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dst); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pdst = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":17572
 *     else:
 *         pdst = int(cudaArray_t(dst))
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17572, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":17574
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyArrayToArray(cdst, wOffsetDst, hOffsetDst, csrc, wOffsetSrc, hOffsetSrc, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_ckind = __pyx_t_6;

  /* "cuda/cudart.pyx":17575
 * 
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyArrayToArray(cdst, wOffsetDst, hOffsetDst, csrc, wOffsetSrc, hOffsetSrc, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpyArrayToArray(__pyx_v_cdst, __pyx_v_wOffsetDst, __pyx_v_hOffsetDst, __pyx_v_csrc, __pyx_v_wOffsetSrc, __pyx_v_hOffsetSrc, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17575, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":17576
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyArrayToArray(cdst, wOffsetDst, hOffsetDst, csrc, wOffsetSrc, hOffsetSrc, count, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17509
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyArrayToArray", __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/cudart.pyx":17579
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_295cudaMemcpyToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_294cudaMemcpyToArrayAsync[] = "cudaMemcpyToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t count, kind: cudaMemcpyKind, stream)\n Copies data between host and device.\n\n    [Deprecated]\n\n    Copies `count` bytes from the memory area pointed to by `src` to the\n    CUDA array `dst` starting at `hOffset` rows and `wOffset` bytes from\n    the upper left corner, where `kind` specifies the direction of the\n    copy, and must be one of :py:obj:`~.cudaMemcpyHostToHost`,\n    :py:obj:`~.cudaMemcpyHostToDevice`, :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing.\n\n    :py:obj:`~.cudaMemcpyToArrayAsync()` is asynchronous with respect to\n    the host, so the call may return before the copy is complete. The copy\n    can optionally be associated to a stream by passing a non-zero `stream`\n    argument. If `kind` is :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` and `stream` is non-zero, the copy\n    may overlap with operations in other streams.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.cudaArray_t`\n        Destination memory address\n    wOffset : size_t\n        Destination starting X offset (columns in bytes)\n    hOffset : size_t\n        Destination starting Y offset (rows)\n    src : Any\n        Source memory address\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcp""y`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpyToArray`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpyFromArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpyArrayToArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpyFromArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyHtoAAsync`, :py:obj:`~.cuMemcpy2DAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_295cudaMemcpyToArrayAsync = {"cudaMemcpyToArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_295cudaMemcpyToArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_294cudaMemcpyToArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_295cudaMemcpyToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyToArrayAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_src,&__pyx_n_s_count,&__pyx_n_s_kind_2,&__pyx_n_s_stream,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArrayAsync", 1, 7, 7, 1); __PYX_ERR(0, 17579, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArrayAsync", 1, 7, 7, 2); __PYX_ERR(0, 17579, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArrayAsync", 1, 7, 7, 3); __PYX_ERR(0, 17579, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArrayAsync", 1, 7, 7, 4); __PYX_ERR(0, 17579, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArrayAsync", 1, 7, 7, 5); __PYX_ERR(0, 17579, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArrayAsync", 1, 7, 7, 6); __PYX_ERR(0, 17579, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyToArrayAsync") < 0)) __PYX_ERR(0, 17579, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
    }
    __pyx_v_dst = values[0];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17579, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17579, __pyx_L3_error)
    __pyx_v_src = values[3];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17579, __pyx_L3_error)
    __pyx_v_kind = values[5];
    __pyx_v_stream = values[6];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyToArrayAsync", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17579, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyToArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 17579, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_294cudaMemcpyToArrayAsync(__pyx_self, __pyx_v_dst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_src, __pyx_v_count, __pyx_v_kind, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_294cudaMemcpyToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaArray_t __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__571)
  __Pyx_RefNannySetupContext("cudaMemcpyToArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpyToArrayAsync", __pyx_f[0], 17579, 0, __PYX_ERR(0, 17579, __pyx_L1_error));

  /* "cuda/cudart.pyx":17629
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17630
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17629
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17631
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17632
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17633
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 17633, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17631
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17635
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17636
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaArray_t cdst
 */
    __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(0, 17636, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17639
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17640
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17639
 * 
 *     cdef ccudart.cudaArray_t cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":17641
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_6cudart_cudaArray_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17642
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pdst = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17643
 *     elif isinstance(dst, (cudaArray_t)):
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(cudaArray_t(dst))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17643, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17641
 *     if dst is None:
 *         cdst = <ccudart.cudaArray_t><void_ptr>0
 *     elif isinstance(dst, (cudaArray_t)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":17645
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 *     else:
 *         pdst = int(cudaArray_t(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), __pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17646
 *     else:
 *         pdst = int(cudaArray_t(dst))
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst             # <<<<<<<<<<<<<<
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17646, __pyx_L1_error)
    __pyx_v_cdst = ((cudaArray_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":17648
 *         cdst = <ccudart.cudaArray_t><void_ptr>pdst
 * 
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17649
 * 
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, count, ckind, cstream)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17649, __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(0, 17649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":17650
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, count, ckind, cstream)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":17651
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, count, ckind, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpyToArrayAsync(__pyx_v_cdst, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17651, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":17652
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArrayAsync(cdst, wOffset, hOffset, csrc_ptr, count, ckind, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17579
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyToArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_297cudaMemcpyFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_296cudaMemcpyFromArrayAsync[] = "cudaMemcpyFromArrayAsync(dst, src, size_t wOffset, size_t hOffset, size_t count, kind: cudaMemcpyKind, stream)\n Copies data between host and device.\n\n    [Deprecated]\n\n    Copies `count` bytes from the CUDA array `src` starting at `hOffset`\n    rows and `wOffset` bytes from the upper left corner to the memory area\n    pointed to by `dst`, where `kind` specifies the direction of the copy,\n    and must be one of :py:obj:`~.cudaMemcpyHostToHost`,\n    :py:obj:`~.cudaMemcpyHostToDevice`, :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing.\n\n    :py:obj:`~.cudaMemcpyFromArrayAsync()` is asynchronous with respect to\n    the host, so the call may return before the copy is complete. The copy\n    can optionally be associated to a stream by passing a non-zero `stream`\n    argument. If `kind` is :py:obj:`~.cudaMemcpyHostToDevice` or\n    :py:obj:`~.cudaMemcpyDeviceToHost` and `stream` is non-zero, the copy\n    may overlap with operations in other streams.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    src : :py:obj:`~.cudaArray_const_t`\n        Source memory address\n    wOffset : size_t\n        Source starting X offset (columns in bytes)\n    hOffset : size_t\n        Source starting Y offset (rows)\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidMemcpyDirection`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcp""y`, :py:obj:`~.cudaMemcpy2D`, :py:obj:`~.cudaMemcpyToArray`, :py:obj:`~.cudaMemcpy2DToArray`, :py:obj:`~.cudaMemcpyFromArray`, :py:obj:`~.cudaMemcpy2DFromArray`, :py:obj:`~.cudaMemcpyArrayToArray`, :py:obj:`~.cudaMemcpy2DArrayToArray`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpyToArrayAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`, :py:obj:`~.cuMemcpyAtoHAsync`, :py:obj:`~.cuMemcpy2DAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_297cudaMemcpyFromArrayAsync = {"cudaMemcpyFromArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_297cudaMemcpyFromArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_296cudaMemcpyFromArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_297cudaMemcpyFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_wOffset;
  size_t __pyx_v_hOffset;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemcpyFromArrayAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_wOffset,&__pyx_n_s_hOffset,&__pyx_n_s_count,&__pyx_n_s_kind_2,&__pyx_n_s_stream,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArrayAsync", 1, 7, 7, 1); __PYX_ERR(0, 17655, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArrayAsync", 1, 7, 7, 2); __PYX_ERR(0, 17655, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hOffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArrayAsync", 1, 7, 7, 3); __PYX_ERR(0, 17655, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArrayAsync", 1, 7, 7, 4); __PYX_ERR(0, 17655, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArrayAsync", 1, 7, 7, 5); __PYX_ERR(0, 17655, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArrayAsync", 1, 7, 7, 6); __PYX_ERR(0, 17655, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemcpyFromArrayAsync") < 0)) __PYX_ERR(0, 17655, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_wOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_wOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17655, __pyx_L3_error)
    __pyx_v_hOffset = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_hOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17655, __pyx_L3_error)
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17655, __pyx_L3_error)
    __pyx_v_kind = values[5];
    __pyx_v_stream = values[6];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemcpyFromArrayAsync", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17655, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyFromArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 17655, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_296cudaMemcpyFromArrayAsync(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_count, __pyx_v_kind, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_296cudaMemcpyFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_wOffset, size_t __pyx_v_hOffset, size_t __pyx_v_count, PyObject *__pyx_v_kind, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaArray_const_t __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__572)
  __Pyx_RefNannySetupContext("cudaMemcpyFromArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpyFromArrayAsync", __pyx_f[0], 17655, 0, __PYX_ERR(0, 17655, __pyx_L1_error));

  /* "cuda/cudart.pyx":17705
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17706
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17705
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17707
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17708
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17709
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 17709, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17707
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17711
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17712
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaArray_const_t csrc
 */
    __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(0, 17712, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17715
 * 
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17716
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17715
 * 
 *     cdef ccudart.cudaArray_const_t csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":17717
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17718
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_psrc = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17719
 *     elif isinstance(src, (cudaArray_const_t)):
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17719, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17717
 *     if src is None:
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(src, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":17721
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 *     else:
 *         psrc = int(cudaArray_const_t(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), __pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_psrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17722
 *     else:
 *         psrc = int(cudaArray_const_t(src))
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17722, __pyx_L1_error)
    __pyx_v_csrc = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":17724
 *         csrc = <ccudart.cudaArray_const_t><void_ptr>psrc
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17725
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, csrc, wOffset, hOffset, count, ckind, cstream)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17725, __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(0, 17725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":17726
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, csrc, wOffset, hOffset, count, ckind, cstream)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":17727
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, csrc, wOffset, hOffset, count, ckind, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpyFromArrayAsync(__pyx_v_cdst_ptr, __pyx_v_csrc, __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_count, __pyx_v_ckind, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17727, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":17728
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, csrc, wOffset, hOffset, count, ckind, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyFromArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_psrc);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17731
 * 
 * @cython.embedsignature(True)
 * def cudaMallocAsync(size_t size, hStream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory with stream ordered semantics.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_299cudaMallocAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_298cudaMallocAsync[] = "cudaMallocAsync(size_t size, 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 associated with the stream's\n    device.\n\n    Parameters\n    ----------\n    size : 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorOutOfMemory`,\n    devPtr : Any\n        Returned device pointer\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocAsync`, cudaMallocAsync (C++ API), :py:obj:`~.cudaMallocFromPoolAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaDeviceSetMemPool`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceGetMemPool`, :py:obj:`~.cudaMemPoolSetAccess`, :py:obj:`~.cudaMemPoolSetAttribute`, :py:obj:`~.cudaMemPoolGetAttribute`\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_6cudart_299cudaMallocAsync = {"cudaMallocAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_299cudaMallocAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_298cudaMallocAsync};
static PyObject *__pyx_pw_4cuda_6cudart_299cudaMallocAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_size;
  PyObject *__pyx_v_hStream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMallocAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size_2,&__pyx_n_s_hStream,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hStream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocAsync", 1, 2, 2, 1); __PYX_ERR(0, 17731, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMallocAsync") < 0)) __PYX_ERR(0, 17731, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17731, __pyx_L3_error)
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMallocAsync", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17731, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMallocAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_298cudaMallocAsync(__pyx_self, __pyx_v_size, __pyx_v_hStream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_298cudaMallocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, PyObject *__pyx_v_hStream) {
  cudaStream_t __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__573)
  __Pyx_RefNannySetupContext("cudaMallocAsync", 0);
  __Pyx_TraceCall("cudaMallocAsync", __pyx_f[0], 17731, 0, __PYX_ERR(0, 17731, __pyx_L1_error));

  /* "cuda/cudart.pyx":17768
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17769
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17768
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17770
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17771
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17772
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(cudaStream_t(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(0, 17772, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17770
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17774
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 *         phStream = int(cudaStream_t(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17775
 *     else:
 *         phStream = int(cudaStream_t(hStream))
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 * 
 *     cdef void_ptr devPtr = 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(0, 17775, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17777
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, chStream)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":17778
 * 
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, chStream)
 *     return (cudaError_t(err), devPtr)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":17779
 *     cdef void_ptr devPtr = 0
 *     with nogil:
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, chStream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMallocAsync(((void **)(&__pyx_v_devPtr)), __pyx_v_size, __pyx_v_chStream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17779, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":17778
 * 
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, chStream)
 *     return (cudaError_t(err), devPtr)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":17780
 *     with nogil:
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, chStream)
 *     return (cudaError_t(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17731
 * 
 * @cython.embedsignature(True)
 * def cudaMallocAsync(size_t size, hStream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory with stream ordered semantics.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMallocAsync", __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/cudart.pyx":17783
 * 
 * @cython.embedsignature(True)
 * def cudaFreeAsync(devPtr, hStream):             # <<<<<<<<<<<<<<
 *     """ Frees memory with stream ordered semantics.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_301cudaFreeAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_300cudaFreeAsync[] = "cudaFreeAsync(devPtr, 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 : Any\n        memory to free\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream establishing the stream ordering promise\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorNotSupported`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cudaMallocAsync`\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_6cudart_301cudaFreeAsync = {"cudaFreeAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_301cudaFreeAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_300cudaFreeAsync};
static PyObject *__pyx_pw_4cuda_6cudart_301cudaFreeAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_devPtr = 0;
  PyObject *__pyx_v_hStream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFreeAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_hStream,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_devPtr_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hStream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaFreeAsync", 1, 2, 2, 1); __PYX_ERR(0, 17783, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaFreeAsync") < 0)) __PYX_ERR(0, 17783, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_hStream = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaFreeAsync", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17783, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaFreeAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_300cudaFreeAsync(__pyx_self, __pyx_v_devPtr, __pyx_v_hStream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_300cudaFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, PyObject *__pyx_v_hStream) {
  cudaStream_t __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__574)
  __Pyx_RefNannySetupContext("cudaFreeAsync", 0);
  __Pyx_TraceCall("cudaFreeAsync", __pyx_f[0], 17783, 0, __PYX_ERR(0, 17783, __pyx_L1_error));

  /* "cuda/cudart.pyx":17812
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17813
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17812
 *     """
 *     cdef ccudart.cudaStream_t chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17814
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17815
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17816
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(cudaStream_t(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(0, 17816, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17814
 *     if hStream is None:
 *         chStream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(hStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17818
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 *     else:
 *         phStream = int(cudaStream_t(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17819
 *     else:
 *         phStream = int(cudaStream_t(hStream))
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream             # <<<<<<<<<<<<<<
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
    __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(0, 17819, __pyx_L1_error)
    __pyx_v_chStream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17821
 *         chStream = <ccudart.cudaStream_t><void_ptr>phStream
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdevPtr = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":17822
 * 
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, chStream)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":17823
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, chStream)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":17824
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, chStream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaFreeAsync(__pyx_v_cdevPtr_ptr, __pyx_v_chStream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17824, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":17823
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, chStream)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":17825
 *     with nogil:
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, chStream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17783
 * 
 * @cython.embedsignature(True)
 * def cudaFreeAsync(devPtr, hStream):             # <<<<<<<<<<<<<<
 *     """ Frees memory with stream ordered semantics.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaFreeAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17828
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolTrimTo(memPool, size_t minBytesToKeep):             # <<<<<<<<<<<<<<
 *     """ Tries to release memory back to the OS.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_303cudaMemPoolTrimTo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_302cudaMemPoolTrimTo[] = "cudaMemPoolTrimTo(memPool, 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolTrimTo`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceGetMemPool`, :py:obj:`~.cudaMemPoolCreate`\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_6cudart_303cudaMemPoolTrimTo = {"cudaMemPoolTrimTo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_303cudaMemPoolTrimTo, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_302cudaMemPoolTrimTo};
static PyObject *__pyx_pw_4cuda_6cudart_303cudaMemPoolTrimTo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_memPool = 0;
  size_t __pyx_v_minBytesToKeep;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolTrimTo (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_minBytesToKeep,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_minBytesToKeep)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolTrimTo", 1, 2, 2, 1); __PYX_ERR(0, 17828, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolTrimTo") < 0)) __PYX_ERR(0, 17828, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_minBytesToKeep = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_minBytesToKeep == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 17828, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolTrimTo", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17828, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolTrimTo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_302cudaMemPoolTrimTo(__pyx_self, __pyx_v_memPool, __pyx_v_minBytesToKeep);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_302cudaMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, size_t __pyx_v_minBytesToKeep) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__575)
  __Pyx_RefNannySetupContext("cudaMemPoolTrimTo", 0);
  __Pyx_TraceCall("cudaMemPoolTrimTo", __pyx_f[0], 17828, 0, __PYX_ERR(0, 17828, __pyx_L1_error));

  /* "cuda/cudart.pyx":17863
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17864
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17863
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17865
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17866
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17867
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17867, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17865
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17869
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17870
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17870, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17872
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolTrimTo(cmemPool, minBytesToKeep)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":17873
 * 
 *     with nogil:
 *         err = ccudart.cudaMemPoolTrimTo(cmemPool, minBytesToKeep)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemPoolTrimTo(__pyx_v_cmemPool, __pyx_v_minBytesToKeep); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17873, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":17872
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolTrimTo(cmemPool, minBytesToKeep)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":17874
 *     with nogil:
 *         err = ccudart.cudaMemPoolTrimTo(cmemPool, minBytesToKeep)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17828
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolTrimTo(memPool, size_t minBytesToKeep):             # <<<<<<<<<<<<<<
 *     """ Tries to release memory back to the OS.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolTrimTo", __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/cudart.pyx":17877
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAttribute(memPool, attr not None : cudaMemPoolAttr, value):             # <<<<<<<<<<<<<<
 *     """ Sets attributes of a memory pool.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_305cudaMemPoolSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_304cudaMemPoolSetAttribute[] = "cudaMemPoolSetAttribute(memPool, attr: cudaMemPoolAttr, value)\n Sets attributes of a memory pool.\n\n    Supported attributes are:\n\n    - :py:obj:`~.cudaMemPoolAttrReleaseThreshold`: (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:`~.cudaMemPoolReuseFollowEventDependencies`: (value type =\n      int) Allow :py:obj:`~.cudaMallocAsync` to use memory asynchronously\n      freed in another stream as long as a stream ordering dependency of\n      the allocating stream on the free action exists. Cuda events and null\n      stream interactions can create the required stream ordered\n      dependencies. (default enabled)\n\n    - :py:obj:`~.cudaMemPoolReuseAllowOpportunistic`: (value type = int)\n      Allow reuse of already completed frees when there is no dependency\n      between the free and allocation. (default enabled)\n\n    - :py:obj:`~.cudaMemPoolReuseAllowInternalDependencies`: (value type =\n      int) Allow :py:obj:`~.cudaMallocAsync` 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:`~.cudaFreeAsync`\n      (default enabled).\n\n    - :py:obj:`~.cudaMemPoolAttrReservedMemHigh`: (value type = cuuint64_t)\n      Reset the high watermark that tracks the amount of backing memory\n      that was allocated for the memory pool. It is illegal to set this\n      attribute to a non-zero value.\n\n    - :py:obj:`~.cudaMemPoolAttrUsedMemHigh`: (value type = cuuint64_t)\n      Reset the high watermark that tracks the amount of used memory that\n      was allocated for the memory pool. It is illegal to set this\n      attribute to a non-zero value.""\n\n    Parameters\n    ----------\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        The memory pool to modify\n    attr : :py:obj:`~.cudaMemPoolAttr`\n        The attribute to modify\n    value : Any\n        Pointer to the value to assign\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolSetAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceGetMemPool`, :py:obj:`~.cudaMemPoolCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_305cudaMemPoolSetAttribute = {"cudaMemPoolSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_305cudaMemPoolSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_304cudaMemPoolSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_305cudaMemPoolSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_memPool = 0;
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_value = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolSetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_attr,&__pyx_n_s_value,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolSetAttribute", 1, 3, 3, 1); __PYX_ERR(0, 17877, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolSetAttribute", 1, 3, 3, 2); __PYX_ERR(0, 17877, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolSetAttribute") < 0)) __PYX_ERR(0, 17877, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolSetAttribute", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17877, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 17877, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_304cudaMemPoolSetAttribute(__pyx_self, __pyx_v_memPool, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_304cudaMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  enum cudaMemPoolAttr __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemPoolAttr __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  cudaError_t __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__576)
  __Pyx_RefNannySetupContext("cudaMemPoolSetAttribute", 0);
  __Pyx_TraceCall("cudaMemPoolSetAttribute", __pyx_f[0], 17877, 0, __PYX_ERR(0, 17877, __pyx_L1_error));

  /* "cuda/cudart.pyx":17935
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17936
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":17935
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17937
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":17938
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17938, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":17939
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17939, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":17937
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":17941
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":17942
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17942, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":17944
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     cdef ccudart.cudaMemPoolAttr 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_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum cudaMemPoolAttr)__Pyx_PyInt_As_enum__cudaMemPoolAttr(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17944, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cattr = __pyx_t_7;

  /* "cuda/cudart.pyx":17945
 * 
 *     cdef ccudart.cudaMemPoolAttr 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
 *     with nogil:
 */
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_attr);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_value);
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(0, 17945, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *)__pyx_t_8);
  __pyx_t_8 = 0;

  /* "cuda/cudart.pyx":17946
 *     cdef ccudart.cudaMemPoolAttr 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             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemPoolSetAttribute(cmemPool, cattr, cvalue_ptr)
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_8); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 17946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":17947
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolSetAttribute(cmemPool, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":17948
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:
 *         err = ccudart.cudaMemPoolSetAttribute(cmemPool, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_9 = __pyx_f_4cuda_7ccudart_cudaMemPoolSetAttribute(__pyx_v_cmemPool, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_9 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 17948, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/cudart.pyx":17947
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolSetAttribute(cmemPool, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":17949
 *     with nogil:
 *         err = ccudart.cudaMemPoolSetAttribute(cmemPool, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 17949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17877
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAttribute(memPool, attr not None : cudaMemPoolAttr, value):             # <<<<<<<<<<<<<<
 *     """ Sets attributes of a memory pool.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemPool);
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17952
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAttribute(memPool, attr not None : cudaMemPoolAttr):             # <<<<<<<<<<<<<<
 *     """ Gets attributes of a memory pool.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_307cudaMemPoolGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_306cudaMemPoolGetAttribute[] = "cudaMemPoolGetAttribute(memPool, attr: cudaMemPoolAttr)\n Gets attributes of a memory pool.\n\n    Supported attributes are:\n\n    - :py:obj:`~.cudaMemPoolAttrReleaseThreshold`: (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:`~.cudaMemPoolReuseFollowEventDependencies`: (value type =\n      int) Allow :py:obj:`~.cudaMallocAsync` to use memory asynchronously\n      freed in another stream as long as a stream ordering dependency of\n      the allocating stream on the free action exists. Cuda events and null\n      stream interactions can create the required stream ordered\n      dependencies. (default enabled)\n\n    - :py:obj:`~.cudaMemPoolReuseAllowOpportunistic`: (value type = int)\n      Allow reuse of already completed frees when there is no dependency\n      between the free and allocation. (default enabled)\n\n    - :py:obj:`~.cudaMemPoolReuseAllowInternalDependencies`: (value type =\n      int) Allow :py:obj:`~.cudaMallocAsync` 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:`~.cudaFreeAsync`\n      (default enabled).\n\n    - :py:obj:`~.cudaMemPoolAttrReservedMemCurrent`: (value type =\n      cuuint64_t) Amount of backing memory currently allocated for the\n      mempool.\n\n    - :py:obj:`~.cudaMemPoolAttrReservedMemHigh`: (value type = cuuint64_t)\n      High watermark of backing memory allocated for the mempool since the\n      last time it was reset.\n\n    - :py:obj:`~.cudaMemPoolAttrUsedMemCurrent`: (value type = cuuint64_t)\n      Amount of memory from the pool that is currently in use by the\n      application.\n\n    - :py:ob""j:`~.cudaMemPoolAttrUsedMemHigh`: (value type = cuuint64_t)\n      High watermark of the amount of memory from the pool that was in use\n      by the application since the last time it was reset.\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:`~.cudaMemPoolAttr`\n        The attribute to get\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    value : Any\n        Retrieved value\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolGetAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceGetMemPool`, :py:obj:`~.cudaMemPoolCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_307cudaMemPoolGetAttribute = {"cudaMemPoolGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_307cudaMemPoolGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_306cudaMemPoolGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_307cudaMemPoolGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_memPool = 0;
  PyObject *__pyx_v_attr = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolGetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_attr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolGetAttribute", 1, 2, 2, 1); __PYX_ERR(0, 17952, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolGetAttribute") < 0)) __PYX_ERR(0, 17952, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_attr = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolGetAttribute", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 17952, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 17952, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_306cudaMemPoolGetAttribute(__pyx_self, __pyx_v_memPool, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_306cudaMemPoolGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_attr) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  enum cudaMemPoolAttr __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemPoolAttr __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  cudaError_t __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__577)
  __Pyx_RefNannySetupContext("cudaMemPoolGetAttribute", 0);
  __Pyx_TraceCall("cudaMemPoolGetAttribute", __pyx_f[0], 17952, 0, __PYX_ERR(0, 17952, __pyx_L1_error));

  /* "cuda/cudart.pyx":18016
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18017
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18016
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18018
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18019
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18020
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18020, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18018
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18022
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18023
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18023, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18025
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     cdef ccudart.cudaMemPoolAttr 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_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum cudaMemPoolAttr)__Pyx_PyInt_As_enum__cudaMemPoolAttr(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18025, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cattr = __pyx_t_7;

  /* "cuda/cudart.pyx":18026
 * 
 *     cdef ccudart.cudaMemPoolAttr 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
 *     with nogil:
 */
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_attr);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_int_0);
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(0, 18026, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *)__pyx_t_8);
  __pyx_t_8 = 0;

  /* "cuda/cudart.pyx":18027
 *     cdef ccudart.cudaMemPoolAttr 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             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemPoolGetAttribute(cmemPool, cattr, cvalue_ptr)
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_8); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":18028
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolGetAttribute(cmemPool, cattr, cvalue_ptr)
 *     return (cudaError_t(err), cvalue.pyObj())
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":18029
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:
 *         err = ccudart.cudaMemPoolGetAttribute(cmemPool, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cvalue.pyObj())
 * 
 */
        __pyx_t_9 = __pyx_f_4cuda_7ccudart_cudaMemPoolGetAttribute(__pyx_v_cmemPool, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_9 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18029, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/cudart.pyx":18028
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolGetAttribute(cmemPool, cattr, cvalue_ptr)
 *     return (cudaError_t(err), cvalue.pyObj())
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "cuda/cudart.pyx":18030
 *     with nogil:
 *         err = ccudart.cudaMemPoolGetAttribute(cmemPool, cattr, cvalue_ptr)
 *     return (cudaError_t(err), cvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
  __pyx_t_8 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17952
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAttribute(memPool, attr not None : cudaMemPoolAttr):             # <<<<<<<<<<<<<<
 *     """ Gets attributes of a memory pool.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemPool);
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18033
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_309cudaMemPoolSetAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_308cudaMemPoolSetAccess[] = "cudaMemPoolSetAccess(memPool, descList: List[cudaMemAccessDesc], 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:`~.cudaMemAccessDesc`]\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cudaMemPoolGetAccess`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_309cudaMemPoolSetAccess = {"cudaMemPoolSetAccess", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_309cudaMemPoolSetAccess, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_308cudaMemPoolSetAccess};
static PyObject *__pyx_pw_4cuda_6cudart_309cudaMemPoolSetAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_memPool = 0;
  PyObject *__pyx_v_descList = 0;
  size_t __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolSetAccess (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_descList,&__pyx_n_s_count,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_descList)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolSetAccess", 1, 3, 3, 1); __PYX_ERR(0, 18033, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolSetAccess", 1, 3, 3, 2); __PYX_ERR(0, 18033, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolSetAccess") < 0)) __PYX_ERR(0, 18033, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_descList = values[1];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 18033, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolSetAccess", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18033, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_308cudaMemPoolSetAccess(__pyx_self, __pyx_v_memPool, __pyx_v_descList, __pyx_v_count);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_20cudaMemPoolSetAccess_2generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":18056
 *     """
 *     descList = [] if descList is None else descList
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_20cudaMemPoolSetAccess_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_12_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_12_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_12_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 18056, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_20cudaMemPoolSetAccess_2generator7, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaMemPoolSetAccess_locals_gene, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 18056, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolSetAccess.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_20cudaMemPoolSetAccess_2generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 18056, 0, __PYX_ERR(0, 18056, __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(0, 18056, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_descList)) { __Pyx_RaiseClosureNameError("descList"); __PYX_ERR(0, 18056, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_descList)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_descList)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_descList; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_descList); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18056, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 18056, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18056, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 18056, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18056, __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, 18056, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaMemAccessDesc); 
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":18033
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_308cudaMemPoolSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_descList, size_t __pyx_v_count) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *__pyx_cur_scope;
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  struct cudaMemAccessDesc *__pyx_v_cdescList;
  Py_ssize_t __pyx_v_idx;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_20cudaMemPoolSetAccess_2generator7 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaMemAccessDesc *__pyx_t_11;
  cudaError_t __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__578)
  __Pyx_RefNannySetupContext("cudaMemPoolSetAccess", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 18033, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaMemPoolSetAccess", __pyx_f[0], 18033, 0, __PYX_ERR(0, 18033, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_descList = __pyx_v_descList;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_descList);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_descList);

  /* "cuda/cudart.pyx":18055
 *     :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cudaMemPoolGetAccess`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`
 *     """
 *     descList = [] if descList is None else descList             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_descList == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_descList);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_descList;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_descList);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_descList, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18056
 *     """
 *     descList = [] if descList is None else descList
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_20cudaMemPoolSetAccess_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 18056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":18057
 *     descList = [] if descList is None else descList
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemPool_t cmemPool
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__579, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 18057, __pyx_L1_error)

    /* "cuda/cudart.pyx":18056
 *     """
 *     descList = [] if descList is None else descList
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 * 
 */
  }

  /* "cuda/cudart.pyx":18060
 * 
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_4 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18061
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18060
 * 
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":18062
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18063
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pmemPool = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":18064
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18064, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":18062
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":18066
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pmemPool = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":18067
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18067, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":18069
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL             # <<<<<<<<<<<<<<
 *     if len(descList) > 0:
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))
 */
  __pyx_v_cdescList = NULL;

  /* "cuda/cudart.pyx":18070
 * 
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 *     if len(descList) > 0:             # <<<<<<<<<<<<<<
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))
 *         if cdescList is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_descList;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18071
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 *     if len(descList) > 0:
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))             # <<<<<<<<<<<<<<
 *         if cdescList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(descList)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_descList;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18071, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cdescList = ((struct cudaMemAccessDesc *)calloc(__pyx_t_7, (sizeof(struct cudaMemAccessDesc))));

    /* "cuda/cudart.pyx":18072
 *     if len(descList) > 0:
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))
 *         if cdescList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(descList)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *         for idx in range(len(descList)):
 */
    __pyx_t_4 = ((__pyx_v_cdescList == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":18073
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))
 *         if cdescList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(descList)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(descList)):
 *             memcpy(&cdescList[idx], (<cudaMemAccessDesc>descList[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_descList;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18073, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18073, __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(struct cudaMemAccessDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18073, __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(0, 18073, __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(0, 18073, __pyx_L1_error)

      /* "cuda/cudart.pyx":18072
 *     if len(descList) > 0:
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))
 *         if cdescList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(descList)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *         for idx in range(len(descList)):
 */
    }

    /* "cuda/cudart.pyx":18074
 *         if cdescList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(descList)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *         for idx in range(len(descList)):             # <<<<<<<<<<<<<<
 *             memcpy(&cdescList[idx], (<cudaMemAccessDesc>descList[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))
 * 
 */
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_descList;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18074, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __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/cudart.pyx":18075
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(descList)) + 'x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *         for idx in range(len(descList)):
 *             memcpy(&cdescList[idx], (<cudaMemAccessDesc>descList[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))             # <<<<<<<<<<<<<<
 * 
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))
 */
      __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_descList, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18075, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      (void)(memcpy((&(__pyx_v_cdescList[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_t_8)->_ptr, (sizeof(struct cudaMemAccessDesc))));
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }

    /* "cuda/cudart.pyx":18070
 * 
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 *     if len(descList) > 0:             # <<<<<<<<<<<<<<
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))
 *         if cdescList is NULL:
 */
  }

  /* "cuda/cudart.pyx":18077
 *             memcpy(&cdescList[idx], (<cudaMemAccessDesc>descList[idx])._ptr, sizeof(ccudart.cudaMemAccessDesc))
 * 
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolSetAccess(cmemPool, (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)
 *     if cdescList is not NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_descList;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_count > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_descList;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18077, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18077, __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(0, 18077, __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(0, 18077, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":18078
 * 
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))
 *     err = ccudart.cudaMemPoolSetAccess(cmemPool, (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)             # <<<<<<<<<<<<<<
 *     if cdescList is not NULL:
 *         free(cdescList)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_descList;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_descList, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_t_3)->_ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdescList;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaMemPoolSetAccess(__pyx_v_cmemPool, __pyx_t_11, __pyx_v_count); if (unlikely(__pyx_t_12 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18078, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":18079
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))
 *     err = ccudart.cudaMemPoolSetAccess(cmemPool, (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)
 *     if cdescList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdescList)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = ((__pyx_v_cdescList != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18080
 *     err = ccudart.cudaMemPoolSetAccess(cmemPool, (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)
 *     if cdescList is not NULL:
 *         free(cdescList)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cdescList);

    /* "cuda/cudart.pyx":18079
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))
 *     err = ccudart.cudaMemPoolSetAccess(cmemPool, (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)
 *     if cdescList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdescList)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":18081
 *     if cdescList is not NULL:
 *         free(cdescList)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __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(0, 18081, __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(0, 18081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18033
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemPool);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_20cudaMemPoolSetAccess_2generator7);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18084
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAccess(memPool, location : cudaMemLocation):             # <<<<<<<<<<<<<<
 *     """ Returns the accessibility of a pool from a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_311cudaMemPoolGetAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_310cudaMemPoolGetAccess[] = "cudaMemPoolGetAccess(memPool, cudaMemLocation location: cudaMemLocation)\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:`~.cudaMemLocation`\n        the location accessing the pool\n\n    Returns\n    -------\n    cudaError_t\n\n    flags : :py:obj:`~.cudaMemAccessFlags`\n        the accessibility of the pool from the specified location\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolGetAccess`, :py:obj:`~.cudaMemPoolSetAccess`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_311cudaMemPoolGetAccess = {"cudaMemPoolGetAccess", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_311cudaMemPoolGetAccess, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_310cudaMemPoolGetAccess};
static PyObject *__pyx_pw_4cuda_6cudart_311cudaMemPoolGetAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_memPool = 0;
  struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolGetAccess (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_location_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_location_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolGetAccess", 1, 2, 2, 1); __PYX_ERR(0, 18084, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolGetAccess") < 0)) __PYX_ERR(0, 18084, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_location = ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolGetAccess", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18084, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolGetAccess", __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_6cudart_cudaMemLocation, 1, "location", 0))) __PYX_ERR(0, 18084, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_310cudaMemPoolGetAccess(__pyx_self, __pyx_v_memPool, __pyx_v_location);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_310cudaMemPoolGetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  enum cudaMemAccessFlags __pyx_v_flags;
  struct cudaMemLocation *__pyx_v_clocation_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemLocation *__pyx_t_7;
  cudaError_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__580)
  __Pyx_RefNannySetupContext("cudaMemPoolGetAccess", 0);
  __Pyx_TraceCall("cudaMemPoolGetAccess", __pyx_f[0], 18084, 0, __PYX_ERR(0, 18084, __pyx_L1_error));

  /* "cuda/cudart.pyx":18109
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18110
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18109
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18111
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18112
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18113
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18113, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18111
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18115
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18116
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemAccessFlags flags
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18116, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18119
 * 
 *     cdef ccudart.cudaMemAccessFlags flags
 *     cdef ccudart.cudaMemLocation* clocation_ptr = location._ptr if location != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolGetAccess(&flags, cmemPool, clocation_ptr)
 *     return (cudaError_t(err), cudaMemAccessFlags(flags))
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_location), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18119, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 18119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_location->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_clocation_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":18120
 *     cdef ccudart.cudaMemAccessFlags flags
 *     cdef ccudart.cudaMemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccudart.cudaMemPoolGetAccess(&flags, cmemPool, clocation_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaMemAccessFlags(flags))
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemPoolGetAccess((&__pyx_v_flags), __pyx_v_cmemPool, __pyx_v_clocation_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18120, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":18121
 *     cdef ccudart.cudaMemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccudart.cudaMemPoolGetAccess(&flags, cmemPool, clocation_ptr)
 *     return (cudaError_t(err), cudaMemAccessFlags(flags))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_cudaMemAccessFlags); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyInt_From_enum__cudaMemAccessFlags(__pyx_v_flags); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18084
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAccess(memPool, location : cudaMemLocation):             # <<<<<<<<<<<<<<
 *     """ Returns the accessibility of a pool from a device.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __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.cudart.cudaMemPoolGetAccess", __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/cudart.pyx":18124
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolCreate(poolProps : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *     """ Creates a memory pool.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_313cudaMemPoolCreate(PyObject *__pyx_self, PyObject *__pyx_v_poolProps); /*proto*/
static char __pyx_doc_4cuda_6cudart_312cudaMemPoolCreate[] = "cudaMemPoolCreate(cudaMemPoolProps poolProps: cudaMemPoolProps)\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    By default, the pool's memory will be accessible from the device it is\n    allocated on.\n\n    Parameters\n    ----------\n    poolProps : :py:obj:`~.cudaMemPoolProps`\n        None\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorNotSupported`\n    memPool : :py:obj:`~.cudaMemPool_t`\n        None\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cudaDeviceSetMemPool`, :py:obj:`~.cudaMallocFromPoolAsync`, :py:obj:`~.cudaMemPoolExportToShareableHandle`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceGetMemPool`\n\n    Notes\n    -----\n    Specifying cudaMemHandleTypeNone creates a memory pool that will not support IPC.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_313cudaMemPoolCreate = {"cudaMemPoolCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_313cudaMemPoolCreate, METH_O, __pyx_doc_4cuda_6cudart_312cudaMemPoolCreate};
static PyObject *__pyx_pw_4cuda_6cudart_313cudaMemPoolCreate(PyObject *__pyx_self, PyObject *__pyx_v_poolProps) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolCreate (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_poolProps), __pyx_ptype_4cuda_6cudart_cudaMemPoolProps, 1, "poolProps", 0))) __PYX_ERR(0, 18124, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_312cudaMemPoolCreate(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)__pyx_v_poolProps));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_312cudaMemPoolCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_poolProps) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *__pyx_v_memPool = 0;
  struct cudaMemPoolProps *__pyx_v_cpoolProps_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaMemPoolProps *__pyx_t_2;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__581)
  __Pyx_RefNannySetupContext("cudaMemPoolCreate", 0);
  __Pyx_TraceCall("cudaMemPoolCreate", __pyx_f[0], 18124, 0, __PYX_ERR(0, 18124, __pyx_L1_error));

  /* "cuda/cudart.pyx":18154
 *     Specifying cudaMemHandleTypeNone creates a memory pool that will not support IPC.
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL
 *     err = ccudart.cudaMemPoolCreate(<ccudart.cudaMemPool_t*>memPool._ptr, cpoolProps_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_memPool = ((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18155
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     cdef ccudart.cudaMemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolCreate(<ccudart.cudaMemPool_t*>memPool._ptr, cpoolProps_ptr)
 *     return (cudaError_t(err), memPool)
 */
  __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(0, 18155, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 18155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_poolProps->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpoolProps_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":18156
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     cdef ccudart.cudaMemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL
 *     err = ccudart.cudaMemPoolCreate(<ccudart.cudaMemPool_t*>memPool._ptr, cpoolProps_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), memPool)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemPoolCreate(((cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_cpoolProps_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18156, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":18157
 *     cdef ccudart.cudaMemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL
 *     err = ccudart.cudaMemPoolCreate(<ccudart.cudaMemPool_t*>memPool._ptr, cpoolProps_ptr)
 *     return (cudaError_t(err), memPool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18157, __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(0, 18157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_memPool));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_memPool));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_memPool));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18124
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolCreate(poolProps : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaMemPoolCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_memPool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18160
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolDestroy(memPool):             # <<<<<<<<<<<<<<
 *     """ Destroys the specified memory pool.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_315cudaMemPoolDestroy(PyObject *__pyx_self, PyObject *__pyx_v_memPool); /*proto*/
static char __pyx_doc_4cuda_6cudart_314cudaMemPoolDestroy[] = "cudaMemPoolDestroy(memPool)\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:`~.cudaMemPoolDestroy` 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    memPool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        None\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    cuMemPoolDestroy, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaDeviceSetMemPool`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaDeviceGetMemPool`, :py:obj:`~.cudaMemPoolCreate`\n\n    Notes\n    -----\n    A device's default memory pool cannot be destroyed.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_315cudaMemPoolDestroy = {"cudaMemPoolDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_315cudaMemPoolDestroy, METH_O, __pyx_doc_4cuda_6cudart_314cudaMemPoolDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_315cudaMemPoolDestroy(PyObject *__pyx_self, PyObject *__pyx_v_memPool) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_314cudaMemPoolDestroy(__pyx_self, ((PyObject *)__pyx_v_memPool));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_314cudaMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__582)
  __Pyx_RefNannySetupContext("cudaMemPoolDestroy", 0);
  __Pyx_TraceCall("cudaMemPoolDestroy", __pyx_f[0], 18160, 0, __PYX_ERR(0, 18160, __pyx_L1_error));

  /* "cuda/cudart.pyx":18191
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18192
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18191
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18193
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18194
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18195
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18195, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18193
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18197
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18198
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaMemPoolDestroy(cmemPool)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18198, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18200
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     err = ccudart.cudaMemPoolDestroy(cmemPool)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemPoolDestroy(__pyx_v_cmemPool); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18200, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18201
 * 
 *     err = ccudart.cudaMemPoolDestroy(cmemPool)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18160
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolDestroy(memPool):             # <<<<<<<<<<<<<<
 *     """ Destroys the specified memory pool.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolDestroy", __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/cudart.pyx":18204
 * 
 * @cython.embedsignature(True)
 * def cudaMallocFromPoolAsync(size_t size, memPool, stream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory from a specified pool with stream ordered semantics.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_317cudaMallocFromPoolAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_316cudaMallocFromPoolAsync[] = "cudaMallocFromPoolAsync(size_t size, memPool, stream)\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    memPool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        The pool to allocate from\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream establishing the stream ordering semantic\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorOutOfMemory`\n    ptr : Any\n        Returned device pointer\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocFromPoolAsync`, cudaMallocAsync (C++ API), :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaDeviceGetDefaultMemPool`, :py:obj:`~.cudaMemPoolCreate`, :py:obj:`~.cudaMemPoolSetAccess`, :py:obj:`~.cudaMemPoolSetAttribute`\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_6cudart_317cudaMallocFromPoolAsync = {"cudaMallocFromPoolAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_317cudaMallocFromPoolAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_316cudaMallocFromPoolAsync};
static PyObject *__pyx_pw_4cuda_6cudart_317cudaMallocFromPoolAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_size;
  PyObject *__pyx_v_memPool = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMallocFromPoolAsync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size_2,&__pyx_n_s_memPool,&__pyx_n_s_stream,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocFromPoolAsync", 1, 3, 3, 1); __PYX_ERR(0, 18204, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMallocFromPoolAsync", 1, 3, 3, 2); __PYX_ERR(0, 18204, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMallocFromPoolAsync") < 0)) __PYX_ERR(0, 18204, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 18204, __pyx_L3_error)
    __pyx_v_memPool = values[1];
    __pyx_v_stream = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMallocFromPoolAsync", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18204, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMallocFromPoolAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_316cudaMallocFromPoolAsync(__pyx_self, __pyx_v_size, __pyx_v_memPool, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_316cudaMallocFromPoolAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, PyObject *__pyx_v_memPool, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__583)
  __Pyx_RefNannySetupContext("cudaMallocFromPoolAsync", 0);
  __Pyx_TraceCall("cudaMallocFromPoolAsync", __pyx_f[0], 18204, 0, __PYX_ERR(0, 18204, __pyx_L1_error));

  /* "cuda/cudart.pyx":18237
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18238
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18237
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18239
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18240
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18241
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 18241, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18239
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18243
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18244
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemPool_t cmemPool
 */
    __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(0, 18244, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18247
 * 
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18248
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18247
 * 
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18249
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18250
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18251
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18251, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18249
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18253
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18254
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     cdef void_ptr ptr = 0
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18254, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":18256
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     cdef void_ptr ptr = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMallocFromPoolAsync(<void**>&ptr, size, cmemPool, cstream)
 *     return (cudaError_t(err), ptr)
 */
  __pyx_v_ptr = 0;

  /* "cuda/cudart.pyx":18257
 * 
 *     cdef void_ptr ptr = 0
 *     err = ccudart.cudaMallocFromPoolAsync(<void**>&ptr, size, cmemPool, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ptr)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMallocFromPoolAsync(((void **)(&__pyx_v_ptr)), __pyx_v_size, __pyx_v_cmemPool, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18257, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18258
 *     cdef void_ptr ptr = 0
 *     err = ccudart.cudaMallocFromPoolAsync(<void**>&ptr, size, cmemPool, cstream)
 *     return (cudaError_t(err), ptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 18258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_ptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18204
 * 
 * @cython.embedsignature(True)
 * def cudaMallocFromPoolAsync(size_t size, memPool, stream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory from a specified pool with stream ordered semantics.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMallocFromPoolAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_pmemPool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18261
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportToShareableHandle(memPool, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Exports a memory pool to the requested handle type.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_319cudaMemPoolExportToShareableHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_318cudaMemPoolExportToShareableHandle[] = "cudaMemPoolExportToShareableHandle(memPool, handleType: cudaMemAllocationHandleType, unsigned int 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:`~.cudaMemPoolImportFromShareableHandle`. Individual pointers\n    can then be shared with the :py:obj:`~.cudaMemPoolExportPointer` and\n    :py:obj:`~.cudaMemPoolImportPointer` APIs. The implementation of what\n    the 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:`~.cudaMemAllocationHandleType`\n        the type of handle to create\n    flags : unsigned int\n        must be 0\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorOutOfMemory`\n    handle_out : Any\n        pointer to the location in which to store the requested handle\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolExportToShareableHandle`, :py:obj:`~.cudaMemPoolImportFromShareableHandle`, :py:obj:`~.cudaMemPoolExportPointer`, :py:obj:`~.cudaMemPoolImportPointer`\n\n    Notes\n    -----\n    : To create an IPC capable mempool, create a mempool with a CUmemAllocationHandleType other than cudaMemHandleTypeNone.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_319cudaMemPoolExportToShareableHandle = {"cudaMemPoolExportToShareableHandle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_319cudaMemPoolExportToShareableHandle, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_318cudaMemPoolExportToShareableHandle};
static PyObject *__pyx_pw_4cuda_6cudart_319cudaMemPoolExportToShareableHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_memPool = 0;
  PyObject *__pyx_v_handleType = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolExportToShareableHandle (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_handleType,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_handleType)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolExportToShareableHandle", 1, 3, 3, 1); __PYX_ERR(0, 18261, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolExportToShareableHandle", 1, 3, 3, 2); __PYX_ERR(0, 18261, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolExportToShareableHandle") < 0)) __PYX_ERR(0, 18261, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18261, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolExportToShareableHandle", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18261, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_handleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleType"); __PYX_ERR(0, 18261, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_318cudaMemPoolExportToShareableHandle(__pyx_self, __pyx_v_memPool, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_318cudaMemPoolExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_handleType, unsigned int __pyx_v_flags) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_shareableHandle;
  void *__pyx_v_cshareableHandle_ptr;
  enum cudaMemAllocationHandleType __pyx_v_chandleType;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemAllocationHandleType __pyx_t_7;
  cudaError_t __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__584)
  __Pyx_RefNannySetupContext("cudaMemPoolExportToShareableHandle", 0);
  __Pyx_TraceCall("cudaMemPoolExportToShareableHandle", __pyx_f[0], 18261, 0, __PYX_ERR(0, 18261, __pyx_L1_error));

  /* "cuda/cudart.pyx":18298
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18299
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18298
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18300
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18301
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18302
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18302, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18300
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18304
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18305
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     cdef void_ptr shareableHandle = 0
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18305, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18307
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     cdef void_ptr shareableHandle = 0             # <<<<<<<<<<<<<<
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 */
  __pyx_v_shareableHandle = 0;

  /* "cuda/cudart.pyx":18308
 * 
 *     cdef void_ptr shareableHandle = 0
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, cmemPool, chandleType, flags)
 */
  __pyx_v_cshareableHandle_ptr = ((void *)__pyx_v_shareableHandle);

  /* "cuda/cudart.pyx":18309
 *     cdef void_ptr shareableHandle = 0
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, cmemPool, chandleType, flags)
 *     return (cudaError_t(err), shareableHandle)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum cudaMemAllocationHandleType)__Pyx_PyInt_As_enum__cudaMemAllocationHandleType(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_chandleType = __pyx_t_7;

  /* "cuda/cudart.pyx":18310
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, cmemPool, chandleType, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), shareableHandle)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemPoolExportToShareableHandle(__pyx_v_cshareableHandle_ptr, __pyx_v_cmemPool, __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18310, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":18311
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, cmemPool, chandleType, flags)
 *     return (cudaError_t(err), shareableHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_shareableHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18261
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportToShareableHandle(memPool, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Exports a memory pool to the requested handle type.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolExportToShareableHandle", __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/cudart.pyx":18314
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportFromShareableHandle(shareableHandle, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ imports a memory pool from a shared handle.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_321cudaMemPoolImportFromShareableHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_320cudaMemPoolImportFromShareableHandle[] = "cudaMemPoolImportFromShareableHandle(shareableHandle, handleType: cudaMemAllocationHandleType, unsigned int flags)\n imports a memory pool from a shared handle.\n\n    Specific allocations can be imported from the imported pool with\n    :py:obj:`~.cudaMemPoolImportPointer`.\n\n    Parameters\n    ----------\n    handle : Any\n        OS handle of the pool to open\n    handleType : :py:obj:`~.cudaMemAllocationHandleType`\n        The type of handle being imported\n    flags : unsigned int\n        must be 0\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorOutOfMemory`\n    pool_out : :py:obj:`~.cudaMemPool_t`\n        Returned memory pool\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolImportFromShareableHandle`, :py:obj:`~.cudaMemPoolExportToShareableHandle`, :py:obj:`~.cudaMemPoolExportPointer`, :py:obj:`~.cudaMemPoolImportPointer`\n\n    Notes\n    -----\n    Imported memory pools do not support creating new allocations. As such imported memory pools may not be used in :py:obj:`~.cudaDeviceSetMemPool` or :py:obj:`~.cudaMallocFromPoolAsync` calls.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_321cudaMemPoolImportFromShareableHandle = {"cudaMemPoolImportFromShareableHandle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_321cudaMemPoolImportFromShareableHandle, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_320cudaMemPoolImportFromShareableHandle};
static PyObject *__pyx_pw_4cuda_6cudart_321cudaMemPoolImportFromShareableHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_shareableHandle = 0;
  PyObject *__pyx_v_handleType = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolImportFromShareableHandle (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_shareableHandle,&__pyx_n_s_handleType,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_shareableHandle)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_handleType)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolImportFromShareableHandle", 1, 3, 3, 1); __PYX_ERR(0, 18314, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolImportFromShareableHandle", 1, 3, 3, 2); __PYX_ERR(0, 18314, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolImportFromShareableHandle") < 0)) __PYX_ERR(0, 18314, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_shareableHandle = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18314, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolImportFromShareableHandle", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18314, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_handleType) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "handleType"); __PYX_ERR(0, 18314, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_320cudaMemPoolImportFromShareableHandle(__pyx_self, __pyx_v_shareableHandle, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_320cudaMemPoolImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_shareableHandle, PyObject *__pyx_v_handleType, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *__pyx_v_memPool = 0;
  PyObject *__pyx_v_cshareableHandle = NULL;
  void *__pyx_v_cshareableHandle_ptr;
  enum cudaMemAllocationHandleType __pyx_v_chandleType;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  enum cudaMemAllocationHandleType __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__585)
  __Pyx_RefNannySetupContext("cudaMemPoolImportFromShareableHandle", 0);
  __Pyx_TraceCall("cudaMemPoolImportFromShareableHandle", __pyx_f[0], 18314, 0, __PYX_ERR(0, 18314, __pyx_L1_error));

  /* "cuda/cudart.pyx":18344
 *     Imported memory pools do not support creating new allocations. As such imported memory pools may not be used in :py:obj:`~.cudaDeviceSetMemPool` or :py:obj:`~.cudaMallocFromPoolAsync` calls.
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()             # <<<<<<<<<<<<<<
 *     cshareableHandle = utils.HelperInputVoidPtr(shareableHandle)
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_memPool = ((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18345
 *     """
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     cshareableHandle = utils.HelperInputVoidPtr(shareableHandle)             # <<<<<<<<<<<<<<
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_shareableHandle); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cshareableHandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18346
 *     cdef cudaMemPool_t memPool = cudaMemPool_t()
 *     cshareableHandle = utils.HelperInputVoidPtr(shareableHandle)
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolImportFromShareableHandle(<ccudart.cudaMemPool_t*>memPool._ptr, cshareableHandle_ptr, chandleType, flags)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cshareableHandle, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18346, __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(0, 18346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cshareableHandle_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":18347
 *     cshareableHandle = utils.HelperInputVoidPtr(shareableHandle)
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolImportFromShareableHandle(<ccudart.cudaMemPool_t*>memPool._ptr, cshareableHandle_ptr, chandleType, flags)
 *     return (cudaError_t(err), memPool)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum cudaMemAllocationHandleType)__Pyx_PyInt_As_enum__cudaMemAllocationHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_chandleType = __pyx_t_3;

  /* "cuda/cudart.pyx":18348
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolImportFromShareableHandle(<ccudart.cudaMemPool_t*>memPool._ptr, cshareableHandle_ptr, chandleType, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), memPool)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemPoolImportFromShareableHandle(((cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_cshareableHandle_ptr, __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18348, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":18349
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolImportFromShareableHandle(<ccudart.cudaMemPool_t*>memPool._ptr, cshareableHandle_ptr, chandleType, flags)
 *     return (cudaError_t(err), memPool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18349, __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(0, 18349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_memPool));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_memPool));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_memPool));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18314
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportFromShareableHandle(shareableHandle, handleType not None : cudaMemAllocationHandleType, unsigned int 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.cudart.cudaMemPoolImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_memPool);
  __Pyx_XDECREF(__pyx_v_cshareableHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18352
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportPointer(ptr):             # <<<<<<<<<<<<<<
 *     """ Export data to share a memory pool allocation between processes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_323cudaMemPoolExportPointer(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_322cudaMemPoolExportPointer[] = "cudaMemPoolExportPointer(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:`~.cudaMemPoolImportPointer` api. The data\n    is not a handle and may be shared through any IPC mechanism.\n\n    Parameters\n    ----------\n    ptr : Any\n        pointer to memory being exported\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorOutOfMemory`\n    shareData_out : :py:obj:`~.cudaMemPoolPtrExportData`\n        Returned export data\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolExportPointer`, :py:obj:`~.cudaMemPoolExportToShareableHandle`, :py:obj:`~.cudaMemPoolImportFromShareableHandle`, :py:obj:`~.cudaMemPoolImportPointer`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_323cudaMemPoolExportPointer = {"cudaMemPoolExportPointer", (PyCFunction)__pyx_pw_4cuda_6cudart_323cudaMemPoolExportPointer, METH_O, __pyx_doc_4cuda_6cudart_322cudaMemPoolExportPointer};
static PyObject *__pyx_pw_4cuda_6cudart_323cudaMemPoolExportPointer(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolExportPointer (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_322cudaMemPoolExportPointer(__pyx_self, ((PyObject *)__pyx_v_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_322cudaMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_exportData = 0;
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__586)
  __Pyx_RefNannySetupContext("cudaMemPoolExportPointer", 0);
  __Pyx_TraceCall("cudaMemPoolExportPointer", __pyx_f[0], 18352, 0, __PYX_ERR(0, 18352, __pyx_L1_error));

  /* "cuda/cudart.pyx":18376
 *     :py:obj:`~.cuMemPoolExportPointer`, :py:obj:`~.cudaMemPoolExportToShareableHandle`, :py:obj:`~.cudaMemPoolImportFromShareableHandle`, :py:obj:`~.cudaMemPoolImportPointer`
 *     """
 *     cdef cudaMemPoolPtrExportData exportData = cudaMemPoolPtrExportData()             # <<<<<<<<<<<<<<
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_exportData = ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18377
 *     """
 *     cdef cudaMemPoolPtrExportData exportData = cudaMemPoolPtrExportData()
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaMemPoolExportPointer(exportData._ptr, cptr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18378
 *     cdef cudaMemPoolPtrExportData exportData = cudaMemPoolPtrExportData()
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolExportPointer(exportData._ptr, cptr_ptr)
 *     return (cudaError_t(err), exportData)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18378, __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(0, 18378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":18379
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaMemPoolExportPointer(exportData._ptr, cptr_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), exportData)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaMemPoolExportPointer(__pyx_v_exportData->_ptr, __pyx_v_cptr_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18379, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":18380
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaMemPoolExportPointer(exportData._ptr, cptr_ptr)
 *     return (cudaError_t(err), exportData)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 18380, __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(0, 18380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_exportData));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_exportData));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_exportData));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18352
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportPointer(ptr):             # <<<<<<<<<<<<<<
 *     """ Export data to share a memory pool allocation between processes.
 * 
 */

  /* 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.cudart.cudaMemPoolExportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_exportData);
  __Pyx_XDECREF(__pyx_v_cptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18383
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportPointer(memPool, exportData : cudaMemPoolPtrExportData):             # <<<<<<<<<<<<<<
 *     """ Import a memory pool allocation from another process.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_325cudaMemPoolImportPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_324cudaMemPoolImportPointer[] = "cudaMemPoolImportPointer(memPool, cudaMemPoolPtrExportData exportData: cudaMemPoolPtrExportData)\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 cudaFree or cudaFreeAsync. If\n    :py:obj:`~.cudaFreeAsync` is used, the free must be completed on the\n    importing 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:`~.cudaMemPoolPtrExportData`\n        data specifying the memory to import\n\n    Returns\n    -------\n    cudaError_t\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 : Any\n        pointer to imported memory\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolImportPointer`, :py:obj:`~.cudaMemPoolExportToShareableHandle`, :py:obj:`~.cudaMemPoolImportFromShareableHandle`, :py:obj:`~.cudaMemPoolExportPointer`\n\n    Notes\n    -----\n    The :py:obj:`~.cudaFreeAsync` api may be used in the exporting process before the :py:obj:`~.cudaFreeAsync` operation completes in its stream as long as the :py:obj:`~.cudaFreeAsync` in the exporting process specifies a stream with a stream dependency on the importing process's :py:obj:`~.cudaFreeAsync`.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_325cudaMemPoolImportPointer = {"cudaMemPoolImportPointer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_325cudaMemPoolImportPointer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_324cudaMemPoolImportPointer};
static PyObject *__pyx_pw_4cuda_6cudart_325cudaMemPoolImportPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_memPool = 0;
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_exportData = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolImportPointer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_exportData,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memPool)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_exportData)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaMemPoolImportPointer", 1, 2, 2, 1); __PYX_ERR(0, 18383, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaMemPoolImportPointer") < 0)) __PYX_ERR(0, 18383, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_exportData = ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaMemPoolImportPointer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18383, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolImportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_exportData), __pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData, 1, "exportData", 0))) __PYX_ERR(0, 18383, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_324cudaMemPoolImportPointer(__pyx_self, __pyx_v_memPool, __pyx_v_exportData);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_324cudaMemPoolImportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_exportData) {
  cudaMemPool_t __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ptr;
  struct cudaMemPoolPtrExportData *__pyx_v_cexportData_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemPoolPtrExportData *__pyx_t_7;
  cudaError_t __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__587)
  __Pyx_RefNannySetupContext("cudaMemPoolImportPointer", 0);
  __Pyx_TraceCall("cudaMemPoolImportPointer", __pyx_f[0], 18383, 0, __PYX_ERR(0, 18383, __pyx_L1_error));

  /* "cuda/cudart.pyx":18417
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18418
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18417
 *     """
 *     cdef ccudart.cudaMemPool_t cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18419
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18420
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18421
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18421, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18419
 *     if memPool is None:
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>0
 *     elif isinstance(memPool, (cudaMemPool_t,cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18423
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), __pyx_v_memPool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmemPool = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18424
 *     else:
 *         pmemPool = int(cudaMemPool_t(memPool))
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 * 
 *     cdef void_ptr ptr = 0
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18424, __pyx_L1_error)
    __pyx_v_cmemPool = ((cudaMemPool_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18426
 *         cmemPool = <ccudart.cudaMemPool_t><void_ptr>pmemPool
 * 
 *     cdef void_ptr ptr = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, cmemPool, cexportData_ptr)
 */
  __pyx_v_ptr = 0;

  /* "cuda/cudart.pyx":18427
 * 
 *     cdef void_ptr ptr = 0
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, cmemPool, cexportData_ptr)
 *     return (cudaError_t(err), ptr)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_exportData), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18427, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 18427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_exportData->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cexportData_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":18428
 *     cdef void_ptr ptr = 0
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, cmemPool, cexportData_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ptr)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemPoolImportPointer(((void **)(&__pyx_v_ptr)), __pyx_v_cmemPool, __pyx_v_cexportData_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18428, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":18429
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, cmemPool, cexportData_ptr)
 *     return (cudaError_t(err), ptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18383
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportPointer(memPool, exportData : cudaMemPoolPtrExportData):             # <<<<<<<<<<<<<<
 *     """ Import a memory pool allocation from another process.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolImportPointer", __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/cudart.pyx":18432
 * 
 * @cython.embedsignature(True)
 * def cudaPointerGetAttributes(ptr):             # <<<<<<<<<<<<<<
 *     """ Returns attributes about a specified pointer.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_327cudaPointerGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_326cudaPointerGetAttributes[] = "cudaPointerGetAttributes(ptr)\n Returns attributes about a specified pointer.\n\n    Returns in `*attributes` the attributes of the pointer `ptr`. If\n    pointer was not allocated in, mapped by or registered with context\n    supporting unified addressing :py:obj:`~.cudaErrorInvalidValue` is\n    returned.\n\n    The :py:obj:`~.cudaPointerAttributes` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    In this structure, the individual fields mean\n\n    - :py:obj:`~.cudaPointerAttributes.type` identifies type of memory. It\n      can be :py:obj:`~.cudaMemoryTypeUnregistered` for unregistered host\n      memory, :py:obj:`~.cudaMemoryTypeHost` for registered host memory,\n      :py:obj:`~.cudaMemoryTypeDevice` for device memory or\n      :py:obj:`~.cudaMemoryTypeManaged` for managed memory.\n\n    - :py:obj:`~.device` is the device against which `ptr` was allocated.\n      If `ptr` has memory type :py:obj:`~.cudaMemoryTypeDevice` then this\n      identifies the device on which the memory referred to by `ptr`\n      physically resides. If `ptr` has memory type\n      :py:obj:`~.cudaMemoryTypeHost` then this identifies the device which\n      was current when the allocation was made (and if that device is\n      deinitialized then this allocation will vanish with that device's\n      state).\n\n    - :py:obj:`~.devicePointer` is the device pointer alias through which\n      the memory referred to by `ptr` may be accessed on the current\n      device. If the memory referred to by `ptr` cannot be accessed\n      directly by the current device then this is NULL.\n\n    - :py:obj:`~.hostPointer` is the host pointer alias through which the\n      memory referred to by `ptr` may be accessed on the host. If the\n      memory referred to by `ptr` cannot be accessed directly by the host\n      then this is NULL.\n\n    Parameters\n    ----------\n    ptr : Any\n        Pointer to get attributes for\n\n    Returns\n    -------\n    c""udaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorInvalidValue`\n    attributes : :py:obj:`~.cudaPointerAttributes`\n        Attributes for the specified pointer\n\n    See Also\n    --------\n    :py:obj:`~.cudaGetDeviceCount`, :py:obj:`~.cudaGetDevice`, :py:obj:`~.cudaSetDevice`, :py:obj:`~.cudaChooseDevice`, :py:obj:`~.cuPointerGetAttributes`\n\n    Notes\n    -----\n    In CUDA 11.0 forward passing host pointer will return :py:obj:`~.cudaMemoryTypeUnregistered` in :py:obj:`~.cudaPointerAttributes.type` and call will return :py:obj:`~.cudaSuccess`.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_327cudaPointerGetAttributes = {"cudaPointerGetAttributes", (PyCFunction)__pyx_pw_4cuda_6cudart_327cudaPointerGetAttributes, METH_O, __pyx_doc_4cuda_6cudart_326cudaPointerGetAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_327cudaPointerGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaPointerGetAttributes (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_326cudaPointerGetAttributes(__pyx_self, ((PyObject *)__pyx_v_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_326cudaPointerGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_attributes = 0;
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__588)
  __Pyx_RefNannySetupContext("cudaPointerGetAttributes", 0);
  __Pyx_TraceCall("cudaPointerGetAttributes", __pyx_f[0], 18432, 0, __PYX_ERR(0, 18432, __pyx_L1_error));

  /* "cuda/cudart.pyx":18491
 *     In CUDA 11.0 forward passing host pointer will return :py:obj:`~.cudaMemoryTypeUnregistered` in :py:obj:`~.cudaPointerAttributes.type` and call will return :py:obj:`~.cudaSuccess`.
 *     """
 *     cdef cudaPointerAttributes attributes = cudaPointerAttributes()             # <<<<<<<<<<<<<<
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPointerAttributes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_attributes = ((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18492
 *     """
 *     cdef cudaPointerAttributes attributes = cudaPointerAttributes()
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaPointerGetAttributes(attributes._ptr, cptr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18493
 *     cdef cudaPointerAttributes attributes = cudaPointerAttributes()
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaPointerGetAttributes(attributes._ptr, cptr_ptr)
 *     return (cudaError_t(err), attributes)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18493, __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(0, 18493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":18494
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaPointerGetAttributes(attributes._ptr, cptr_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), attributes)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaPointerGetAttributes(__pyx_v_attributes->_ptr, __pyx_v_cptr_ptr); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18494, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":18495
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaPointerGetAttributes(attributes._ptr, cptr_ptr)
 *     return (cudaError_t(err), attributes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 18495, __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(0, 18495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_attributes));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_attributes));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_attributes));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18432
 * 
 * @cython.embedsignature(True)
 * def cudaPointerGetAttributes(ptr):             # <<<<<<<<<<<<<<
 *     """ Returns attributes about a specified pointer.
 * 
 */

  /* 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.cudart.cudaPointerGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_attributes);
  __Pyx_XDECREF(__pyx_v_cptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18498
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceCanAccessPeer(int device, int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Queries if a device may directly access a peer device's memory.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_329cudaDeviceCanAccessPeer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_328cudaDeviceCanAccessPeer[] = "cudaDeviceCanAccessPeer(int device, int peerDevice)\n Queries if a device may directly access a peer device's memory.\n\n    Returns in `*canAccessPeer` a value of 1 if device `device` is capable\n    of directly accessing memory from `peerDevice` and 0 otherwise. If\n    direct access of `peerDevice` from `device` is possible, then access\n    may be enabled by calling :py:obj:`~.cudaDeviceEnablePeerAccess()`.\n\n    Parameters\n    ----------\n    device : int\n        Device from which allocations on `peerDevice` are to be directly\n        accessed.\n    peerDevice : int\n        Device on which the allocations to be directly accessed by `device`\n        reside.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`\n    canAccessPeer : int\n        Returned access capability\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceEnablePeerAccess`, :py:obj:`~.cudaDeviceDisablePeerAccess`, :py:obj:`~.cuDeviceCanAccessPeer`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_329cudaDeviceCanAccessPeer = {"cudaDeviceCanAccessPeer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_329cudaDeviceCanAccessPeer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_328cudaDeviceCanAccessPeer};
static PyObject *__pyx_pw_4cuda_6cudart_329cudaDeviceCanAccessPeer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_device;
  int __pyx_v_peerDevice;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceCanAccessPeer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device_2,&__pyx_n_s_peerDevice,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_peerDevice)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceCanAccessPeer", 1, 2, 2, 1); __PYX_ERR(0, 18498, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceCanAccessPeer") < 0)) __PYX_ERR(0, 18498, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_device = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18498, __pyx_L3_error)
    __pyx_v_peerDevice = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_peerDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18498, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceCanAccessPeer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18498, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceCanAccessPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_328cudaDeviceCanAccessPeer(__pyx_self, __pyx_v_device, __pyx_v_peerDevice);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_328cudaDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, int __pyx_v_peerDevice) {
  int __pyx_v_canAccessPeer;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__589)
  __Pyx_RefNannySetupContext("cudaDeviceCanAccessPeer", 0);
  __Pyx_TraceCall("cudaDeviceCanAccessPeer", __pyx_f[0], 18498, 0, __PYX_ERR(0, 18498, __pyx_L1_error));

  /* "cuda/cudart.pyx":18526
 *     :py:obj:`~.cudaDeviceEnablePeerAccess`, :py:obj:`~.cudaDeviceDisablePeerAccess`, :py:obj:`~.cuDeviceCanAccessPeer`
 *     """
 *     cdef int canAccessPeer = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceCanAccessPeer(&canAccessPeer, device, peerDevice)
 *     return (cudaError_t(err), canAccessPeer)
 */
  __pyx_v_canAccessPeer = 0;

  /* "cuda/cudart.pyx":18527
 *     """
 *     cdef int canAccessPeer = 0
 *     err = ccudart.cudaDeviceCanAccessPeer(&canAccessPeer, device, peerDevice)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), canAccessPeer)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceCanAccessPeer((&__pyx_v_canAccessPeer), __pyx_v_device, __pyx_v_peerDevice); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18527, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":18528
 *     cdef int canAccessPeer = 0
 *     err = ccudart.cudaDeviceCanAccessPeer(&canAccessPeer, device, peerDevice)
 *     return (cudaError_t(err), canAccessPeer)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 18528, __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_canAccessPeer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18498
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceCanAccessPeer(int device, int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Queries if a device may directly access a peer device's memory.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceCanAccessPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18531
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Enables direct access to memory allocations on a peer device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_331cudaDeviceEnablePeerAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_330cudaDeviceEnablePeerAccess[] = "cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags)\n Enables direct access to memory allocations on a peer device.\n\n    On success, all allocations from `peerDevice` will immediately be\n    accessible by the current device. They will remain accessible until\n    access is explicitly disabled using\n    :py:obj:`~.cudaDeviceDisablePeerAccess()` or either device is reset\n    using :py:obj:`~.cudaDeviceReset()`.\n\n    Note that access granted by this call is unidirectional and that in\n    order to access memory on the current device from `peerDevice`, a\n    separate symmetric call to :py:obj:`~.cudaDeviceEnablePeerAccess()` 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:`~.cudaErrorInvalidDevice` if\n    :py:obj:`~.cudaDeviceCanAccessPeer()` indicates that the current device\n    cannot directly access memory from `peerDevice`.\n\n    Returns :py:obj:`~.cudaErrorPeerAccessAlreadyEnabled` if direct access\n    of `peerDevice` from the current device has already been enabled.\n\n    Returns :py:obj:`~.cudaErrorInvalidValue` if `flags` is not 0.\n\n    Parameters\n    ----------\n    peerDevice : int\n        Peer device to enable direct access to from the current device\n    flags : unsigned int\n        Reserved for future use and must be set to 0\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`, :py:obj:`~.cudaErrorPeerAccessAlreadyEnabled`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceCanAccessPeer`, :py:obj:`~.cudaDeviceDisablePeerAccess`, :py:obj:`~.cuCtxEnablePeerAccess`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_331cudaDeviceEnablePeerAccess = {"cudaDeviceEnablePeerAccess", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_331cudaDeviceEnablePeerAccess, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_330cudaDeviceEnablePeerAccess};
static PyObject *__pyx_pw_4cuda_6cudart_331cudaDeviceEnablePeerAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_peerDevice;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceEnablePeerAccess (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_peerDevice,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_peerDevice)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceEnablePeerAccess", 1, 2, 2, 1); __PYX_ERR(0, 18531, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceEnablePeerAccess") < 0)) __PYX_ERR(0, 18531, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_peerDevice = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_peerDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18531, __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(0, 18531, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceEnablePeerAccess", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18531, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceEnablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_330cudaDeviceEnablePeerAccess(__pyx_self, __pyx_v_peerDevice, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_330cudaDeviceEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice, unsigned int __pyx_v_flags) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__590)
  __Pyx_RefNannySetupContext("cudaDeviceEnablePeerAccess", 0);
  __Pyx_TraceCall("cudaDeviceEnablePeerAccess", __pyx_f[0], 18531, 0, __PYX_ERR(0, 18531, __pyx_L1_error));

  /* "cuda/cudart.pyx":18574
 *     :py:obj:`~.cudaDeviceCanAccessPeer`, :py:obj:`~.cudaDeviceDisablePeerAccess`, :py:obj:`~.cuCtxEnablePeerAccess`
 *     """
 *     err = ccudart.cudaDeviceEnablePeerAccess(peerDevice, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceEnablePeerAccess(__pyx_v_peerDevice, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18574, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":18575
 *     """
 *     err = ccudart.cudaDeviceEnablePeerAccess(peerDevice, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 18575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18531
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Enables direct access to memory allocations on a peer 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_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceEnablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18578
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceDisablePeerAccess(int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Disables direct access to memory allocations on a peer device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_333cudaDeviceDisablePeerAccess(PyObject *__pyx_self, PyObject *__pyx_arg_peerDevice); /*proto*/
static char __pyx_doc_4cuda_6cudart_332cudaDeviceDisablePeerAccess[] = "cudaDeviceDisablePeerAccess(int peerDevice)\n Disables direct access to memory allocations on a peer device.\n\n    Returns :py:obj:`~.cudaErrorPeerAccessNotEnabled` if direct access to\n    memory on `peerDevice` has not yet been enabled from the current\n    device.\n\n    Parameters\n    ----------\n    peerDevice : int\n        Peer device to disable direct access to\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorPeerAccessNotEnabled`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceCanAccessPeer`, :py:obj:`~.cudaDeviceEnablePeerAccess`, :py:obj:`~.cuCtxDisablePeerAccess`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_333cudaDeviceDisablePeerAccess = {"cudaDeviceDisablePeerAccess", (PyCFunction)__pyx_pw_4cuda_6cudart_333cudaDeviceDisablePeerAccess, METH_O, __pyx_doc_4cuda_6cudart_332cudaDeviceDisablePeerAccess};
static PyObject *__pyx_pw_4cuda_6cudart_333cudaDeviceDisablePeerAccess(PyObject *__pyx_self, PyObject *__pyx_arg_peerDevice) {
  int __pyx_v_peerDevice;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceDisablePeerAccess (wrapper)", 0);
  assert(__pyx_arg_peerDevice); {
    __pyx_v_peerDevice = __Pyx_PyInt_As_int(__pyx_arg_peerDevice); if (unlikely((__pyx_v_peerDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18578, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceDisablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_332cudaDeviceDisablePeerAccess(__pyx_self, ((int)__pyx_v_peerDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_332cudaDeviceDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__591)
  __Pyx_RefNannySetupContext("cudaDeviceDisablePeerAccess", 0);
  __Pyx_TraceCall("cudaDeviceDisablePeerAccess", __pyx_f[0], 18578, 0, __PYX_ERR(0, 18578, __pyx_L1_error));

  /* "cuda/cudart.pyx":18599
 *     :py:obj:`~.cudaDeviceCanAccessPeer`, :py:obj:`~.cudaDeviceEnablePeerAccess`, :py:obj:`~.cuCtxDisablePeerAccess`
 *     """
 *     err = ccudart.cudaDeviceDisablePeerAccess(peerDevice)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceDisablePeerAccess(__pyx_v_peerDevice); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18599, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":18600
 *     """
 *     err = ccudart.cudaDeviceDisablePeerAccess(peerDevice)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 18600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18578
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceDisablePeerAccess(int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Disables direct access to memory allocations on a peer 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_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceDisablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18603
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_335cudaGraphicsUnregisterResource(PyObject *__pyx_self, PyObject *__pyx_v_resource); /*proto*/
static char __pyx_doc_4cuda_6cudart_334cudaGraphicsUnregisterResource[] = "cudaGraphicsUnregisterResource(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\n    :py:obj:`~.cudaErrorInvalidResourceHandle` is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.cudaGraphicsResource_t`\n        Resource to unregister\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsD3D9RegisterResource`, :py:obj:`~.cudaGraphicsD3D10RegisterResource`, :py:obj:`~.cudaGraphicsD3D11RegisterResource`, :py:obj:`~.cudaGraphicsGLRegisterBuffer`, :py:obj:`~.cudaGraphicsGLRegisterImage`, :py:obj:`~.cuGraphicsUnregisterResource`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_335cudaGraphicsUnregisterResource = {"cudaGraphicsUnregisterResource", (PyCFunction)__pyx_pw_4cuda_6cudart_335cudaGraphicsUnregisterResource, METH_O, __pyx_doc_4cuda_6cudart_334cudaGraphicsUnregisterResource};
static PyObject *__pyx_pw_4cuda_6cudart_335cudaGraphicsUnregisterResource(PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsUnregisterResource (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_334cudaGraphicsUnregisterResource(__pyx_self, ((PyObject *)__pyx_v_resource));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_334cudaGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  cudaGraphicsResource_t __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__592)
  __Pyx_RefNannySetupContext("cudaGraphicsUnregisterResource", 0);
  __Pyx_TraceCall("cudaGraphicsUnregisterResource", __pyx_f[0], 18603, 0, __PYX_ERR(0, 18603, __pyx_L1_error));

  /* "cuda/cudart.pyx":18627
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18628
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18627
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18629
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18630
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_presource = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":18631
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18631, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":18629
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18633
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), __pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_presource = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18634
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphicsUnregisterResource(cresource)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18634, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18636
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 *     err = ccudart.cudaGraphicsUnregisterResource(cresource)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsUnregisterResource(__pyx_v_cresource); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18636, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18637
 * 
 *     err = ccudart.cudaGraphicsUnregisterResource(cresource)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18603
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsUnregisterResource", __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/cudart.pyx":18640
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_337cudaGraphicsResourceSetMapFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_336cudaGraphicsResourceSetMapFlags[] = "cudaGraphicsResourceSetMapFlags(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:`~.cudaGraphicsMapFlagsNone`: Specifies no hints about how\n      `resource` will be used. It is therefore assumed that CUDA may read\n      from or write to `resource`.\n\n    - :py:obj:`~.cudaGraphicsMapFlagsReadOnly`: Specifies that CUDA will\n      not write to `resource`.\n\n    - :py:obj:`~.cudaGraphicsMapFlagsWriteDiscard`: Specifies CUDA will not\n      read from `resource` and will write over the entire contents of\n      `resource`, so none of the data previously stored in `resource` will\n      be preserved.\n\n    If `resource` is presently mapped for access by CUDA then\n    :py:obj:`~.cudaErrorUnknown` is returned. If `flags` is not one of the\n    above values then :py:obj:`~.cudaErrorInvalidValue` is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.cudaGraphicsResource_t`\n        Registered resource to set flags for\n    flags : unsigned int\n        Parameters for resource mapping\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsMapResources`, :py:obj:`~.cuGraphicsResourceSetMapFlags`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_337cudaGraphicsResourceSetMapFlags = {"cudaGraphicsResourceSetMapFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_337cudaGraphicsResourceSetMapFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_336cudaGraphicsResourceSetMapFlags};
static PyObject *__pyx_pw_4cuda_6cudart_337cudaGraphicsResourceSetMapFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_resource = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsResourceSetMapFlags (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_resource)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsResourceSetMapFlags", 1, 2, 2, 1); __PYX_ERR(0, 18640, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsResourceSetMapFlags") < 0)) __PYX_ERR(0, 18640, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 18640, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsResourceSetMapFlags", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18640, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceSetMapFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_336cudaGraphicsResourceSetMapFlags(__pyx_self, __pyx_v_resource, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_336cudaGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_flags) {
  cudaGraphicsResource_t __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__593)
  __Pyx_RefNannySetupContext("cudaGraphicsResourceSetMapFlags", 0);
  __Pyx_TraceCall("cudaGraphicsResourceSetMapFlags", __pyx_f[0], 18640, 0, __PYX_ERR(0, 18640, __pyx_L1_error));

  /* "cuda/cudart.pyx":18681
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18682
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18681
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18683
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18684
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_presource = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":18685
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18685, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":18683
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18687
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), __pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_presource = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18688
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphicsResourceSetMapFlags(cresource, flags)
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18688, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18690
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 *     err = ccudart.cudaGraphicsResourceSetMapFlags(cresource, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsResourceSetMapFlags(__pyx_v_cresource, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18690, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18691
 * 
 *     err = ccudart.cudaGraphicsResourceSetMapFlags(cresource, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18640
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceSetMapFlags", __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/cudart.pyx":18694
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_339cudaGraphicsMapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_338cudaGraphicsMapResources[] = "cudaGraphicsMapResources(int count, resources, stream)\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:`~.cudaGraphicsMapResources()` will\n    complete before any subsequent CUDA work issued in `stream` begins.\n\n    If `resources` contains any duplicate entries then\n    :py:obj:`~.cudaErrorInvalidResourceHandle` is returned. If any of\n    `resources` are presently mapped for access by CUDA then\n    :py:obj:`~.cudaErrorUnknown` is returned.\n\n    Parameters\n    ----------\n    count : int\n        Number of resources to map\n    resources : :py:obj:`~.cudaGraphicsResource_t`\n        Resources to map for CUDA\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream for synchronization\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsResourceGetMappedPointer`, :py:obj:`~.cudaGraphicsSubResourceGetMappedArray`, :py:obj:`~.cudaGraphicsUnmapResources`, :py:obj:`~.cuGraphicsMapResources`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_339cudaGraphicsMapResources = {"cudaGraphicsMapResources", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_339cudaGraphicsMapResources, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_338cudaGraphicsMapResources};
static PyObject *__pyx_pw_4cuda_6cudart_339cudaGraphicsMapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_count;
  PyObject *__pyx_v_resources = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsMapResources (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count,&__pyx_n_s_resources,&__pyx_n_s_stream,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_resources)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsMapResources", 1, 3, 3, 1); __PYX_ERR(0, 18694, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsMapResources", 1, 3, 3, 2); __PYX_ERR(0, 18694, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsMapResources") < 0)) __PYX_ERR(0, 18694, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_count = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18694, __pyx_L3_error)
    __pyx_v_resources = values[1];
    __pyx_v_stream = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsMapResources", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18694, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsMapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_338cudaGraphicsMapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_338cudaGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaGraphicsResource_t *__pyx_v_cresources;
  PyObject *__pyx_v_presources = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  cudaError_t __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__594)
  __Pyx_RefNannySetupContext("cudaGraphicsMapResources", 0);
  __Pyx_TraceCall("cudaGraphicsMapResources", __pyx_f[0], 18694, 0, __PYX_ERR(0, 18694, __pyx_L1_error));

  /* "cuda/cudart.pyx":18732
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18733
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18732
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18734
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18735
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18736
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 18736, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18734
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18738
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18739
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 */
    __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(0, 18739, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18742
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resources == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18743
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 *     if resources is None:
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 *         presources = resources.getPtr()
 */
    __pyx_v_cresources = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":18742
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18744
 *     if resources is None:
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resources, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18745
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 *         presources = resources.getPtr()             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_presources = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18746
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (int)):
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18746, __pyx_L1_error)
    __pyx_v_cresources = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18744
 *     if resources is None:
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18747
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_resources); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18748
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(resources)))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18748, __pyx_L1_error)
    __pyx_v_cresources = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18747
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 *     else:
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18750
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(resources)))             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphicsMapResources(count, cresources, cstream)
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 18750, __pyx_L1_error)
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":18752
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(resources)))
 * 
 *     err = ccudart.cudaGraphicsMapResources(count, cresources, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphicsMapResources(__pyx_v_count, __pyx_v_cresources, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18752, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":18753
 * 
 *     err = ccudart.cudaGraphicsMapResources(count, cresources, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18694
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsMapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_presources);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18756
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_341cudaGraphicsUnmapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_340cudaGraphicsUnmapResources[] = "cudaGraphicsUnmapResources(int count, resources, stream)\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:`~.cudaGraphicsUnmapResources()` will\n    complete before any subsequently issued graphics work begins.\n\n    If `resources` contains any duplicate entries then\n    :py:obj:`~.cudaErrorInvalidResourceHandle` is returned. If any of\n    `resources` are not presently mapped for access by CUDA then\n    :py:obj:`~.cudaErrorUnknown` is returned.\n\n    Parameters\n    ----------\n    count : int\n        Number of resources to unmap\n    resources : :py:obj:`~.cudaGraphicsResource_t`\n        Resources to unmap\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream for synchronization\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_341cudaGraphicsUnmapResources = {"cudaGraphicsUnmapResources", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_341cudaGraphicsUnmapResources, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_340cudaGraphicsUnmapResources};
static PyObject *__pyx_pw_4cuda_6cudart_341cudaGraphicsUnmapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_count;
  PyObject *__pyx_v_resources = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsUnmapResources (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count,&__pyx_n_s_resources,&__pyx_n_s_stream,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_resources)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsUnmapResources", 1, 3, 3, 1); __PYX_ERR(0, 18756, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsUnmapResources", 1, 3, 3, 2); __PYX_ERR(0, 18756, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsUnmapResources") < 0)) __PYX_ERR(0, 18756, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_count = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18756, __pyx_L3_error)
    __pyx_v_resources = values[1];
    __pyx_v_stream = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsUnmapResources", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18756, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsUnmapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_340cudaGraphicsUnmapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_340cudaGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaGraphicsResource_t *__pyx_v_cresources;
  PyObject *__pyx_v_presources = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  cudaError_t __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__595)
  __Pyx_RefNannySetupContext("cudaGraphicsUnmapResources", 0);
  __Pyx_TraceCall("cudaGraphicsUnmapResources", __pyx_f[0], 18756, 0, __PYX_ERR(0, 18756, __pyx_L1_error));

  /* "cuda/cudart.pyx":18792
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18793
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18792
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18794
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18795
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18796
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 18796, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18794
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18798
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18799
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 */
    __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(0, 18799, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18802
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resources == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18803
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 *     if resources is None:
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 *         presources = resources.getPtr()
 */
    __pyx_v_cresources = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":18802
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18804
 *     if resources is None:
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resources, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18805
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 *         presources = resources.getPtr()             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_presources = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18806
 *     elif isinstance(resources, (cudaGraphicsResource_t)):
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (int)):
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18806, __pyx_L1_error)
    __pyx_v_cresources = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18804
 *     if resources is None:
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(resources, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18807
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_resources); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18808
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(resources)))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18808, __pyx_L1_error)
    __pyx_v_cresources = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":18807
 *         presources = resources.getPtr()
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 *     else:
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":18810
 *         cresources = <ccudart.cudaGraphicsResource_t*><void_ptr>resources
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(resources)))             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphicsUnmapResources(count, cresources, cstream)
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 18810, __pyx_L1_error)
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":18812
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(resources)))
 * 
 *     err = ccudart.cudaGraphicsUnmapResources(count, cresources, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphicsUnmapResources(__pyx_v_count, __pyx_v_cresources, __pyx_v_cstream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18812, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":18813
 * 
 *     err = ccudart.cudaGraphicsUnmapResources(count, cresources, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18756
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsUnmapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_presources);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18816
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_343cudaGraphicsResourceGetMappedPointer(PyObject *__pyx_self, PyObject *__pyx_v_resource); /*proto*/
static char __pyx_doc_4cuda_6cudart_342cudaGraphicsResourceGetMappedPointer[] = "cudaGraphicsResourceGetMappedPointer(resource)\n Get an device pointer through which to access a mapped graphics resource.\n\n    Returns in `*devPtr` a pointer through which the mapped graphics\n    resource `resource` may be accessed. Returns in `*size` the size of the\n    memory in bytes which may be accessed from that pointer. The value set\n    in `devPtr` 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:`~.cudaErrorUnknown` is returned. If `resource` is not\n    mapped then :py:obj:`~.cudaErrorUnknown` is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.cudaGraphicsResource_t`\n        None\n\n    Returns\n    -------\n    cudaError_t\n\n    devPtr : Any\n        None\n    size : int\n        None\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_343cudaGraphicsResourceGetMappedPointer = {"cudaGraphicsResourceGetMappedPointer", (PyCFunction)__pyx_pw_4cuda_6cudart_343cudaGraphicsResourceGetMappedPointer, METH_O, __pyx_doc_4cuda_6cudart_342cudaGraphicsResourceGetMappedPointer};
static PyObject *__pyx_pw_4cuda_6cudart_343cudaGraphicsResourceGetMappedPointer(PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedPointer (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_342cudaGraphicsResourceGetMappedPointer(__pyx_self, ((PyObject *)__pyx_v_resource));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_342cudaGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  cudaGraphicsResource_t __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  size_t __pyx_v_size;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__596)
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedPointer", 0);
  __Pyx_TraceCall("cudaGraphicsResourceGetMappedPointer", __pyx_f[0], 18816, 0, __PYX_ERR(0, 18816, __pyx_L1_error));

  /* "cuda/cudart.pyx":18843
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18844
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18843
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18845
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18846
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_presource = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":18847
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18847, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":18845
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18849
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), __pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_presource = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18850
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 * 
 *     cdef void_ptr devPtr = 0
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18850, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18852
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     cdef size_t size = 0
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, cresource)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":18853
 * 
 *     cdef void_ptr devPtr = 0
 *     cdef size_t size = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, cresource)
 *     return (cudaError_t(err), devPtr, size)
 */
  __pyx_v_size = 0;

  /* "cuda/cudart.pyx":18854
 *     cdef void_ptr devPtr = 0
 *     cdef size_t size = 0
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, cresource)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr, size)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedPointer(((void **)(&__pyx_v_devPtr)), (&__pyx_v_size), __pyx_v_cresource); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18854, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18855
 *     cdef size_t size = 0
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, cresource)
 *     return (cudaError_t(err), devPtr, size)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_devPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
  __pyx_t_5 = 0;
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18816
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceGetMappedPointer", __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/cudart.pyx":18858
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(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_6cudart_345cudaGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_344cudaGraphicsSubResourceGetMappedArray[] = "cudaGraphicsSubResourceGetMappedArray(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 `*array` 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 `array` 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:`~.cudaErrorUnknown` is returned. If `arrayIndex` is not a\n    valid array index for `resource` then :py:obj:`~.cudaErrorInvalidValue`\n    is returned. If `mipLevel` is not a valid mipmap level for `resource`\n    then :py:obj:`~.cudaErrorInvalidValue` is returned. If `resource` is\n    not mapped then :py:obj:`~.cudaErrorUnknown` is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.cudaGraphicsResource_t`\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:`~.cudaGraphicsCubeFace` 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n    array : :py:obj:`~.cudaArray_t`\n        Returned array through which a subresource of `resource` may be\n        accessed\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsResourceGetMappedPointer`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_345cudaGraphicsSubResourceGetMappedArray = {"cudaGraphicsSubResourceGetMappedArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_345cudaGraphicsSubResourceGetMappedArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_344cudaGraphicsSubResourceGetMappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_345cudaGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_resource = 0;
  unsigned int __pyx_v_arrayIndex;
  unsigned int __pyx_v_mipLevel;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsSubResourceGetMappedArray (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource,&__pyx_n_s_arrayIndex,&__pyx_n_s_mipLevel,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_resource)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arrayIndex)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsSubResourceGetMappedArray", 1, 3, 3, 1); __PYX_ERR(0, 18858, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mipLevel)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsSubResourceGetMappedArray", 1, 3, 3, 2); __PYX_ERR(0, 18858, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsSubResourceGetMappedArray") < 0)) __PYX_ERR(0, 18858, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 18858, __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(0, 18858, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsSubResourceGetMappedArray", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18858, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsSubResourceGetMappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_344cudaGraphicsSubResourceGetMappedArray(__pyx_self, __pyx_v_resource, __pyx_v_arrayIndex, __pyx_v_mipLevel);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_344cudaGraphicsSubResourceGetMappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_arrayIndex, unsigned int __pyx_v_mipLevel) {
  cudaGraphicsResource_t __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__597)
  __Pyx_RefNannySetupContext("cudaGraphicsSubResourceGetMappedArray", 0);
  __Pyx_TraceCall("cudaGraphicsSubResourceGetMappedArray", __pyx_f[0], 18858, 0, __PYX_ERR(0, 18858, __pyx_L1_error));

  /* "cuda/cudart.pyx":18897
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18898
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18897
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18899
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18900
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_presource = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":18901
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18901, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":18899
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18903
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), __pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_presource = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18904
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaArray_t array = cudaArray_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18904, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18906
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 *     cdef cudaArray_t array = cudaArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsSubResourceGetMappedArray(array._ptr, cresource, arrayIndex, mipLevel)
 *     return (cudaError_t(err), array)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_array = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":18907
 * 
 *     cdef cudaArray_t array = cudaArray_t()
 *     err = ccudart.cudaGraphicsSubResourceGetMappedArray(array._ptr, cresource, arrayIndex, mipLevel)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), array)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsSubResourceGetMappedArray(__pyx_v_array->_ptr, __pyx_v_cresource, __pyx_v_arrayIndex, __pyx_v_mipLevel); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18907, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18908
 *     cdef cudaArray_t array = cudaArray_t()
 *     err = ccudart.cudaGraphicsSubResourceGetMappedArray(array._ptr, cresource, arrayIndex, mipLevel)
 *     return (cudaError_t(err), array)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_array));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_array));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_array));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18858
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(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_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsSubResourceGetMappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XDECREF((PyObject *)__pyx_v_array);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18911
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_347cudaGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_resource); /*proto*/
static char __pyx_doc_4cuda_6cudart_346cudaGraphicsResourceGetMappedMipmappedArray[] = "cudaGraphicsResourceGetMappedMipmappedArray(resource)\n Get a mipmapped array through which to access a mapped graphics resource.\n\n    Returns in `*mipmappedArray` a mipmapped array through which the mapped\n    graphics resource `resource` may be accessed. The value set in\n    `mipmappedArray` 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:`~.cudaErrorUnknown` is returned. If `resource` is not\n    mapped then :py:obj:`~.cudaErrorUnknown` is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.cudaGraphicsResource_t`\n        Mapped resource to access\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorUnknown`\n    mipmappedArray : :py:obj:`~.cudaMipmappedArray_t`\n        Returned mipmapped array through which `resource` may be accessed\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsResourceGetMappedPointer`, :py:obj:`~.cuGraphicsResourceGetMappedMipmappedArray`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_347cudaGraphicsResourceGetMappedMipmappedArray = {"cudaGraphicsResourceGetMappedMipmappedArray", (PyCFunction)__pyx_pw_4cuda_6cudart_347cudaGraphicsResourceGetMappedMipmappedArray, METH_O, __pyx_doc_4cuda_6cudart_346cudaGraphicsResourceGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_347cudaGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedMipmappedArray (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_346cudaGraphicsResourceGetMappedMipmappedArray(__pyx_self, ((PyObject *)__pyx_v_resource));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_346cudaGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  cudaGraphicsResource_t __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmappedArray = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__598)
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedMipmappedArray", 0);
  __Pyx_TraceCall("cudaGraphicsResourceGetMappedMipmappedArray", __pyx_f[0], 18911, 0, __PYX_ERR(0, 18911, __pyx_L1_error));

  /* "cuda/cudart.pyx":18939
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18940
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18939
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18941
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18942
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_presource = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":18943
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18943, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":18941
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18945
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), __pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_presource = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18946
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18946, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18948
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsResourceGetMappedMipmappedArray(mipmappedArray._ptr, cresource)
 *     return (cudaError_t(err), mipmappedArray)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_mipmappedArray = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":18949
 * 
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()
 *     err = ccudart.cudaGraphicsResourceGetMappedMipmappedArray(mipmappedArray._ptr, cresource)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), mipmappedArray)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedMipmappedArray(__pyx_v_mipmappedArray->_ptr, __pyx_v_cresource); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18949, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18950
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()
 *     err = ccudart.cudaGraphicsResourceGetMappedMipmappedArray(mipmappedArray._ptr, cresource)
 *     return (cudaError_t(err), mipmappedArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_mipmappedArray));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_mipmappedArray));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_mipmappedArray));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18911
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceGetMappedMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XDECREF((PyObject *)__pyx_v_mipmappedArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18953
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_349cudaGetChannelDesc(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_348cudaGetChannelDesc[] = "cudaGetChannelDesc(array)\n Get the channel descriptor of an array.\n\n    Returns in `*desc` the channel descriptor of the CUDA array `array`.\n\n    Parameters\n    ----------\n    array : :py:obj:`~.cudaArray_const_t`\n        Memory array on device\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    desc : :py:obj:`~.cudaChannelFormatDesc`\n        Channel format\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateChannelDesc (C API)`, :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cudaCreateSurfaceObject`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_349cudaGetChannelDesc = {"cudaGetChannelDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_349cudaGetChannelDesc, METH_O, __pyx_doc_4cuda_6cudart_348cudaGetChannelDesc};
static PyObject *__pyx_pw_4cuda_6cudart_349cudaGetChannelDesc(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetChannelDesc (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_348cudaGetChannelDesc(__pyx_self, ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_348cudaGetChannelDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array) {
  cudaArray_const_t __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__599)
  __Pyx_RefNannySetupContext("cudaGetChannelDesc", 0);
  __Pyx_TraceCall("cudaGetChannelDesc", __pyx_f[0], 18953, 0, __PYX_ERR(0, 18953, __pyx_L1_error));

  /* "cuda/cudart.pyx":18975
 *     """
 *     cdef ccudart.cudaArray_const_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_const_t)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18976
 *     cdef ccudart.cudaArray_const_t carray
 *     if array is None:
 *         carray = <ccudart.cudaArray_const_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (cudaArray_const_t)):
 *         parray = int(array)
 */
    __pyx_v_carray = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":18975
 *     """
 *     cdef ccudart.cudaArray_const_t carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_const_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18977
 *     if array is None:
 *         carray = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_6cudart_cudaArray_const_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":18978
 *         carray = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_const_t)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_parray = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":18979
 *     elif isinstance(array, (cudaArray_const_t)):
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(cudaArray_const_t(array))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18979, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":18977
 *     if array is None:
 *         carray = <ccudart.cudaArray_const_t><void_ptr>0
 *     elif isinstance(array, (cudaArray_const_t)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":18981
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray
 *     else:
 *         parray = int(cudaArray_const_t(array))             # <<<<<<<<<<<<<<
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), __pyx_v_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18981, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_parray = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18982
 *     else:
 *         parray = int(cudaArray_const_t(array))
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18982, __pyx_L1_error)
    __pyx_v_carray = ((cudaArray_const_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":18984
 *         carray = <ccudart.cudaArray_const_t><void_ptr>parray
 * 
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, carray)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":18985
 * 
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, carray)
 *     return (cudaError_t(err), desc)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":18986
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     with nogil:
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, carray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), desc)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGetChannelDesc(__pyx_v_desc->_ptr, __pyx_v_carray); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 18986, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":18985
 * 
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, carray)
 *     return (cudaError_t(err), desc)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":18987
 *     with nogil:
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, carray)
 *     return (cudaError_t(err), desc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_desc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_desc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_desc));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18953
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGetChannelDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_XDECREF((PyObject *)__pyx_v_desc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18990
 * 
 * @cython.embedsignature(True)
 * def cudaCreateChannelDesc(int x, int y, int z, int w, f not None : cudaChannelFormatKind):             # <<<<<<<<<<<<<<
 *     """ Returns a channel descriptor using the specified format.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_351cudaCreateChannelDesc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_350cudaCreateChannelDesc[] = "cudaCreateChannelDesc(int x, int y, int z, int w, f: cudaChannelFormatKind)\n Returns a channel descriptor using the specified format.\n\n    Returns a channel descriptor with format `f` and number of bits of each\n    component `x`, `y`, `z`, and `w`. The :py:obj:`~.cudaChannelFormatDesc`\n    is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.cudaChannelFormatKind` is one of\n    :py:obj:`~.cudaChannelFormatKindSigned`,\n    :py:obj:`~.cudaChannelFormatKindUnsigned`, or\n    :py:obj:`~.cudaChannelFormatKindFloat`.\n\n    Parameters\n    ----------\n    x : int\n        X component\n    y : int\n        Y component\n    z : int\n        Z component\n    w : int\n        W component\n    f : :py:obj:`~.cudaChannelFormatKind`\n        Channel format\n\n    Returns\n    -------\n    cudaError_t.cudaSuccess\n        cudaError_t.cudaSuccess\n    :py:obj:`~.cudaChannelFormatDesc`\n        Channel descriptor with format `f`\n\n    See Also\n    --------\n    cudaCreateChannelDesc (C++ API), :py:obj:`~.cudaGetChannelDesc`, :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cudaCreateSurfaceObject`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_351cudaCreateChannelDesc = {"cudaCreateChannelDesc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_351cudaCreateChannelDesc, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_350cudaCreateChannelDesc};
static PyObject *__pyx_pw_4cuda_6cudart_351cudaCreateChannelDesc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_x;
  int __pyx_v_y;
  int __pyx_v_z;
  int __pyx_v_w;
  PyObject *__pyx_v_f = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaCreateChannelDesc (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x_2,&__pyx_n_s_y_2,&__pyx_n_s_z_2,&__pyx_n_s_w_2,&__pyx_n_s_f_2,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateChannelDesc", 1, 5, 5, 1); __PYX_ERR(0, 18990, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateChannelDesc", 1, 5, 5, 2); __PYX_ERR(0, 18990, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateChannelDesc", 1, 5, 5, 3); __PYX_ERR(0, 18990, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_f_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateChannelDesc", 1, 5, 5, 4); __PYX_ERR(0, 18990, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaCreateChannelDesc") < 0)) __PYX_ERR(0, 18990, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_x = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18990, __pyx_L3_error)
    __pyx_v_y = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18990, __pyx_L3_error)
    __pyx_v_z = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18990, __pyx_L3_error)
    __pyx_v_w = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_w == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 18990, __pyx_L3_error)
    __pyx_v_f = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaCreateChannelDesc", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 18990, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaCreateChannelDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_f) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "f"); __PYX_ERR(0, 18990, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_350cudaCreateChannelDesc(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w, __pyx_v_f);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_350cudaCreateChannelDesc(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_x, int __pyx_v_y, int __pyx_v_z, int __pyx_v_w, PyObject *__pyx_v_f) {
  enum cudaChannelFormatKind __pyx_v_cf;
  struct cudaChannelFormatDesc __pyx_v_err;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaChannelFormatKind __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__600)
  __Pyx_RefNannySetupContext("cudaCreateChannelDesc", 0);
  __Pyx_TraceCall("cudaCreateChannelDesc", __pyx_f[0], 18990, 0, __PYX_ERR(0, 18990, __pyx_L1_error));

  /* "cuda/cudart.pyx":19028
 *     cudaCreateChannelDesc (C++ API), :py:obj:`~.cudaGetChannelDesc`, :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cudaCreateSurfaceObject`
 *     """
 *     cdef ccudart.cudaChannelFormatKind cf = f.value             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaChannelFormatDesc err
 *     err = ccudart.cudaCreateChannelDesc(x, y, z, w, cf)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaChannelFormatKind)__Pyx_PyInt_As_enum__cudaChannelFormatKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 19028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cf = __pyx_t_2;

  /* "cuda/cudart.pyx":19030
 *     cdef ccudart.cudaChannelFormatKind cf = f.value
 *     cdef ccudart.cudaChannelFormatDesc err
 *     err = ccudart.cudaCreateChannelDesc(x, y, z, w, cf)             # <<<<<<<<<<<<<<
 *     cdef cudaChannelFormatDesc wrapper = cudaChannelFormatDesc()
 *     wrapper._ptr[0] = err
 */
  __pyx_v_err = __pyx_f_4cuda_7ccudart_cudaCreateChannelDesc(__pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w, __pyx_v_cf);

  /* "cuda/cudart.pyx":19031
 *     cdef ccudart.cudaChannelFormatDesc err
 *     err = ccudart.cudaCreateChannelDesc(x, y, z, w, cf)
 *     cdef cudaChannelFormatDesc wrapper = cudaChannelFormatDesc()             # <<<<<<<<<<<<<<
 *     wrapper._ptr[0] = err
 *     return (cudaError_t.cudaSuccess, wrapper)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_wrapper = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19032
 *     err = ccudart.cudaCreateChannelDesc(x, y, z, w, cf)
 *     cdef cudaChannelFormatDesc wrapper = cudaChannelFormatDesc()
 *     wrapper._ptr[0] = err             # <<<<<<<<<<<<<<
 *     return (cudaError_t.cudaSuccess, wrapper)
 * 
 */
  (__pyx_v_wrapper->_ptr[0]) = __pyx_v_err;

  /* "cuda/cudart.pyx":19033
 *     cdef cudaChannelFormatDesc wrapper = cudaChannelFormatDesc()
 *     wrapper._ptr[0] = err
 *     return (cudaError_t.cudaSuccess, wrapper)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cudaSuccess); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19033, __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(0, 19033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_wrapper));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_wrapper));
  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_wrapper));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18990
 * 
 * @cython.embedsignature(True)
 * def cudaCreateChannelDesc(int x, int y, int z, int w, f not None : cudaChannelFormatKind):             # <<<<<<<<<<<<<<
 *     """ Returns a channel descriptor using the specified format.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cudart.cudaCreateChannelDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19036
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_353cudaCreateTextureObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_352cudaCreateTextureObject[] = "cudaCreateTextureObject(cudaResourceDesc pResDesc: cudaResourceDesc, cudaTextureDesc pTexDesc: cudaTextureDesc, cudaResourceViewDesc pResViewDesc: cudaResourceViewDesc)\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:`~.cudaResourceDesc` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\n\n    - :py:obj:`~.cudaResourceDesc.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:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypeArray`,\n    :py:obj:`~.cudaResourceDesc`::res::array::array must be set to a valid\n    CUDA array handle.\n\n    If :py:obj:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypeMipmappedArray`,\n    :py:obj:`~.cudaResourceDesc`::res::mipmap::mipmap must be set to a\n    valid CUDA mipmapped array handle and\n    :py:obj:`~.cudaTextureDesc.normalizedCoords` must be set to true.\n\n    If :py:obj:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypeLinear`,\n    :py:obj:`~.cudaResourceDesc`::res::linear::devPtr must be set to a\n    valid device pointer, that is aligned to\n    :py:obj:`~.cudaDeviceProp.textureAlignment`.""\n    :py:obj:`~.cudaResourceDesc`::res::linear::desc describes the format\n    and the number of components per array element.\n    :py:obj:`~.cudaResourceDesc`::res::linear::sizeInBytes specifies the\n    size of the array in bytes. The total number of elements in the linear\n    address range cannot exceed\n    :py:obj:`~.cudaDeviceProp.maxTexture1DLinear`. The number of elements\n    is computed as (sizeInBytes / sizeof(desc)).\n\n    If :py:obj:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypePitch2D`,\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::devPtr must be set to a\n    valid device pointer, that is aligned to\n    :py:obj:`~.cudaDeviceProp.textureAlignment`.\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::desc describes the format\n    and the number of components per array element.\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::width and\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::height specify the width\n    and height of the array in elements, and cannot exceed\n    :py:obj:`~.cudaDeviceProp.maxTexture2DLinear`[0] and\n    :py:obj:`~.cudaDeviceProp.maxTexture2DLinear`[1] respectively.\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::pitchInBytes specifies the\n    pitch between two rows in bytes and has to be aligned to\n    :py:obj:`~.cudaDeviceProp.texturePitchAlignment`. Pitch cannot exceed\n    :py:obj:`~.cudaDeviceProp.maxTexture2DLinear`[2].\n\n    The :py:obj:`~.cudaTextureDesc` struct is defined as\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where\n\n    - :py:obj:`~.cudaTextureDesc.addressMode` specifies the addressing mode\n      for each dimension of the texture data.\n      :py:obj:`~.cudaTextureAddressMode` is defined as:\n\n    - **View CUDA Toolkit Documentation for a C++ code example**\n\n    - This is ignored if :py:obj:`~.cudaResourceDesc.resType` is\n      :py:obj:`~.cudaResourceTypeLinear`. Also, if\n      :py:obj:`~.cudaTextureDesc.normalizedCoords` is set to zero,""\n      :py:obj:`~.cudaAddressModeWrap` and :py:obj:`~.cudaAddressModeMirror`\n      won't be supported and will be switched to\n      :py:obj:`~.cudaAddressModeClamp`.\n\n    - :py:obj:`~.cudaTextureDesc.filterMode` specifies the filtering mode\n      to be used when fetching from the texture.\n      :py:obj:`~.cudaTextureFilterMode` is defined as:\n\n    - **View CUDA Toolkit Documentation for a C++ code example**\n\n    - This is ignored if :py:obj:`~.cudaResourceDesc.resType` is\n      :py:obj:`~.cudaResourceTypeLinear`.\n\n    - :py:obj:`~.cudaTextureDesc.readMode` specifies whether integer data\n      should be converted to floating point or not.\n      :py:obj:`~.cudaTextureReadMode` is defined as:\n\n    - **View CUDA Toolkit Documentation for a C++ code example**\n\n    - Note that this applies only to 8-bit and 16-bit integer formats.\n      32-bit integer format would not be promoted, regardless of whether or\n      not this :py:obj:`~.cudaTextureDesc.readMode` is set\n      :py:obj:`~.cudaReadModeNormalizedFloat` is specified.\n\n    - :py:obj:`~.cudaTextureDesc.sRGB` specifies whether sRGB to linear\n      conversion should be performed during texture fetch.\n\n    - :py:obj:`~.cudaTextureDesc.borderColor` specifies the float values of\n      color. where: :py:obj:`~.cudaTextureDesc.borderColor`[0] contains\n      value of 'R', :py:obj:`~.cudaTextureDesc.borderColor`[1] contains\n      value of 'G', :py:obj:`~.cudaTextureDesc.borderColor`[2] contains\n      value of 'B', :py:obj:`~.cudaTextureDesc.borderColor`[3] contains\n      value of 'A' Note that application using integer border color values\n      will need to <reinterpret_cast> these values to float. The values are\n      set only when the addressing mode specified by\n      :py:obj:`~.cudaTextureDesc.addressMode` is cudaAddressModeBorder.\n\n    - :py:obj:`~.cudaTextureDesc.normalizedCoords` specifies whether the\n      texture coordinates will be normalized or not.\n\n    - :py:obj:`~.cudaTextu""reDesc.maxAnisotropy` specifies the maximum\n      anistropy ratio to be used when doing anisotropic filtering. This\n      value will be clamped to the range [1,16].\n\n    - :py:obj:`~.cudaTextureDesc.mipmapFilterMode` specifies the filter\n      mode when the calculated mipmap level lies between two defined mipmap\n      levels.\n\n    - :py:obj:`~.cudaTextureDesc.mipmapLevelBias` specifies the offset to\n      be applied to the calculated mipmap level.\n\n    - :py:obj:`~.cudaTextureDesc.minMipmapLevelClamp` specifies the lower\n      end of the mipmap level range to clamp access to.\n\n    - :py:obj:`~.cudaTextureDesc.maxMipmapLevelClamp` specifies the upper\n      end of the mipmap level range to clamp access to.\n\n    - :py:obj:`~.cudaTextureDesc.disableTrilinearOptimization` specifies\n      whether the trilinear filtering optimizations will be disabled.\n\n    The :py:obj:`~.cudaResourceViewDesc` struct is defined as\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\n\n    - :py:obj:`~.cudaResourceViewDesc.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\n      32-bit unsigned integer format with 2 or 4 channels, depending on the\n      block compressed format. For ex., BC1 and BC4 require the underlying\n      CUDA array to have a 32-bit unsigned int with 2 channels. The other\n      BC formats require the underlying resource to have the same 32-bit\n      unsigned int format but with 4 channels.\n\n    - :py:obj:`~.cudaResourceViewDesc.width` specifies the new width of the\n      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 fo""rmats, this value has to be\n      equal to that of the original resource.\n\n    - :py:obj:`~.cudaResourceViewDesc.height` specifies the new height 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 height 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:`~.cudaResourceViewDesc.depth` specifies the new depth of the\n      texture data. This value has to be equal to that of the original\n      resource.\n\n    - :py:obj:`~.cudaResourceViewDesc.firstMipmapLevel` specifies the most\n      detailed mipmap level. This will be the new mipmap level zero. For\n      non-mipmapped resources, this value has to be\n      zero.:py:obj:`~.cudaTextureDesc.minMipmapLevelClamp` and\n      :py:obj:`~.cudaTextureDesc.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:`~.cudaResourceViewDesc.lastMipmapLevel` specifies the least\n      detailed mipmap level. For non-mipmapped resources, this value has to\n      be zero.\n\n    - :py:obj:`~.cudaResourceViewDesc.firstLayer` specifies the first layer\n      index for layered textures. This will be the new layer zero. For non-\n      layered resources, this value has to be zero.\n\n    - :py:obj:`~.cudaResourceViewDesc.lastLayer` specifies the last layer\n      index for layered textures. For non-layered resources, this value has\n      to be zero.\n\n    Parameters\n    ----------\n    pResDesc : :py:obj:`~.cudaResourceDesc`\n        Resource descriptor\n    pTexDesc : :py:obj:`~.cudaTextureDesc`\n        Texture descriptor\n    pResViewDesc : :py:obj:`~.cudaResourceViewDesc`\n        Resource view descriptor\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cuda""Success`, :py:obj:`~.cudaErrorInvalidValue`\n    pTexObject : :py:obj:`~.cudaTextureObject_t`\n        Texture object to create\n\n    See Also\n    --------\n    :py:obj:`~.cudaDestroyTextureObject`, :py:obj:`~.cuTexObjectCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_353cudaCreateTextureObject = {"cudaCreateTextureObject", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_353cudaCreateTextureObject, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_352cudaCreateTextureObject};
static PyObject *__pyx_pw_4cuda_6cudart_353cudaCreateTextureObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc = 0;
  struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_pTexDesc = 0;
  struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaCreateTextureObject (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pResDesc,&__pyx_n_s_pTexDesc,&__pyx_n_s_pResViewDesc,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pResDesc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pTexDesc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateTextureObject", 1, 3, 3, 1); __PYX_ERR(0, 19036, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pResViewDesc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateTextureObject", 1, 3, 3, 2); __PYX_ERR(0, 19036, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaCreateTextureObject") < 0)) __PYX_ERR(0, 19036, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)values[0]);
    __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)values[1]);
    __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaCreateTextureObject", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 19036, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaCreateTextureObject", __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_6cudart_cudaResourceDesc, 1, "pResDesc", 0))) __PYX_ERR(0, 19036, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pTexDesc), __pyx_ptype_4cuda_6cudart_cudaTextureDesc, 1, "pTexDesc", 0))) __PYX_ERR(0, 19036, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResViewDesc), __pyx_ptype_4cuda_6cudart_cudaResourceViewDesc, 1, "pResViewDesc", 0))) __PYX_ERR(0, 19036, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_352cudaCreateTextureObject(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_352cudaCreateTextureObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc, struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc) {
  struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_pTexObject = 0;
  struct cudaResourceDesc *__pyx_v_cpResDesc_ptr;
  struct cudaTextureDesc *__pyx_v_cpTexDesc_ptr;
  struct cudaResourceViewDesc *__pyx_v_cpResViewDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaResourceDesc *__pyx_t_2;
  int __pyx_t_3;
  struct cudaTextureDesc *__pyx_t_4;
  struct cudaResourceViewDesc *__pyx_t_5;
  cudaError_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__601)
  __Pyx_RefNannySetupContext("cudaCreateTextureObject", 0);
  __Pyx_TraceCall("cudaCreateTextureObject", __pyx_f[0], 19036, 0, __PYX_ERR(0, 19036, __pyx_L1_error));

  /* "cuda/cudart.pyx":19252
 *     :py:obj:`~.cudaDestroyTextureObject`, :py:obj:`~.cuTexObjectCreate`
 *     """
 *     cdef cudaTextureObject_t pTexObject = cudaTextureObject_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccudart.cudaTextureDesc* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pTexObject = ((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19253
 *     """
 *     cdef cudaTextureObject_t pTexObject = cudaTextureObject_t()
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaTextureDesc* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccudart.cudaResourceViewDesc* 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(0, 19253, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pResDesc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpResDesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":19254
 *     cdef cudaTextureObject_t pTexObject = cudaTextureObject_t()
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccudart.cudaTextureDesc* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccudart.cudaCreateTextureObject(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(0, 19254, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_4 = __pyx_v_pTexDesc->_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cpTexDesc_ptr = __pyx_t_4;

  /* "cuda/cudart.pyx":19255
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccudart.cudaTextureDesc* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaCreateTextureObject(pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)
 *     return (cudaError_t(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(0, 19255, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_5 = __pyx_v_pResViewDesc->_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cpResViewDesc_ptr = __pyx_t_5;

  /* "cuda/cudart.pyx":19256
 *     cdef ccudart.cudaTextureDesc* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccudart.cudaCreateTextureObject(pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pTexObject)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaCreateTextureObject(__pyx_v_pTexObject->_ptr, __pyx_v_cpResDesc_ptr, __pyx_v_cpTexDesc_ptr, __pyx_v_cpResViewDesc_ptr); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19256, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19257
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccudart.cudaCreateTextureObject(pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)
 *     return (cudaError_t(err), pTexObject)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8);
  __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(0, 19257, __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(0, 19257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pTexObject));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pTexObject));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pTexObject));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19036
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaCreateTextureObject", __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/cudart.pyx":19260
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject_v2(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc_v2, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_355cudaCreateTextureObject_v2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_354cudaCreateTextureObject_v2[] = "cudaCreateTextureObject_v2(cudaResourceDesc pResDesc: cudaResourceDesc, cudaTextureDesc_v2 pTexDesc: cudaTextureDesc_v2, cudaResourceViewDesc pResViewDesc: cudaResourceViewDesc)\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:`~.cudaResourceDesc` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\n\n    - :py:obj:`~.cudaResourceDesc.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:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypeArray`,\n    :py:obj:`~.cudaResourceDesc`::res::array::array must be set to a valid\n    CUDA array handle.\n\n    If :py:obj:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypeMipmappedArray`,\n    :py:obj:`~.cudaResourceDesc`::res::mipmap::mipmap must be set to a\n    valid CUDA mipmapped array handle and\n    :py:obj:`~.cudaTextureDesc_v2.normalizedCoords` must be set to true.\n\n    If :py:obj:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypeLinear`,\n    :py:obj:`~.cudaResourceDesc`::res::linear::devPtr must be set to a\n    valid device pointer, that is aligned to\n    :py:obj:`~.cudaDeviceProp.textureA""lignment`.\n    :py:obj:`~.cudaResourceDesc`::res::linear::desc describes the format\n    and the number of components per array element.\n    :py:obj:`~.cudaResourceDesc`::res::linear::sizeInBytes specifies the\n    size of the array in bytes. The total number of elements in the linear\n    address range cannot exceed\n    :py:obj:`~.cudaDeviceProp.maxTexture1DLinear`. The number of elements\n    is computed as (sizeInBytes / sizeof(desc)).\n\n    If :py:obj:`~.cudaResourceDesc.resType` is set to\n    :py:obj:`~.cudaResourceTypePitch2D`,\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::devPtr must be set to a\n    valid device pointer, that is aligned to\n    :py:obj:`~.cudaDeviceProp.textureAlignment`.\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::desc describes the format\n    and the number of components per array element.\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::width and\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::height specify the width\n    and height of the array in elements, and cannot exceed\n    :py:obj:`~.cudaDeviceProp.maxTexture2DLinear`[0] and\n    :py:obj:`~.cudaDeviceProp.maxTexture2DLinear`[1] respectively.\n    :py:obj:`~.cudaResourceDesc`::res::pitch2D::pitchInBytes specifies the\n    pitch between two rows in bytes and has to be aligned to\n    :py:obj:`~.cudaDeviceProp.texturePitchAlignment`. Pitch cannot exceed\n    :py:obj:`~.cudaDeviceProp.maxTexture2DLinear`[2].\n\n    The :py:obj:`~.cudaTextureDesc_v2` struct is defined as\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where\n\n    - :py:obj:`~.cudaTextureDesc_v2.addressMode` specifies the addressing\n      mode for each dimension of the texture data.\n      :py:obj:`~.cudaTextureAddressMode` is defined as:\n\n    - **View CUDA Toolkit Documentation for a C++ code example**\n\n    - This is ignored if :py:obj:`~.cudaResourceDesc.resType` is\n      :py:obj:`~.cudaResourceTypeLinear`. Also, if\n      :py:obj:`~.cudaTextureDesc_v2.normalizedCoords` ""is set to zero,\n      :py:obj:`~.cudaAddressModeWrap` and :py:obj:`~.cudaAddressModeMirror`\n      won't be supported and will be switched to\n      :py:obj:`~.cudaAddressModeClamp`.\n\n    - :py:obj:`~.cudaTextureDesc_v2.filterMode` specifies the filtering\n      mode to be used when fetching from the texture.\n      :py:obj:`~.cudaTextureFilterMode` is defined as:\n\n    - **View CUDA Toolkit Documentation for a C++ code example**\n\n    - This is ignored if :py:obj:`~.cudaResourceDesc.resType` is\n      :py:obj:`~.cudaResourceTypeLinear`.\n\n    - :py:obj:`~.cudaTextureDesc_v2.readMode` specifies whether integer\n      data should be converted to floating point or not.\n      :py:obj:`~.cudaTextureReadMode` is defined as:\n\n    - **View CUDA Toolkit Documentation for a C++ code example**\n\n    - Note that this applies only to 8-bit and 16-bit integer formats.\n      32-bit integer format would not be promoted, regardless of whether or\n      not this :py:obj:`~.cudaTextureDesc_v2.readMode` is set\n      :py:obj:`~.cudaReadModeNormalizedFloat` is specified.\n\n    - :py:obj:`~.cudaTextureDesc_v2.sRGB` specifies whether sRGB to linear\n      conversion should be performed during texture fetch.\n\n    - :py:obj:`~.cudaTextureDesc_v2.borderColor` specifies the float values\n      of color. where: :py:obj:`~.cudaTextureDesc_v2.borderColor`[0]\n      contains value of 'R', :py:obj:`~.cudaTextureDesc_v2.borderColor`[1]\n      contains value of 'G', :py:obj:`~.cudaTextureDesc_v2.borderColor`[2]\n      contains value of 'B', :py:obj:`~.cudaTextureDesc_v2.borderColor`[3]\n      contains value of 'A' Note that application using integer border\n      color values will need to <reinterpret_cast> these values to float.\n      The values are set only when the addressing mode specified by\n      :py:obj:`~.cudaTextureDesc_v2.addressMode` is cudaAddressModeBorder.\n\n    - :py:obj:`~.cudaTextureDesc_v2.normalizedCoords` specifies whether the\n      texture coordinates will be ""normalized or not.\n\n    - :py:obj:`~.cudaTextureDesc_v2.maxAnisotropy` specifies the maximum\n      anistropy ratio to be used when doing anisotropic filtering. This\n      value will be clamped to the range [1,16].\n\n    - :py:obj:`~.cudaTextureDesc_v2.mipmapFilterMode` specifies the filter\n      mode when the calculated mipmap level lies between two defined mipmap\n      levels.\n\n    - :py:obj:`~.cudaTextureDesc_v2.mipmapLevelBias` specifies the offset\n      to be applied to the calculated mipmap level.\n\n    - :py:obj:`~.cudaTextureDesc_v2.minMipmapLevelClamp` specifies the\n      lower end of the mipmap level range to clamp access to.\n\n    - :py:obj:`~.cudaTextureDesc_v2.maxMipmapLevelClamp` specifies the\n      upper end of the mipmap level range to clamp access to.\n\n    - :py:obj:`~.cudaTextureDesc_v2.disableTrilinearOptimization` specifies\n      whether the trilinear filtering optimizations will be disabled.\n\n    - :py:obj:`~.cudaTextureDesc_v2.seamlessCubemap` specifies whether\n      seamless cube map filtering is enabled. This flag can only be\n      specified if the underlying resource is a CUDA array or a CUDA\n      mipmapped array that was created with the flag\n      :py:obj:`~.cudaArrayCubemap`. When seamless cube map filtering is\n      enabled, texture address modes specified by\n      :py:obj:`~.cudaTextureDesc_v2.addressMode` are ignored. Instead, if\n      the :py:obj:`~.cudaTextureDesc_v2.filterMode` is set to\n      :py:obj:`~.cudaFilterModePoint` the address mode\n      :py:obj:`~.cudaAddressModeClamp` will be applied for all dimensions.\n      If the :py:obj:`~.cudaTextureDesc_v2.filterMode` is set to\n      :py:obj:`~.cudaFilterModeLinear` seamless cube map filtering will be\n      performed when sampling along the cube face borders.\n\n    The :py:obj:`~.cudaResourceViewDesc` struct is defined as\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\n\n    - :py:obj:`~.cudaResourceViewDesc.format` s""pecifies 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\n      32-bit unsigned integer format with 2 or 4 channels, depending on the\n      block compressed format. For ex., BC1 and BC4 require the underlying\n      CUDA array to have a 32-bit unsigned int with 2 channels. The other\n      BC formats require the underlying resource to have the same 32-bit\n      unsigned int format but with 4 channels.\n\n    - :py:obj:`~.cudaResourceViewDesc.width` specifies the new width of the\n      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:`~.cudaResourceViewDesc.height` specifies the new height 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 height 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:`~.cudaResourceViewDesc.depth` specifies the new depth of the\n      texture data. This value has to be equal to that of the original\n      resource.\n\n    - :py:obj:`~.cudaResourceViewDesc.firstMipmapLevel` specifies the most\n      detailed mipmap level. This will be the new mipmap level zero. For\n      non-mipmapped resources, this value has to be\n      zero.:py:obj:`~.cudaTextureDesc_v2.minMipmapLevelClamp` and\n      :py:obj:`~.cudaTextureDesc_v2.maxMipmapLevelClamp` will be relative\n      to this value. For ex., if the firstMipmapLevel is set to 2, and a\n      minMipmapLevelClamp of 1.2 is specified, then the actual m""inimum\n      mipmap level clamp will be 3.2.\n\n    - :py:obj:`~.cudaResourceViewDesc.lastMipmapLevel` specifies the least\n      detailed mipmap level. For non-mipmapped resources, this value has to\n      be zero.\n\n    - :py:obj:`~.cudaResourceViewDesc.firstLayer` specifies the first layer\n      index for layered textures. This will be the new layer zero. For non-\n      layered resources, this value has to be zero.\n\n    - :py:obj:`~.cudaResourceViewDesc.lastLayer` specifies the last layer\n      index for layered textures. For non-layered resources, this value has\n      to be zero.\n\n    Parameters\n    ----------\n    pResDesc : :py:obj:`~.cudaResourceDesc`\n        Resource descriptor\n    pTexDesc : :py:obj:`~.cudaTextureDesc_v2`\n        Texture descriptor\n    pResViewDesc : :py:obj:`~.cudaResourceViewDesc`\n        Resource view descriptor\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pTexObject : :py:obj:`~.cudaTextureObject_t`\n        Texture object to create\n\n    See Also\n    --------\n    :py:obj:`~.cudaDestroyTextureObject`, :py:obj:`~.cuTexObjectCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_355cudaCreateTextureObject_v2 = {"cudaCreateTextureObject_v2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_355cudaCreateTextureObject_v2, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_354cudaCreateTextureObject_v2};
static PyObject *__pyx_pw_4cuda_6cudart_355cudaCreateTextureObject_v2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc = 0;
  struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_pTexDesc = 0;
  struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaCreateTextureObject_v2 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pResDesc,&__pyx_n_s_pTexDesc,&__pyx_n_s_pResViewDesc,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pResDesc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pTexDesc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateTextureObject_v2", 1, 3, 3, 1); __PYX_ERR(0, 19260, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pResViewDesc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaCreateTextureObject_v2", 1, 3, 3, 2); __PYX_ERR(0, 19260, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaCreateTextureObject_v2") < 0)) __PYX_ERR(0, 19260, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)values[0]);
    __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)values[1]);
    __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaCreateTextureObject_v2", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 19260, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaCreateTextureObject_v2", __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_6cudart_cudaResourceDesc, 1, "pResDesc", 0))) __PYX_ERR(0, 19260, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pTexDesc), __pyx_ptype_4cuda_6cudart_cudaTextureDesc_v2, 1, "pTexDesc", 0))) __PYX_ERR(0, 19260, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResViewDesc), __pyx_ptype_4cuda_6cudart_cudaResourceViewDesc, 1, "pResViewDesc", 0))) __PYX_ERR(0, 19260, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_354cudaCreateTextureObject_v2(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_354cudaCreateTextureObject_v2(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc, struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc) {
  struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_pTexObject = 0;
  struct cudaResourceDesc *__pyx_v_cpResDesc_ptr;
  struct cudaTextureDesc_v2 *__pyx_v_cpTexDesc_ptr;
  struct cudaResourceViewDesc *__pyx_v_cpResViewDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaResourceDesc *__pyx_t_2;
  int __pyx_t_3;
  struct cudaTextureDesc_v2 *__pyx_t_4;
  struct cudaResourceViewDesc *__pyx_t_5;
  cudaError_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__602)
  __Pyx_RefNannySetupContext("cudaCreateTextureObject_v2", 0);
  __Pyx_TraceCall("cudaCreateTextureObject_v2", __pyx_f[0], 19260, 0, __PYX_ERR(0, 19260, __pyx_L1_error));

  /* "cuda/cudart.pyx":19490
 *     :py:obj:`~.cudaDestroyTextureObject`, :py:obj:`~.cuTexObjectCreate`
 *     """
 *     cdef cudaTextureObject_t pTexObject = cudaTextureObject_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccudart.cudaTextureDesc_v2* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pTexObject = ((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19491
 *     """
 *     cdef cudaTextureObject_t pTexObject = cudaTextureObject_t()
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaTextureDesc_v2* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccudart.cudaResourceViewDesc* 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(0, 19491, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pResDesc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpResDesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":19492
 *     cdef cudaTextureObject_t pTexObject = cudaTextureObject_t()
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccudart.cudaTextureDesc_v2* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccudart.cudaCreateTextureObject_v2(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(0, 19492, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_4 = __pyx_v_pTexDesc->_ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cpTexDesc_ptr = __pyx_t_4;

  /* "cuda/cudart.pyx":19493
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccudart.cudaTextureDesc_v2* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaCreateTextureObject_v2(pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)
 *     return (cudaError_t(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(0, 19493, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_5 = __pyx_v_pResViewDesc->_ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cpResViewDesc_ptr = __pyx_t_5;

  /* "cuda/cudart.pyx":19494
 *     cdef ccudart.cudaTextureDesc_v2* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccudart.cudaCreateTextureObject_v2(pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pTexObject)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaCreateTextureObject_v2(__pyx_v_pTexObject->_ptr, __pyx_v_cpResDesc_ptr, __pyx_v_cpTexDesc_ptr, __pyx_v_cpResViewDesc_ptr); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19494, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19495
 *     cdef ccudart.cudaResourceViewDesc* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccudart.cudaCreateTextureObject_v2(pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)
 *     return (cudaError_t(err), pTexObject)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8);
  __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(0, 19495, __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(0, 19495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pTexObject));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pTexObject));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pTexObject));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19260
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject_v2(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc_v2, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaCreateTextureObject_v2", __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/cudart.pyx":19498
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_357cudaDestroyTextureObject(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_356cudaDestroyTextureObject[] = "cudaDestroyTextureObject(texObject)\n Destroys a texture object.\n\n    Destroys the texture object specified by `texObject`.\n\n    Parameters\n    ----------\n    texObject : :py:obj:`~.cudaTextureObject_t`\n        Texture object to destroy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cuTexObjectDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_357cudaDestroyTextureObject = {"cudaDestroyTextureObject", (PyCFunction)__pyx_pw_4cuda_6cudart_357cudaDestroyTextureObject, METH_O, __pyx_doc_4cuda_6cudart_356cudaDestroyTextureObject};
static PyObject *__pyx_pw_4cuda_6cudart_357cudaDestroyTextureObject(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroyTextureObject (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_356cudaDestroyTextureObject(__pyx_self, ((PyObject *)__pyx_v_texObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_356cudaDestroyTextureObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  cudaTextureObject_t __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__603)
  __Pyx_RefNannySetupContext("cudaDestroyTextureObject", 0);
  __Pyx_TraceCall("cudaDestroyTextureObject", __pyx_f[0], 19498, 0, __PYX_ERR(0, 19498, __pyx_L1_error));

  /* "cuda/cudart.pyx":19518
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19519
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19518
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19520
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_6cudart_cudaTextureObject_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":19521
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptexObject = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19522
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19522, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":19520
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19524
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t), __pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptexObject = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":19525
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19525, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":19527
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroyTextureObject(ctexObject)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":19528
 * 
 *     with nogil:
 *         err = ccudart.cudaDestroyTextureObject(ctexObject)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaDestroyTextureObject(__pyx_v_ctexObject); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19528, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":19527
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroyTextureObject(ctexObject)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":19529
 *     with nogil:
 *         err = ccudart.cudaDestroyTextureObject(ctexObject)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19498
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroyTextureObject", __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/cudart.pyx":19532
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_359cudaGetTextureObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_358cudaGetTextureObjectResourceDesc[] = "cudaGetTextureObjectResourceDesc(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:`~.cudaTextureObject_t`\n        Texture object\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pResDesc : :py:obj:`~.cudaResourceDesc`\n        Resource descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cuTexObjectGetResourceDesc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_359cudaGetTextureObjectResourceDesc = {"cudaGetTextureObjectResourceDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_359cudaGetTextureObjectResourceDesc, METH_O, __pyx_doc_4cuda_6cudart_358cudaGetTextureObjectResourceDesc};
static PyObject *__pyx_pw_4cuda_6cudart_359cudaGetTextureObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceDesc (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_358cudaGetTextureObjectResourceDesc(__pyx_self, ((PyObject *)__pyx_v_texObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_358cudaGetTextureObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  cudaTextureObject_t __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__604)
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceDesc", 0);
  __Pyx_TraceCall("cudaGetTextureObjectResourceDesc", __pyx_f[0], 19532, 0, __PYX_ERR(0, 19532, __pyx_L1_error));

  /* "cuda/cudart.pyx":19555
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19556
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19555
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19557
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_6cudart_cudaTextureObject_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":19558
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptexObject = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19559
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19559, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":19557
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19561
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t), __pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptexObject = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":19562
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19562, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":19564
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, ctexObject)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceDesc)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":19565
 * 
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pResDesc)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":19566
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, ctexObject)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pResDesc)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceDesc(__pyx_v_pResDesc->_ptr, __pyx_v_ctexObject); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19566, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":19565
 * 
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pResDesc)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":19567
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pResDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_pResDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pResDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pResDesc));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19532
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGetTextureObjectResourceDesc", __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/cudart.pyx":19570
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_361cudaGetTextureObjectTextureDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_360cudaGetTextureObjectTextureDesc[] = "cudaGetTextureObjectTextureDesc(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:`~.cudaTextureObject_t`\n        Texture object\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pTexDesc : :py:obj:`~.cudaTextureDesc`\n        Texture descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cuTexObjectGetTextureDesc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_361cudaGetTextureObjectTextureDesc = {"cudaGetTextureObjectTextureDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_361cudaGetTextureObjectTextureDesc, METH_O, __pyx_doc_4cuda_6cudart_360cudaGetTextureObjectTextureDesc};
static PyObject *__pyx_pw_4cuda_6cudart_361cudaGetTextureObjectTextureDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetTextureObjectTextureDesc (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_360cudaGetTextureObjectTextureDesc(__pyx_self, ((PyObject *)__pyx_v_texObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_360cudaGetTextureObjectTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  cudaTextureObject_t __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_pTexDesc = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__605)
  __Pyx_RefNannySetupContext("cudaGetTextureObjectTextureDesc", 0);
  __Pyx_TraceCall("cudaGetTextureObjectTextureDesc", __pyx_f[0], 19570, 0, __PYX_ERR(0, 19570, __pyx_L1_error));

  /* "cuda/cudart.pyx":19593
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19594
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19593
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19595
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_6cudart_cudaTextureObject_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":19596
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptexObject = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19597
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19597, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":19595
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19599
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t), __pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptexObject = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":19600
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19600, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":19602
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, ctexObject)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":19603
 * 
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pTexDesc)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":19604
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, ctexObject)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pTexDesc)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc(__pyx_v_pTexDesc->_ptr, __pyx_v_ctexObject); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19604, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":19603
 * 
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pTexDesc)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":19605
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pTexDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_pTexDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pTexDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pTexDesc));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19570
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGetTextureObjectTextureDesc", __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/cudart.pyx":19608
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc_v2(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_363cudaGetTextureObjectTextureDesc_v2(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_362cudaGetTextureObjectTextureDesc_v2[] = "cudaGetTextureObjectTextureDesc_v2(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:`~.cudaTextureObject_t`\n        Texture object\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pTexDesc : :py:obj:`~.cudaTextureDesc_v2`\n        Texture descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cuTexObjectGetTextureDesc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_363cudaGetTextureObjectTextureDesc_v2 = {"cudaGetTextureObjectTextureDesc_v2", (PyCFunction)__pyx_pw_4cuda_6cudart_363cudaGetTextureObjectTextureDesc_v2, METH_O, __pyx_doc_4cuda_6cudart_362cudaGetTextureObjectTextureDesc_v2};
static PyObject *__pyx_pw_4cuda_6cudart_363cudaGetTextureObjectTextureDesc_v2(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetTextureObjectTextureDesc_v2 (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_362cudaGetTextureObjectTextureDesc_v2(__pyx_self, ((PyObject *)__pyx_v_texObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_362cudaGetTextureObjectTextureDesc_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  cudaTextureObject_t __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *__pyx_v_pTexDesc = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__606)
  __Pyx_RefNannySetupContext("cudaGetTextureObjectTextureDesc_v2", 0);
  __Pyx_TraceCall("cudaGetTextureObjectTextureDesc_v2", __pyx_f[0], 19608, 0, __PYX_ERR(0, 19608, __pyx_L1_error));

  /* "cuda/cudart.pyx":19631
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19632
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19631
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19633
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_6cudart_cudaTextureObject_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":19634
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptexObject = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19635
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19635, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":19633
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19637
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t), __pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptexObject = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":19638
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaTextureDesc_v2 pTexDesc = cudaTextureDesc_v2()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19638, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":19640
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 *     cdef cudaTextureDesc_v2 pTexDesc = cudaTextureDesc_v2()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetTextureObjectTextureDesc_v2(pTexDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pTexDesc)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc_v2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2 *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":19641
 * 
 *     cdef cudaTextureDesc_v2 pTexDesc = cudaTextureDesc_v2()
 *     err = ccudart.cudaGetTextureObjectTextureDesc_v2(pTexDesc._ptr, ctexObject)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pTexDesc)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc_v2(__pyx_v_pTexDesc->_ptr, __pyx_v_ctexObject); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19641, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19642
 *     cdef cudaTextureDesc_v2 pTexDesc = cudaTextureDesc_v2()
 *     err = ccudart.cudaGetTextureObjectTextureDesc_v2(pTexDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pTexDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_pTexDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pTexDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pTexDesc));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19608
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc_v2(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGetTextureObjectTextureDesc_v2", __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/cudart.pyx":19645
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_365cudaGetTextureObjectResourceViewDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_364cudaGetTextureObjectResourceViewDesc[] = "cudaGetTextureObjectResourceViewDesc(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 specified,\n    :py:obj:`~.cudaErrorInvalidValue` is returned.\n\n    Parameters\n    ----------\n    texObject : :py:obj:`~.cudaTextureObject_t`\n        Texture object\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pResViewDesc : :py:obj:`~.cudaResourceViewDesc`\n        Resource view descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateTextureObject`, :py:obj:`~.cuTexObjectGetResourceViewDesc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_365cudaGetTextureObjectResourceViewDesc = {"cudaGetTextureObjectResourceViewDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_365cudaGetTextureObjectResourceViewDesc, METH_O, __pyx_doc_4cuda_6cudart_364cudaGetTextureObjectResourceViewDesc};
static PyObject *__pyx_pw_4cuda_6cudart_365cudaGetTextureObjectResourceViewDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceViewDesc (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_364cudaGetTextureObjectResourceViewDesc(__pyx_self, ((PyObject *)__pyx_v_texObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_364cudaGetTextureObjectResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  cudaTextureObject_t __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__607)
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceViewDesc", 0);
  __Pyx_TraceCall("cudaGetTextureObjectResourceViewDesc", __pyx_f[0], 19645, 0, __PYX_ERR(0, 19645, __pyx_L1_error));

  /* "cuda/cudart.pyx":19669
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19670
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19669
 *     """
 *     cdef ccudart.cudaTextureObject_t ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19671
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_6cudart_cudaTextureObject_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":19672
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptexObject = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19673
 *     elif isinstance(texObject, (cudaTextureObject_t)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19673, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":19671
 *     if texObject is None:
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>0
 *     elif isinstance(texObject, (cudaTextureObject_t)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19675
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t), __pyx_v_texObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptexObject = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":19676
 *     else:
 *         ptexObject = int(cudaTextureObject_t(texObject))
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaResourceViewDesc pResViewDesc = cudaResourceViewDesc()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19676, __pyx_L1_error)
    __pyx_v_ctexObject = ((cudaTextureObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":19678
 *         ctexObject = <ccudart.cudaTextureObject_t><void_ptr>ptexObject
 * 
 *     cdef cudaResourceViewDesc pResViewDesc = cudaResourceViewDesc()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetTextureObjectResourceViewDesc(pResViewDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pResViewDesc)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceViewDesc)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":19679
 * 
 *     cdef cudaResourceViewDesc pResViewDesc = cudaResourceViewDesc()
 *     err = ccudart.cudaGetTextureObjectResourceViewDesc(pResViewDesc._ptr, ctexObject)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pResViewDesc)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceViewDesc(__pyx_v_pResViewDesc->_ptr, __pyx_v_ctexObject); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19679, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19680
 *     cdef cudaResourceViewDesc pResViewDesc = cudaResourceViewDesc()
 *     err = ccudart.cudaGetTextureObjectResourceViewDesc(pResViewDesc._ptr, ctexObject)
 *     return (cudaError_t(err), pResViewDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_pResViewDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pResViewDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pResViewDesc));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19645
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGetTextureObjectResourceViewDesc", __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/cudart.pyx":19683
 * 
 * @cython.embedsignature(True)
 * def cudaCreateSurfaceObject(pResDesc : cudaResourceDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a surface object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_367cudaCreateSurfaceObject(PyObject *__pyx_self, PyObject *__pyx_v_pResDesc); /*proto*/
static char __pyx_doc_4cuda_6cudart_366cudaCreateSurfaceObject[] = "cudaCreateSurfaceObject(cudaResourceDesc pResDesc: cudaResourceDesc)\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:`~.cudaResourceDesc.resType` must be\n    :py:obj:`~.cudaResourceTypeArray` and\n    :py:obj:`~.cudaResourceDesc`::res::array::array must be set to a valid\n    CUDA array handle.\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:`~.cudaResourceDesc`\n        Resource descriptor\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidChannelDescriptor`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    pSurfObject : :py:obj:`~.cudaSurfaceObject_t`\n        Surface object to create\n\n    See Also\n    --------\n    :py:obj:`~.cudaDestroySurfaceObject`, :py:obj:`~.cuSurfObjectCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_367cudaCreateSurfaceObject = {"cudaCreateSurfaceObject", (PyCFunction)__pyx_pw_4cuda_6cudart_367cudaCreateSurfaceObject, METH_O, __pyx_doc_4cuda_6cudart_366cudaCreateSurfaceObject};
static PyObject *__pyx_pw_4cuda_6cudart_367cudaCreateSurfaceObject(PyObject *__pyx_self, PyObject *__pyx_v_pResDesc) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaCreateSurfaceObject (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResDesc), __pyx_ptype_4cuda_6cudart_cudaResourceDesc, 1, "pResDesc", 0))) __PYX_ERR(0, 19683, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_366cudaCreateSurfaceObject(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_v_pResDesc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_366cudaCreateSurfaceObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc) {
  struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_pSurfObject = 0;
  struct cudaResourceDesc *__pyx_v_cpResDesc_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct cudaResourceDesc *__pyx_t_2;
  int __pyx_t_3;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__608)
  __Pyx_RefNannySetupContext("cudaCreateSurfaceObject", 0);
  __Pyx_TraceCall("cudaCreateSurfaceObject", __pyx_f[0], 19683, 0, __PYX_ERR(0, 19683, __pyx_L1_error));

  /* "cuda/cudart.pyx":19713
 *     :py:obj:`~.cudaDestroySurfaceObject`, :py:obj:`~.cuSurfObjectCreate`
 *     """
 *     cdef cudaSurfaceObject_t pSurfObject = cudaSurfaceObject_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pSurfObject = ((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19714
 *     """
 *     cdef cudaSurfaceObject_t pSurfObject = cudaSurfaceObject_t()
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaCreateSurfaceObject(pSurfObject._ptr, cpResDesc_ptr)
 */
  __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(0, 19714, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pResDesc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpResDesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":19715
 *     cdef cudaSurfaceObject_t pSurfObject = cudaSurfaceObject_t()
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaCreateSurfaceObject(pSurfObject._ptr, cpResDesc_ptr)
 *     return (cudaError_t(err), pSurfObject)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":19716
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     with nogil:
 *         err = ccudart.cudaCreateSurfaceObject(pSurfObject._ptr, cpResDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pSurfObject)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaCreateSurfaceObject(__pyx_v_pSurfObject->_ptr, __pyx_v_cpResDesc_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19716, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":19715
 *     cdef cudaSurfaceObject_t pSurfObject = cudaSurfaceObject_t()
 *     cdef ccudart.cudaResourceDesc* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaCreateSurfaceObject(pSurfObject._ptr, cpResDesc_ptr)
 *     return (cudaError_t(err), pSurfObject)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":19717
 *     with nogil:
 *         err = ccudart.cudaCreateSurfaceObject(pSurfObject._ptr, cpResDesc_ptr)
 *     return (cudaError_t(err), pSurfObject)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 19717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19717, __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(0, 19717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pSurfObject));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pSurfObject));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pSurfObject));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19683
 * 
 * @cython.embedsignature(True)
 * def cudaCreateSurfaceObject(pResDesc : cudaResourceDesc):             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaCreateSurfaceObject", __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/cudart.pyx":19720
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_369cudaDestroySurfaceObject(PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_368cudaDestroySurfaceObject[] = "cudaDestroySurfaceObject(surfObject)\n Destroys a surface object.\n\n    Destroys the surface object specified by `surfObject`.\n\n    Parameters\n    ----------\n    surfObject : :py:obj:`~.cudaSurfaceObject_t`\n        Surface object to destroy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateSurfaceObject`, :py:obj:`~.cuSurfObjectDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_369cudaDestroySurfaceObject = {"cudaDestroySurfaceObject", (PyCFunction)__pyx_pw_4cuda_6cudart_369cudaDestroySurfaceObject, METH_O, __pyx_doc_4cuda_6cudart_368cudaDestroySurfaceObject};
static PyObject *__pyx_pw_4cuda_6cudart_369cudaDestroySurfaceObject(PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroySurfaceObject (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_368cudaDestroySurfaceObject(__pyx_self, ((PyObject *)__pyx_v_surfObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_368cudaDestroySurfaceObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  cudaSurfaceObject_t __pyx_v_csurfObject;
  PyObject *__pyx_v_psurfObject = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__609)
  __Pyx_RefNannySetupContext("cudaDestroySurfaceObject", 0);
  __Pyx_TraceCall("cudaDestroySurfaceObject", __pyx_f[0], 19720, 0, __PYX_ERR(0, 19720, __pyx_L1_error));

  /* "cuda/cudart.pyx":19740
 *     """
 *     cdef ccudart.cudaSurfaceObject_t csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 */
  __pyx_t_1 = (__pyx_v_surfObject == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19741
 *     cdef ccudart.cudaSurfaceObject_t csurfObject
 *     if surfObject is None:
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 *         psurfObject = int(surfObject)
 */
    __pyx_v_csurfObject = ((cudaSurfaceObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19740
 *     """
 *     cdef ccudart.cudaSurfaceObject_t csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19742
 *     if surfObject is None:
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_surfObject, __pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":19743
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 *         psurfObject = int(surfObject)             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_surfObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psurfObject = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19744
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     else:
 *         psurfObject = int(cudaSurfaceObject_t(surfObject))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19744, __pyx_L1_error)
    __pyx_v_csurfObject = ((cudaSurfaceObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":19742
 *     if surfObject is None:
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19746
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 *     else:
 *         psurfObject = int(cudaSurfaceObject_t(surfObject))             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t), __pyx_v_surfObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psurfObject = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":19747
 *     else:
 *         psurfObject = int(cudaSurfaceObject_t(surfObject))
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 * 
 *     with nogil:
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19747, __pyx_L1_error)
    __pyx_v_csurfObject = ((cudaSurfaceObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":19749
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroySurfaceObject(csurfObject)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":19750
 * 
 *     with nogil:
 *         err = ccudart.cudaDestroySurfaceObject(csurfObject)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaDestroySurfaceObject(__pyx_v_csurfObject); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 19750, __pyx_L5_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":19749
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 * 
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroySurfaceObject(csurfObject)
 *     return (cudaError_t(err),)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "cuda/cudart.pyx":19751
 *     with nogil:
 *         err = ccudart.cudaDestroySurfaceObject(csurfObject)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19720
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroySurfaceObject", __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/cudart.pyx":19754
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject):             # <<<<<<<<<<<<<<
 *     """ Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by `surfObject`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_371cudaGetSurfaceObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_370cudaGetSurfaceObjectResourceDesc[] = "cudaGetSurfaceObjectResourceDesc(surfObject)\n Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by `surfObject`.\n\n    Parameters\n    ----------\n    surfObject : :py:obj:`~.cudaSurfaceObject_t`\n        Surface object\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pResDesc : :py:obj:`~.cudaResourceDesc`\n        Resource descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cudaCreateSurfaceObject`, :py:obj:`~.cuSurfObjectGetResourceDesc`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_371cudaGetSurfaceObjectResourceDesc = {"cudaGetSurfaceObjectResourceDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_371cudaGetSurfaceObjectResourceDesc, METH_O, __pyx_doc_4cuda_6cudart_370cudaGetSurfaceObjectResourceDesc};
static PyObject *__pyx_pw_4cuda_6cudart_371cudaGetSurfaceObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetSurfaceObjectResourceDesc (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_370cudaGetSurfaceObjectResourceDesc(__pyx_self, ((PyObject *)__pyx_v_surfObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_370cudaGetSurfaceObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  cudaSurfaceObject_t __pyx_v_csurfObject;
  PyObject *__pyx_v_psurfObject = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__610)
  __Pyx_RefNannySetupContext("cudaGetSurfaceObjectResourceDesc", 0);
  __Pyx_TraceCall("cudaGetSurfaceObjectResourceDesc", __pyx_f[0], 19754, 0, __PYX_ERR(0, 19754, __pyx_L1_error));

  /* "cuda/cudart.pyx":19774
 *     """
 *     cdef ccudart.cudaSurfaceObject_t csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 */
  __pyx_t_1 = (__pyx_v_surfObject == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19775
 *     cdef ccudart.cudaSurfaceObject_t csurfObject
 *     if surfObject is None:
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 *         psurfObject = int(surfObject)
 */
    __pyx_v_csurfObject = ((cudaSurfaceObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19774
 *     """
 *     cdef ccudart.cudaSurfaceObject_t csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19776
 *     if surfObject is None:
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_surfObject, __pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":19777
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 *         psurfObject = int(surfObject)             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_surfObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_psurfObject = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19778
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     else:
 *         psurfObject = int(cudaSurfaceObject_t(surfObject))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19778, __pyx_L1_error)
    __pyx_v_csurfObject = ((cudaSurfaceObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":19776
 *     if surfObject is None:
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>0
 *     elif isinstance(surfObject, (cudaSurfaceObject_t)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":19780
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 *     else:
 *         psurfObject = int(cudaSurfaceObject_t(surfObject))             # <<<<<<<<<<<<<<
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t), __pyx_v_surfObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_psurfObject = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":19781
 *     else:
 *         psurfObject = int(cudaSurfaceObject_t(surfObject))
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19781, __pyx_L1_error)
    __pyx_v_csurfObject = ((cudaSurfaceObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":19783
 *         csurfObject = <ccudart.cudaSurfaceObject_t><void_ptr>psurfObject
 * 
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetSurfaceObjectResourceDesc(pResDesc._ptr, csurfObject)
 *     return (cudaError_t(err), pResDesc)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceDesc)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":19784
 * 
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     err = ccudart.cudaGetSurfaceObjectResourceDesc(pResDesc._ptr, csurfObject)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pResDesc)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGetSurfaceObjectResourceDesc(__pyx_v_pResDesc->_ptr, __pyx_v_csurfObject); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19784, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19785
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     err = ccudart.cudaGetSurfaceObjectResourceDesc(pResDesc._ptr, csurfObject)
 *     return (cudaError_t(err), pResDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_pResDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pResDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pResDesc));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19754
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject):             # <<<<<<<<<<<<<<
 *     """ Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by `surfObject`.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGetSurfaceObjectResourceDesc", __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/cudart.pyx":19788
 * 
 * @cython.embedsignature(True)
 * def cudaDriverGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the latest version of CUDA supported by the driver.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_373cudaDriverGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_372cudaDriverGetVersion[] = "cudaDriverGetVersion()\n Returns the latest version of CUDA supported by the driver.\n\n    Returns in `*driverVersion` the latest 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. If no driver is\n    installed, then 0 is returned as the driver version.\n\n    This function automatically returns :py:obj:`~.cudaErrorInvalidValue`\n    if `driverVersion` is NULL.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    driverVersion : int\n        Returns the CUDA driver version.\n\n    See Also\n    --------\n    :py:obj:`~.cudaRuntimeGetVersion`, :py:obj:`~.cuDriverGetVersion`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_373cudaDriverGetVersion = {"cudaDriverGetVersion", (PyCFunction)__pyx_pw_4cuda_6cudart_373cudaDriverGetVersion, METH_NOARGS, __pyx_doc_4cuda_6cudart_372cudaDriverGetVersion};
static PyObject *__pyx_pw_4cuda_6cudart_373cudaDriverGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDriverGetVersion (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_372cudaDriverGetVersion(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_372cudaDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_driverVersion;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__611)
  __Pyx_RefNannySetupContext("cudaDriverGetVersion", 0);
  __Pyx_TraceCall("cudaDriverGetVersion", __pyx_f[0], 19788, 0, __PYX_ERR(0, 19788, __pyx_L1_error));

  /* "cuda/cudart.pyx":19810
 *     :py:obj:`~.cudaRuntimeGetVersion`, :py:obj:`~.cuDriverGetVersion`
 *     """
 *     cdef int driverVersion = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDriverGetVersion(&driverVersion)
 *     return (cudaError_t(err), driverVersion)
 */
  __pyx_v_driverVersion = 0;

  /* "cuda/cudart.pyx":19811
 *     """
 *     cdef int driverVersion = 0
 *     err = ccudart.cudaDriverGetVersion(&driverVersion)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), driverVersion)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDriverGetVersion((&__pyx_v_driverVersion)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19811, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":19812
 *     cdef int driverVersion = 0
 *     err = ccudart.cudaDriverGetVersion(&driverVersion)
 *     return (cudaError_t(err), driverVersion)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 19812, __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(0, 19812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19788
 * 
 * @cython.embedsignature(True)
 * def cudaDriverGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the latest version of CUDA supported by the 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.cudart.cudaDriverGetVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19815
 * 
 * @cython.embedsignature(True)
 * def cudaRuntimeGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the CUDA Runtime version.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_375cudaRuntimeGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_374cudaRuntimeGetVersion[] = "cudaRuntimeGetVersion()\n Returns the CUDA Runtime version.\n\n    Returns in `*runtimeVersion` the version number of the current CUDA\n    Runtime instance. The version is returned as (1000 * major + 10 *\n    minor). For example, CUDA 9.2 would be represented by 9020.\n\n    This function automatically returns :py:obj:`~.cudaErrorInvalidValue`\n    if the `runtimeVersion` argument is NULL.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    runtimeVersion : int\n        Returns the CUDA Runtime version.\n\n    See Also\n    --------\n    :py:obj:`~.cudaDriverGetVersion`, :py:obj:`~.cuDriverGetVersion`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_375cudaRuntimeGetVersion = {"cudaRuntimeGetVersion", (PyCFunction)__pyx_pw_4cuda_6cudart_375cudaRuntimeGetVersion, METH_NOARGS, __pyx_doc_4cuda_6cudart_374cudaRuntimeGetVersion};
static PyObject *__pyx_pw_4cuda_6cudart_375cudaRuntimeGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaRuntimeGetVersion (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_374cudaRuntimeGetVersion(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_374cudaRuntimeGetVersion(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_runtimeVersion;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__612)
  __Pyx_RefNannySetupContext("cudaRuntimeGetVersion", 0);
  __Pyx_TraceCall("cudaRuntimeGetVersion", __pyx_f[0], 19815, 0, __PYX_ERR(0, 19815, __pyx_L1_error));

  /* "cuda/cudart.pyx":19836
 *     :py:obj:`~.cudaDriverGetVersion`, :py:obj:`~.cuDriverGetVersion`
 *     """
 *     cdef int runtimeVersion = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaRuntimeGetVersion(&runtimeVersion)
 *     return (cudaError_t(err), runtimeVersion)
 */
  __pyx_v_runtimeVersion = 0;

  /* "cuda/cudart.pyx":19837
 *     """
 *     cdef int runtimeVersion = 0
 *     err = ccudart.cudaRuntimeGetVersion(&runtimeVersion)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), runtimeVersion)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaRuntimeGetVersion((&__pyx_v_runtimeVersion)); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19837, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":19838
 *     cdef int runtimeVersion = 0
 *     err = ccudart.cudaRuntimeGetVersion(&runtimeVersion)
 *     return (cudaError_t(err), runtimeVersion)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 19838, __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_runtimeVersion); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19815
 * 
 * @cython.embedsignature(True)
 * def cudaRuntimeGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the CUDA Runtime version.
 * 
 */

  /* 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.cudart.cudaRuntimeGetVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19841
 * 
 * @cython.embedsignature(True)
 * def cudaGraphCreate(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_377cudaGraphCreate(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_376cudaGraphCreate[] = "cudaGraphCreate(unsigned int flags)\n Creates a graph.\n\n    Creates an empty graph, which is returned via `pGraph`.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Graph creation flags, must be 0\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    pGraph : :py:obj:`~.cudaGraph_t`\n        Returns newly created graph\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`, :py:obj:`~.cudaGraphInstantiate`, :py:obj:`~.cudaGraphDestroy`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphClone`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_377cudaGraphCreate = {"cudaGraphCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_377cudaGraphCreate, METH_O, __pyx_doc_4cuda_6cudart_376cudaGraphCreate};
static PyObject *__pyx_pw_4cuda_6cudart_377cudaGraphCreate(PyObject *__pyx_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphCreate (wrapper)", 0);
  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(0, 19841, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_376cudaGraphCreate(__pyx_self, ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_376cudaGraphCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraph = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaError_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__613)
  __Pyx_RefNannySetupContext("cudaGraphCreate", 0);
  __Pyx_TraceCall("cudaGraphCreate", __pyx_f[0], 19841, 0, __PYX_ERR(0, 19841, __pyx_L1_error));

  /* "cuda/cudart.pyx":19862
 *     :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`, :py:obj:`~.cudaGraphInstantiate`, :py:obj:`~.cudaGraphDestroy`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphClone`
 *     """
 *     cdef cudaGraph_t pGraph = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphCreate(<ccudart.cudaGraph_t*>pGraph._ptr, flags)
 *     return (cudaError_t(err), pGraph)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraph = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19863
 *     """
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaGraphCreate(<ccudart.cudaGraph_t*>pGraph._ptr, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraph)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGraphCreate(((cudaGraph_t *)__pyx_v_pGraph->__pyx_base._ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19863, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":19864
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaGraphCreate(<ccudart.cudaGraph_t*>pGraph._ptr, flags)
 *     return (cudaError_t(err), pGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19864, __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(0, 19864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraph));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraph));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pGraph));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19841
 * 
 * @cython.embedsignature(True)
 * def cudaGraphCreate(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.cudart.cudaGraphCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19867
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddKernelNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a kernel execution node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_379cudaGraphAddKernelNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_378cudaGraphAddKernelNode[] = "cudaGraphAddKernelNode(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, cudaKernelNodeParams pNodeParams: cudaKernelNodeParams)\n Creates a kernel execution node and adds it to a graph.\n\n    Creates a new kernel execution node and adds it to `graph` with\n    `numDependencies` dependencies specified via `pDependencies` and\n    arguments specified in `pNodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `pDependencies` may not have any duplicate entries.\n    A handle to the new node will be returned in `pGraphNode`.\n\n    The :py:obj:`~.cudaKernelNodeParams` 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    (`gridDim.x` x `gridDim.y` x `gridDim.z`) grid of blocks. Each block\n    contains (`blockDim.x` x `blockDim.y` x `blockDim.z`) threads.\n\n    `sharedMem` 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 can also be packaged by the application into a\n    single buffer that is passed in via `extra`. This places the burden on\n    the application of knowing each kernel parameter's size and\n    alignment/padding within the buffer. The `extra` parameter exists to\n    allow this function to take additional less commonly used arguments"".\n    `extra` specifies a list of names of extra settings and their\n    corresponding values. Each extra setting name is immediately followed\n    by the corresponding value. The list must be terminated with either\n    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:`~.cudaErrorInvalidValue` will be returned if kernel\n    parameters are specified with both `kernelParams` and `extra` (i.e.\n    both `kernelParams` and `extra` are non-NULL).\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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pNodeParams : :py:obj:`~.cudaKernelNodeParams`\n        Parameters for the GPU execution node\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDeviceFunction`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchKernel`, :py:obj:`~.cudaGraphKernelNodeGetParams`, :py:obj:`~.cudaGraphKernelNodeSetParams`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :p""y:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`\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_6cudart_379cudaGraphAddKernelNode = {"cudaGraphAddKernelNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_379cudaGraphAddKernelNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_378cudaGraphAddKernelNode};
static PyObject *__pyx_pw_4cuda_6cudart_379cudaGraphAddKernelNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddKernelNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_pNodeParams,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddKernelNode", 1, 4, 4, 1); __PYX_ERR(0, 19867, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddKernelNode", 1, 4, 4, 2); __PYX_ERR(0, 19867, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddKernelNode", 1, 4, 4, 3); __PYX_ERR(0, 19867, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddKernelNode") < 0)) __PYX_ERR(0, 19867, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 19867, __pyx_L3_error)
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddKernelNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 19867, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddKernelNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaKernelNodeParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 19867, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_378cudaGraphAddKernelNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddKernelNode_2generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":19954
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphAddKernelNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_14_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_14_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_14_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 19954, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_22cudaGraphAddKernelNode_2generator8, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddKernelNode_locals_ge, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 19954, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddKernelNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddKernelNode_2generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 19954, 0, __PYX_ERR(0, 19954, __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(0, 19954, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 19954, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19954, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 19954, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19954, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 19954, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19954, __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, 19954, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":19867
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddKernelNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a kernel execution node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_378cudaGraphAddKernelNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct cudaKernelNodeParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddKernelNode_2generator8 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaKernelNodeParams *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__614)
  __Pyx_RefNannySetupContext("cudaGraphAddKernelNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 19867, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddKernelNode", __pyx_f[0], 19867, 0, __PYX_ERR(0, 19867, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":19953
 *     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.
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19954
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_22cudaGraphAddKernelNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":19955
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 19955, __pyx_L1_error)

    /* "cuda/cudart.pyx":19954
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":19958
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19959
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":19958
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":19960
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":19961
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19961, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":19962
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19962, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":19960
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":19964
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":19965
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 19965, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":19967
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19968
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":19969
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":19970
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19970, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":19971
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":19972
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19972, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19972, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19972, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19972, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19972, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19972, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19972, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19972, __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(0, 19972, __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(0, 19972, __pyx_L1_error)

      /* "cuda/cudart.pyx":19971
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":19974
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19974, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":19975
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19975, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":19969
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":19977
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19977, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19977, __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(0, 19977, __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(0, 19977, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":19978
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19978, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 19978, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_11 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_11;

  /* "cuda/cudart.pyx":19979
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 19979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddKernelNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19979, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":19980
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":19981
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":19980
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":19982
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19867
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddKernelNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a kernel execution node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddKernelNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_22cudaGraphAddKernelNode_2generator8);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19985
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a kernel node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_381cudaGraphKernelNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_380cudaGraphKernelNodeGetParams[] = "cudaGraphKernelNodeGetParams(node)\n Returns a kernel node's parameters.\n\n    Returns the parameters of kernel node `node` in `pNodeParams`. The\n    `kernelParams` or `extra` array returned in `pNodeParams`, 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:`~.cudaGraphKernelNodeSetParams` to update the parameters of\n    this 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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDeviceFunction`\n    pNodeParams : :py:obj:`~.cudaKernelNodeParams`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchKernel`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphKernelNodeSetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_381cudaGraphKernelNodeGetParams = {"cudaGraphKernelNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_381cudaGraphKernelNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_380cudaGraphKernelNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_381cudaGraphKernelNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_380cudaGraphKernelNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_380cudaGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__616)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeGetParams", __pyx_f[0], 19985, 0, __PYX_ERR(0, 19985, __pyx_L1_error));

  /* "cuda/cudart.pyx":20016
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20017
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20016
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20018
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20019
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20020
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20020, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20018
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20022
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20023
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20023, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20025
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeParams)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20026
 * 
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 *     err = ccudart.cudaGraphKernelNodeGetParams(cnode, pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetParams(__pyx_v_cnode, __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20026, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":20027
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 *     err = ccudart.cudaGraphKernelNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19985
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a kernel node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetParams(node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a kernel node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_383cudaGraphKernelNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_382cudaGraphKernelNodeSetParams[] = "cudaGraphKernelNodeSetParams(node, cudaKernelNodeParams pNodeParams: cudaKernelNodeParams)\n Sets a kernel node's parameters.\n\n    Sets the parameters of kernel node `node` to `pNodeParams`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    pNodeParams : :py:obj:`~.cudaKernelNodeParams`\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorMemoryAllocation`\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchKernel`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphKernelNodeGetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_383cudaGraphKernelNodeSetParams = {"cudaGraphKernelNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_383cudaGraphKernelNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_382cudaGraphKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_383cudaGraphKernelNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeSetParams", 1, 2, 2, 1); __PYX_ERR(0, 20030, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphKernelNodeSetParams") < 0)) __PYX_ERR(0, 20030, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_node = values[0];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeSetParams", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20030, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaKernelNodeParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 20030, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_382cudaGraphKernelNodeSetParams(__pyx_self, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_382cudaGraphKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct cudaKernelNodeParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaKernelNodeParams *__pyx_t_7;
  cudaError_t __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__617)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeSetParams", __pyx_f[0], 20030, 0, __PYX_ERR(0, 20030, __pyx_L1_error));

  /* "cuda/cudart.pyx":20052
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20053
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20052
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20054
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20055
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20056
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20056, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20054
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20058
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20059
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20059, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20061
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20061, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 20061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":20062
 * 
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetParams(cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetParams(__pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20062, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":20063
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 20063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetParams(node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a kernel node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeCopyAttributes(hSrc, hDst):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source node to destination node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_385cudaGraphKernelNodeCopyAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_384cudaGraphKernelNodeCopyAttributes[] = "cudaGraphKernelNodeCopyAttributes(hSrc, hDst)\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:`~.cudaKernelNodeAttrID`\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidContext`\n\n    See Also\n    --------\n    :py:obj:`~.cudaAccessPolicyWindow`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_385cudaGraphKernelNodeCopyAttributes = {"cudaGraphKernelNodeCopyAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_385cudaGraphKernelNodeCopyAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_384cudaGraphKernelNodeCopyAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_385cudaGraphKernelNodeCopyAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hSrc = 0;
  PyObject *__pyx_v_hDst = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeCopyAttributes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hSrc,&__pyx_n_s_hDst,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hSrc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hDst)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeCopyAttributes", 1, 2, 2, 1); __PYX_ERR(0, 20066, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphKernelNodeCopyAttributes") < 0)) __PYX_ERR(0, 20066, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_hSrc = values[0];
    __pyx_v_hDst = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeCopyAttributes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20066, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_384cudaGraphKernelNodeCopyAttributes(__pyx_self, __pyx_v_hSrc, __pyx_v_hDst);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_384cudaGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSrc, PyObject *__pyx_v_hDst) {
  cudaGraphNode_t __pyx_v_chDst;
  PyObject *__pyx_v_phDst = NULL;
  cudaGraphNode_t __pyx_v_chSrc;
  PyObject *__pyx_v_phSrc = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__618)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeCopyAttributes", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeCopyAttributes", __pyx_f[0], 20066, 0, __PYX_ERR(0, 20066, __pyx_L1_error));

  /* "cuda/cudart.pyx":20090
 *     """
 *     cdef ccudart.cudaGraphNode_t chDst
 *     if hDst is None:             # <<<<<<<<<<<<<<
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hDst, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hDst == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20091
 *     cdef ccudart.cudaGraphNode_t chDst
 *     if hDst is None:
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hDst, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phDst = int(hDst)
 */
    __pyx_v_chDst = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20090
 *     """
 *     cdef ccudart.cudaGraphNode_t chDst
 *     if hDst is None:             # <<<<<<<<<<<<<<
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hDst, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20092
 *     if hDst is None:
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hDst, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phDst = int(hDst)
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>phDst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hDst, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hDst, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20093
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hDst, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phDst = int(hDst)             # <<<<<<<<<<<<<<
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>phDst
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hDst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phDst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20094
 *     elif isinstance(hDst, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phDst = int(hDst)
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>phDst             # <<<<<<<<<<<<<<
 *     else:
 *         phDst = int(cudaGraphNode_t(hDst))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phDst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20094, __pyx_L1_error)
    __pyx_v_chDst = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20092
 *     if hDst is None:
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hDst, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phDst = int(hDst)
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>phDst
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20096
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>phDst
 *     else:
 *         phDst = int(cudaGraphNode_t(hDst))             # <<<<<<<<<<<<<<
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>phDst
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hDst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phDst = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20097
 *     else:
 *         phDst = int(cudaGraphNode_t(hDst))
 *         chDst = <ccudart.cudaGraphNode_t><void_ptr>phDst             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t chSrc
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phDst); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20097, __pyx_L1_error)
    __pyx_v_chDst = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20100
 * 
 *     cdef ccudart.cudaGraphNode_t chSrc
 *     if hSrc is None:             # <<<<<<<<<<<<<<
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hSrc, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hSrc == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20101
 *     cdef ccudart.cudaGraphNode_t chSrc
 *     if hSrc is None:
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hSrc, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phSrc = int(hSrc)
 */
    __pyx_v_chSrc = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20100
 * 
 *     cdef ccudart.cudaGraphNode_t chSrc
 *     if hSrc is None:             # <<<<<<<<<<<<<<
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hSrc, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":20102
 *     if hSrc is None:
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hSrc, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phSrc = int(hSrc)
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hSrc, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hSrc, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20103
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hSrc, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phSrc = int(hSrc)             # <<<<<<<<<<<<<<
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hSrc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phSrc = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20104
 *     elif isinstance(hSrc, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phSrc = int(hSrc)
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc             # <<<<<<<<<<<<<<
 *     else:
 *         phSrc = int(cudaGraphNode_t(hSrc))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phSrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20104, __pyx_L1_error)
    __pyx_v_chSrc = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20102
 *     if hSrc is None:
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hSrc, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phSrc = int(hSrc)
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":20106
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc
 *     else:
 *         phSrc = int(cudaGraphNode_t(hSrc))             # <<<<<<<<<<<<<<
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hSrc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phSrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20107
 *     else:
 *         phSrc = int(cudaGraphNode_t(hSrc))
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(chSrc, chDst)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phSrc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20107, __pyx_L1_error)
    __pyx_v_chSrc = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":20109
 *         chSrc = <ccudart.cudaGraphNode_t><void_ptr>phSrc
 * 
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(chSrc, chDst)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeCopyAttributes(__pyx_v_chSrc, __pyx_v_chDst); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20109, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":20110
 * 
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(chSrc, chDst)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 20110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeCopyAttributes(hSrc, hDst):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source node to destination node.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phDst);
  __Pyx_XDECREF(__pyx_v_phSrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20113
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetAttribute(hNode, attr not None : cudaKernelNodeAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries node attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_387cudaGraphKernelNodeGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_386cudaGraphKernelNodeGetAttribute[] = "cudaGraphKernelNodeGetAttribute(hNode, attr: cudaKernelNodeAttrID)\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:`~.cudaKernelNodeAttrID`\n\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n    value_out : :py:obj:`~.cudaKernelNodeAttrValue`\n\n\n    See Also\n    --------\n    :py:obj:`~.cudaAccessPolicyWindow`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_387cudaGraphKernelNodeGetAttribute = {"cudaGraphKernelNodeGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_387cudaGraphKernelNodeGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_386cudaGraphKernelNodeGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_387cudaGraphKernelNodeGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_attr = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeGetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_attr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeGetAttribute", 1, 2, 2, 1); __PYX_ERR(0, 20113, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphKernelNodeGetAttribute") < 0)) __PYX_ERR(0, 20113, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_attr = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeGetAttribute", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20113, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 20113, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_386cudaGraphKernelNodeGetAttribute(__pyx_self, __pyx_v_hNode, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_386cudaGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_v_cattr;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value_out = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_t_7;
  cudaError_t __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__619)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeGetAttribute", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeGetAttribute", __pyx_f[0], 20113, 0, __PYX_ERR(0, 20113, __pyx_L1_error));

  /* "cuda/cudart.pyx":20138
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20139
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20138
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20140
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20141
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20142
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20142, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20140
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20144
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20145
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20145, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20147
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(chNode, cattr, value_out._ptr)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cattr = __pyx_t_7;

  /* "cuda/cudart.pyx":20148
 * 
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(chNode, cattr, value_out._ptr)
 *     return (cudaError_t(err), value_out)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20149
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(chNode, cattr, value_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), value_out)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetAttribute(__pyx_v_chNode, __pyx_v_cattr, __pyx_v_value_out->_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20149, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":20150
 *     cdef cudaLaunchAttributeValue value_out = cudaLaunchAttributeValue()
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(chNode, cattr, value_out._ptr)
 *     return (cudaError_t(err), value_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 20150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_value_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_value_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_value_out));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20113
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetAttribute(hNode, attr not None : cudaKernelNodeAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries node attribute.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeGetAttribute", __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/cudart.pyx":20153
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_389cudaGraphKernelNodeSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_388cudaGraphKernelNodeSetAttribute[] = "cudaGraphKernelNodeSetAttribute(hNode, attr: cudaKernelNodeAttrID, cudaLaunchAttributeValue value: cudaLaunchAttributeValue)\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:`~.cudaKernelNodeAttrID`\n\n    value : :py:obj:`~.cudaKernelNodeAttrValue`\n\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidResourceHandle`\n\n    See Also\n    --------\n    :py:obj:`~.cudaAccessPolicyWindow`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_389cudaGraphKernelNodeSetAttribute = {"cudaGraphKernelNodeSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_389cudaGraphKernelNodeSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_388cudaGraphKernelNodeSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_389cudaGraphKernelNodeSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_attr = 0;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeSetAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_attr,&__pyx_n_s_value,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeSetAttribute", 1, 3, 3, 1); __PYX_ERR(0, 20153, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeSetAttribute", 1, 3, 3, 2); __PYX_ERR(0, 20153, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphKernelNodeSetAttribute") < 0)) __PYX_ERR(0, 20153, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphKernelNodeSetAttribute", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20153, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 20153, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue, 1, "value", 0))) __PYX_ERR(0, 20153, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_388cudaGraphKernelNodeSetAttribute(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_388cudaGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *__pyx_v_value) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_v_cattr;
  __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *__pyx_v_cvalue_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_t_7;
  union cudaLaunchAttributeValue *__pyx_t_8;
  cudaError_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__620)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeSetAttribute", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeSetAttribute", __pyx_f[0], 20153, 0, __PYX_ERR(0, 20153, __pyx_L1_error));

  /* "cuda/cudart.pyx":20178
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20179
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20178
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20180
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20181
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20182
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20182, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20180
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20184
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20185
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20185, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20187
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cattr = __pyx_t_7;

  /* "cuda/cudart.pyx":20188
 * 
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_value), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20188, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 20188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_8 = __pyx_v_value->_ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_cvalue_ptr = __pyx_t_8;

  /* "cuda/cudart.pyx":20189
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_9 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetAttribute(__pyx_v_chNode, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_9 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20189, __pyx_L1_error)
  __pyx_v_err = __pyx_t_9;

  /* "cuda/cudart.pyx":20190
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_11)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20153
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeSetAttribute", __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/cudart.pyx":20193
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pCopyParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Creates a memcpy node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_391cudaGraphAddMemcpyNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_390cudaGraphAddMemcpyNode[] = "cudaGraphAddMemcpyNode(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, cudaMemcpy3DParms pCopyParams: cudaMemcpy3DParms)\n Creates a memcpy node and adds it to a graph.\n\n    Creates a new memcpy node and adds it to `graph` with `numDependencies`\n    dependencies specified via `pDependencies`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `pDependencies` may not have any duplicate entries.\n    A handle to the new node will be returned in `pGraphNode`.\n\n    When the graph is launched, the node will perform the memcpy described\n    by `pCopyParams`. See :py:obj:`~.cudaMemcpy3D()` for a description of\n    the 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:`~.cudaDevAttrConcurrentManagedAccess`.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pCopyParams : :py:obj:`~.cudaMemcpy3DParms`\n        Parameters for the memory copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy3D`, :py:obj:`~.cudaGraphAddMemcpyNodeToSymbol`, :py:obj:`~.cudaGraphAddMemcpyNodeFromSymbol`, :py:obj:`~.cudaGraphAddMemcpyNode1D`, :py:obj:`~.cudaGraphMemcpyNodeGetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNod""e`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemsetNode`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_391cudaGraphAddMemcpyNode = {"cudaGraphAddMemcpyNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_391cudaGraphAddMemcpyNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_390cudaGraphAddMemcpyNode};
static PyObject *__pyx_pw_4cuda_6cudart_391cudaGraphAddMemcpyNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pCopyParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddMemcpyNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_pCopyParams,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode", 1, 4, 4, 1); __PYX_ERR(0, 20193, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode", 1, 4, 4, 2); __PYX_ERR(0, 20193, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pCopyParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode", 1, 4, 4, 3); __PYX_ERR(0, 20193, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddMemcpyNode") < 0)) __PYX_ERR(0, 20193, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20193, __pyx_L3_error)
    __pyx_v_pCopyParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20193, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pCopyParams), __pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms, 1, "pCopyParams", 0))) __PYX_ERR(0, 20193, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_390cudaGraphAddMemcpyNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_pCopyParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddMemcpyNode_2generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":20234
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphAddMemcpyNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_16_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_16_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_16_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20234, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_22cudaGraphAddMemcpyNode_2generator9, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddMemcpyNode_locals_ge, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 20234, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddMemcpyNode_2generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 20234, 0, __PYX_ERR(0, 20234, __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(0, 20234, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 20234, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20234, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 20234, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20234, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 20234, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20234, __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, 20234, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":20193
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pCopyParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Creates a memcpy node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_390cudaGraphAddMemcpyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pCopyParams) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct cudaMemcpy3DParms *__pyx_v_cpCopyParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddMemcpyNode_2generator9 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaMemcpy3DParms *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__621)
  __Pyx_RefNannySetupContext("cudaGraphAddMemcpyNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20193, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemcpyNode", __pyx_f[0], 20193, 0, __PYX_ERR(0, 20193, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":20233
 *     :py:obj:`~.cudaMemcpy3D`, :py:obj:`~.cudaGraphAddMemcpyNodeToSymbol`, :py:obj:`~.cudaGraphAddMemcpyNodeFromSymbol`, :py:obj:`~.cudaGraphAddMemcpyNode1D`, :py:obj:`~.cudaGraphMemcpyNodeGetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemsetNode`
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20234
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_22cudaGraphAddMemcpyNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 20234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":20235
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 20235, __pyx_L1_error)

    /* "cuda/cudart.pyx":20234
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":20238
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20239
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20238
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20240
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20241
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":20242
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20242, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":20240
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20244
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":20245
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20245, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":20247
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20248
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":20249
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20250
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20250, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":20251
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":20252
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20252, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20252, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20252, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20252, __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(0, 20252, __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(0, 20252, __pyx_L1_error)

      /* "cuda/cudart.pyx":20251
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":20254
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20254, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":20255
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20255, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":20249
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":20257
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpy3DParms* cpCopyParams_ptr = pCopyParams._ptr if pCopyParams != None else NULL
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20257, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20257, __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(0, 20257, __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(0, 20257, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":20258
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaMemcpy3DParms* cpCopyParams_ptr = pCopyParams._ptr if pCopyParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopyParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20258, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 20258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_11 = __pyx_v_pCopyParams->_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cpCopyParams_ptr = __pyx_t_11;

  /* "cuda/cudart.pyx":20259
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaMemcpy3DParms* cpCopyParams_ptr = pCopyParams._ptr if pCopyParams != None else NULL
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cpCopyParams_ptr); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20259, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":20260
 *     cdef ccudart.cudaMemcpy3DParms* cpCopyParams_ptr = pCopyParams._ptr if pCopyParams != None else NULL
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20261
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":20260
 *     cdef ccudart.cudaMemcpy3DParms* cpCopyParams_ptr = pCopyParams._ptr if pCopyParams != None else NULL
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":20262
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20193
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pCopyParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Creates a memcpy node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_22cudaGraphAddMemcpyNode_2generator9);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20265
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode1D(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Creates a 1D memcpy node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_393cudaGraphAddMemcpyNode1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_392cudaGraphAddMemcpyNode1D[] = "cudaGraphAddMemcpyNode1D(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, dst, src, size_t count, kind: cudaMemcpyKind)\n Creates a 1D memcpy node and adds it to a graph.\n\n    Creates a new 1D memcpy node and adds it to `graph` with\n    `numDependencies` dependencies specified via `pDependencies`. It is\n    possible for `numDependencies` to be 0, in which case the node will be\n    placed at the root of the graph. `pDependencies` may not have any\n    duplicate entries. A handle to the new node will be returned in\n    `pGraphNode`.\n\n    When the graph is launched, the node will copy `count` bytes from the\n    memory area pointed to by `src` to the memory area pointed to by `dst`,\n    where `kind` specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. Launching a memcpy node with dst and src\n    pointers that do not match the direction of the copy results in an\n    undefined behavior.\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:`~.cudaDevAttrConcurrentManagedAccess`.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    dst : Any\n        Destination memory address\n    src : Any\n        Source memory address""\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphMemcpyNodeGetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams1D`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemsetNode`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_393cudaGraphAddMemcpyNode1D = {"cudaGraphAddMemcpyNode1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_393cudaGraphAddMemcpyNode1D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_392cudaGraphAddMemcpyNode1D};
static PyObject *__pyx_pw_4cuda_6cudart_393cudaGraphAddMemcpyNode1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddMemcpyNode1D (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_count,&__pyx_n_s_kind_2,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode1D", 1, 7, 7, 1); __PYX_ERR(0, 20265, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode1D", 1, 7, 7, 2); __PYX_ERR(0, 20265, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode1D", 1, 7, 7, 3); __PYX_ERR(0, 20265, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode1D", 1, 7, 7, 4); __PYX_ERR(0, 20265, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode1D", 1, 7, 7, 5); __PYX_ERR(0, 20265, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode1D", 1, 7, 7, 6); __PYX_ERR(0, 20265, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddMemcpyNode1D") < 0)) __PYX_ERR(0, 20265, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20265, __pyx_L3_error)
    __pyx_v_dst = values[3];
    __pyx_v_src = values[4];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20265, __pyx_L3_error)
    __pyx_v_kind = values[6];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemcpyNode1D", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20265, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 20265, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_392cudaGraphAddMemcpyNode1D(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_dst, __pyx_v_src, __pyx_v_count, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_2generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":20322
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_18_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_18_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_18_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20322, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_2generator10, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddMemcpyNode1D_locals, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 20322, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode1D.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_2generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 20322, 0, __PYX_ERR(0, 20322, __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(0, 20322, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 20322, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20322, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 20322, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20322, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 20322, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20322, __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, 20322, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":20265
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode1D(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Creates a 1D memcpy node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_392cudaGraphAddMemcpyNode1D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  enum cudaMemcpyKind __pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__622)
  __Pyx_RefNannySetupContext("cudaGraphAddMemcpyNode1D", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20265, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemcpyNode1D", __pyx_f[0], 20265, 0, __PYX_ERR(0, 20265, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":20321
 *     :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphMemcpyNodeGetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams1D`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemsetNode`
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20322
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 20322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":20323
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 20323, __pyx_L1_error)

    /* "cuda/cudart.pyx":20322
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":20326
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20327
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20326
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20328
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20329
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":20330
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20330, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":20328
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20332
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":20333
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20333, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":20335
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20336
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":20337
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20338
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20338, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":20339
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":20340
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20340, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20340, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20340, __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(0, 20340, __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(0, 20340, __pyx_L1_error)

      /* "cuda/cudart.pyx":20339
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":20342
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20342, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":20343
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20343, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":20337
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":20345
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_v_cdst = __pyx_t_8;
  __pyx_t_8 = 0;

  /* "cuda/cudart.pyx":20346
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_8); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":20347
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_v_csrc = __pyx_t_8;
  __pyx_t_8 = 0;

  /* "cuda/cudart.pyx":20348
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdst_ptr, csrc_ptr, count, ckind)
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_8); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":20349
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdst_ptr, csrc_ptr, count, ckind)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_11 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_8)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_ckind = __pyx_t_11;

  /* "cuda/cudart.pyx":20350
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdst_ptr, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode1D(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cdst_ptr, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20350, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":20351
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdst_ptr, csrc_ptr, count, ckind)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20352
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdst_ptr, csrc_ptr, count, ckind)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":20351
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdst_ptr, csrc_ptr, count, ckind)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":20353
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_8 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20265
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode1D(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Creates a 1D memcpy node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_2generator10);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20356
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memcpy node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_395cudaGraphMemcpyNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_394cudaGraphMemcpyNodeGetParams[] = "cudaGraphMemcpyNodeGetParams(node)\n Returns a memcpy node's parameters.\n\n    Returns the parameters of memcpy node `node` in `pNodeParams`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pNodeParams : :py:obj:`~.cudaMemcpy3DParms`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy3D`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_395cudaGraphMemcpyNodeGetParams = {"cudaGraphMemcpyNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_395cudaGraphMemcpyNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_394cudaGraphMemcpyNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_395cudaGraphMemcpyNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_394cudaGraphMemcpyNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_394cudaGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__623)
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemcpyNodeGetParams", __pyx_f[0], 20356, 0, __PYX_ERR(0, 20356, __pyx_L1_error));

  /* "cuda/cudart.pyx":20378
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20379
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20378
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20380
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20381
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20382
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20382, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20380
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20384
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20385
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20385, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20387
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemcpyNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20388
 * 
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 *     err = ccudart.cudaGraphMemcpyNodeGetParams(cnode, pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeGetParams(__pyx_v_cnode, __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20388, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":20389
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 *     err = ccudart.cudaGraphMemcpyNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20356
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memcpy node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemcpyNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20392
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams(node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_397cudaGraphMemcpyNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_396cudaGraphMemcpyNodeSetParams[] = "cudaGraphMemcpyNodeSetParams(node, cudaMemcpy3DParms pNodeParams: cudaMemcpy3DParms)\n Sets a memcpy node's parameters.\n\n    Sets the parameters of memcpy node `node` to `pNodeParams`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    pNodeParams : :py:obj:`~.cudaMemcpy3DParms`\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy3D`, :py:obj:`~.cudaGraphMemcpyNodeSetParamsToSymbol`, :py:obj:`~.cudaGraphMemcpyNodeSetParamsFromSymbol`, :py:obj:`~.cudaGraphMemcpyNodeSetParams1D`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphMemcpyNodeGetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_397cudaGraphMemcpyNodeSetParams = {"cudaGraphMemcpyNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_397cudaGraphMemcpyNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_396cudaGraphMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_397cudaGraphMemcpyNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphMemcpyNodeSetParams", 1, 2, 2, 1); __PYX_ERR(0, 20392, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphMemcpyNodeSetParams") < 0)) __PYX_ERR(0, 20392, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_node = values[0];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphMemcpyNodeSetParams", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20392, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms, 1, "pNodeParams", 0))) __PYX_ERR(0, 20392, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_396cudaGraphMemcpyNodeSetParams(__pyx_self, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_396cudaGraphMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct cudaMemcpy3DParms *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemcpy3DParms *__pyx_t_7;
  cudaError_t __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__624)
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphMemcpyNodeSetParams", __pyx_f[0], 20392, 0, __PYX_ERR(0, 20392, __pyx_L1_error));

  /* "cuda/cudart.pyx":20414
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20415
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20414
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20416
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20417
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20418
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20418, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20416
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20420
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20421
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20421, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20423
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemcpyNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20423, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 20423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":20424
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemcpyNodeSetParams(cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams(__pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20424, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":20425
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemcpyNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 20425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20392
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams(node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20428
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams1D(node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters to perform a 1-dimensional copy.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_399cudaGraphMemcpyNodeSetParams1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_398cudaGraphMemcpyNodeSetParams1D[] = "cudaGraphMemcpyNodeSetParams1D(node, dst, src, size_t count, kind: cudaMemcpyKind)\n Sets a memcpy node's parameters to perform a 1-dimensional copy.\n\n    Sets the parameters of memcpy node `node` to the copy described by the\n    provided parameters.\n\n    When the graph is launched, the node will copy `count` bytes from the\n    memory area pointed to by `src` to the memory area pointed to by `dst`,\n    where `kind` specifies the direction of the copy, and must be one of\n    :py:obj:`~.cudaMemcpyHostToHost`, :py:obj:`~.cudaMemcpyHostToDevice`,\n    :py:obj:`~.cudaMemcpyDeviceToHost`,\n    :py:obj:`~.cudaMemcpyDeviceToDevice`, or :py:obj:`~.cudaMemcpyDefault`.\n    Passing :py:obj:`~.cudaMemcpyDefault` is recommended, in which case the\n    type of transfer is inferred from the pointer values. However,\n    :py:obj:`~.cudaMemcpyDefault` is only allowed on systems that support\n    unified virtual addressing. Launching a memcpy node with dst and src\n    pointers that do not match the direction of the copy results in an\n    undefined behavior.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    dst : Any\n        Destination memory address\n    src : Any\n        Source memory address\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphMemcpyNodeGetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_399cudaGraphMemcpyNodeSetParams1D = {"cudaGraphMemcpyNodeSetParams1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_399cudaGraphMemcpyNodeSetParams1D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_398cudaGraphMemcpyNodeSetParams1D};
static PyObject *__pyx_pw_4cuda_6cudart_399cudaGraphMemcpyNodeSetParams1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeSetParams1D (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_count,&__pyx_n_s_kind_2,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphMemcpyNodeSetParams1D", 1, 5, 5, 1); __PYX_ERR(0, 20428, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphMemcpyNodeSetParams1D", 1, 5, 5, 2); __PYX_ERR(0, 20428, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphMemcpyNodeSetParams1D", 1, 5, 5, 3); __PYX_ERR(0, 20428, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphMemcpyNodeSetParams1D", 1, 5, 5, 4); __PYX_ERR(0, 20428, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphMemcpyNodeSetParams1D") < 0)) __PYX_ERR(0, 20428, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_node = values[0];
    __pyx_v_dst = values[1];
    __pyx_v_src = values[2];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20428, __pyx_L3_error)
    __pyx_v_kind = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphMemcpyNodeSetParams1D", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20428, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemcpyNodeSetParams1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 20428, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_398cudaGraphMemcpyNodeSetParams1D(__pyx_self, __pyx_v_node, __pyx_v_dst, __pyx_v_src, __pyx_v_count, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_398cudaGraphMemcpyNodeSetParams1D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__625)
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeSetParams1D", 0);
  __Pyx_TraceCall("cudaGraphMemcpyNodeSetParams1D", __pyx_f[0], 20428, 0, __PYX_ERR(0, 20428, __pyx_L1_error));

  /* "cuda/cudart.pyx":20470
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20471
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20470
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20472
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20473
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20474
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20474, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20472
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20476
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20477
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20477, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20479
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_cdst = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20480
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":20481
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_csrc = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20482
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphMemcpyNodeSetParams1D(cnode, cdst_ptr, csrc_ptr, count, ckind)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":20483
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemcpyNodeSetParams1D(cnode, cdst_ptr, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_6)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 20483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":20484
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphMemcpyNodeSetParams1D(cnode, cdst_ptr, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams1D(__pyx_v_cnode, __pyx_v_cdst_ptr, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20484, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":20485
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphMemcpyNodeSetParams1D(cnode, cdst_ptr, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20428
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams1D(node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters to perform a 1-dimensional copy.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemcpyNodeSetParams1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemsetNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pMemsetParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Creates a memset node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_401cudaGraphAddMemsetNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_400cudaGraphAddMemsetNode[] = "cudaGraphAddMemsetNode(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, cudaMemsetParams pMemsetParams: cudaMemsetParams)\n Creates a memset node and adds it to a graph.\n\n    Creates a new memset node and adds it to `graph` with `numDependencies`\n    dependencies specified via `pDependencies`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `pDependencies` may not have any duplicate entries.\n    A handle to the new node will be returned in `pGraphNode`.\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 `pMemsetParams`.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pMemsetParams : :py:obj:`~.cudaMemsetParams`\n        Parameters for the memory set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorInvalidDevice`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaGraphMemsetNodeGetParams`, :py:obj:`~.cudaGraphMemsetNodeSetParams`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_401cudaGraphAddMemsetNode = {"cudaGraphAddMemsetNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_401cudaGraphAddMemsetNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_400cudaGraphAddMemsetNode};
static PyObject *__pyx_pw_4cuda_6cudart_401cudaGraphAddMemsetNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pMemsetParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddMemsetNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_pMemsetParams,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemsetNode", 1, 4, 4, 1); __PYX_ERR(0, 20488, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemsetNode", 1, 4, 4, 2); __PYX_ERR(0, 20488, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pMemsetParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemsetNode", 1, 4, 4, 3); __PYX_ERR(0, 20488, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddMemsetNode") < 0)) __PYX_ERR(0, 20488, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20488, __pyx_L3_error)
    __pyx_v_pMemsetParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemsetNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20488, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemsetNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pMemsetParams), __pyx_ptype_4cuda_6cudart_cudaMemsetParams, 1, "pMemsetParams", 0))) __PYX_ERR(0, 20488, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_400cudaGraphAddMemsetNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_pMemsetParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddMemsetNode_2generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":20523
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphAddMemsetNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_20_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_20_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_20_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20523, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_22cudaGraphAddMemsetNode_2generator11, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddMemsetNode_locals_ge, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 20523, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemsetNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddMemsetNode_2generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 20523, 0, __PYX_ERR(0, 20523, __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(0, 20523, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 20523, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20523, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 20523, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20523, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 20523, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20523, __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, 20523, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":20488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemsetNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pMemsetParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Creates a memset node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_400cudaGraphAddMemsetNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pMemsetParams) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct cudaMemsetParams *__pyx_v_cpMemsetParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_22cudaGraphAddMemsetNode_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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaMemsetParams *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__626)
  __Pyx_RefNannySetupContext("cudaGraphAddMemsetNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20488, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemsetNode", __pyx_f[0], 20488, 0, __PYX_ERR(0, 20488, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":20522
 *     :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaGraphMemsetNodeGetParams`, :py:obj:`~.cudaGraphMemsetNodeSetParams`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20523
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_22cudaGraphAddMemsetNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 20523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":20524
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 20524, __pyx_L1_error)

    /* "cuda/cudart.pyx":20523
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":20527
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20528
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20527
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20529
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20530
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":20531
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20531, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":20529
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20533
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":20534
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20534, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":20536
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20537
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":20538
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20538, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20539
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20539, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":20540
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":20541
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20541, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20541, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20541, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20541, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20541, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20541, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20541, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20541, __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(0, 20541, __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(0, 20541, __pyx_L1_error)

      /* "cuda/cudart.pyx":20540
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":20543
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20543, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":20544
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20544, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":20538
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":20546
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemsetParams* cpMemsetParams_ptr = pMemsetParams._ptr if pMemsetParams != None else NULL
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20546, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20546, __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(0, 20546, __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(0, 20546, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":20547
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaMemsetParams* cpMemsetParams_ptr = pMemsetParams._ptr if pMemsetParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_pMemsetParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20547, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 20547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_11 = __pyx_v_pMemsetParams->_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cpMemsetParams_ptr = __pyx_t_11;

  /* "cuda/cudart.pyx":20548
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaMemsetParams* cpMemsetParams_ptr = pMemsetParams._ptr if pMemsetParams != None else NULL
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemsetNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cpMemsetParams_ptr); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20548, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":20549
 *     cdef ccudart.cudaMemsetParams* cpMemsetParams_ptr = pMemsetParams._ptr if pMemsetParams != None else NULL
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20550
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":20549
 *     cdef ccudart.cudaMemsetParams* cpMemsetParams_ptr = pMemsetParams._ptr if pMemsetParams != None else NULL
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":20551
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemsetNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pMemsetParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Creates a memset node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemsetNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_22cudaGraphAddMemsetNode_2generator11);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20554
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memset node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_403cudaGraphMemsetNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_402cudaGraphMemsetNodeGetParams[] = "cudaGraphMemsetNodeGetParams(node)\n Returns a memset node's parameters.\n\n    Returns the parameters of memset node `node` in `pNodeParams`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pNodeParams : :py:obj:`~.cudaMemsetParams`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaGraphAddMemsetNode`, :py:obj:`~.cudaGraphMemsetNodeSetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_403cudaGraphMemsetNodeGetParams = {"cudaGraphMemsetNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_403cudaGraphMemsetNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_402cudaGraphMemsetNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_403cudaGraphMemsetNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemsetNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_402cudaGraphMemsetNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_402cudaGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__627)
  __Pyx_RefNannySetupContext("cudaGraphMemsetNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemsetNodeGetParams", __pyx_f[0], 20554, 0, __PYX_ERR(0, 20554, __pyx_L1_error));

  /* "cuda/cudart.pyx":20576
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20577
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20576
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20578
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20579
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20580
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20580, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20578
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20582
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20583
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20583, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20585
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemsetNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemsetParams)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20586
 * 
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 *     err = ccudart.cudaGraphMemsetNodeGetParams(cnode, pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeGetParams(__pyx_v_cnode, __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20586, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":20587
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 *     err = ccudart.cudaGraphMemsetNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20554
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memset node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemsetNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20590
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeSetParams(node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets a memset node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_405cudaGraphMemsetNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_404cudaGraphMemsetNodeSetParams[] = "cudaGraphMemsetNodeSetParams(node, cudaMemsetParams pNodeParams: cudaMemsetParams)\n Sets a memset node's parameters.\n\n    Sets the parameters of memset node `node` to `pNodeParams`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    pNodeParams : :py:obj:`~.cudaMemsetParams`\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaMemset2D`, :py:obj:`~.cudaGraphAddMemsetNode`, :py:obj:`~.cudaGraphMemsetNodeGetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_405cudaGraphMemsetNodeSetParams = {"cudaGraphMemsetNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_405cudaGraphMemsetNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_404cudaGraphMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_405cudaGraphMemsetNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemsetNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphMemsetNodeSetParams", 1, 2, 2, 1); __PYX_ERR(0, 20590, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphMemsetNodeSetParams") < 0)) __PYX_ERR(0, 20590, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_node = values[0];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphMemsetNodeSetParams", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20590, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaMemsetParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 20590, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_404cudaGraphMemsetNodeSetParams(__pyx_self, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_404cudaGraphMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct cudaMemsetParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemsetParams *__pyx_t_7;
  cudaError_t __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__628)
  __Pyx_RefNannySetupContext("cudaGraphMemsetNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphMemsetNodeSetParams", __pyx_f[0], 20590, 0, __PYX_ERR(0, 20590, __pyx_L1_error));

  /* "cuda/cudart.pyx":20612
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20613
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20612
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20614
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20615
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20616
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20616, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20614
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20618
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20619
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20619, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20621
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemsetNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20621, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 20621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":20622
 * 
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemsetNodeSetParams(cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeSetParams(__pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20622, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":20623
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemsetNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 20623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20590
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeSetParams(node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets a memset node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20626
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddHostNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a host execution node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_407cudaGraphAddHostNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_406cudaGraphAddHostNode[] = "cudaGraphAddHostNode(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, cudaHostNodeParams pNodeParams: cudaHostNodeParams)\n Creates a host execution node and adds it to a graph.\n\n    Creates a new CPU execution node and adds it to `graph` with\n    `numDependencies` dependencies specified via `pDependencies` and\n    arguments specified in `pNodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `pDependencies` may not have any duplicate entries.\n    A handle to the new node will be returned in `pGraphNode`.\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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pNodeParams : :py:obj:`~.cudaHostNodeParams`\n        Parameters for the host node\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchHostFunc`, :py:obj:`~.cudaGraphHostNodeGetParams`, :py:obj:`~.cudaGraphHostNodeSetParams`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_407cudaGraphAddHostNode = {"cudaGraphAddHostNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_407cudaGraphAddHostNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_406cudaGraphAddHostNode};
static PyObject *__pyx_pw_4cuda_6cudart_407cudaGraphAddHostNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddHostNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_pNodeParams,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddHostNode", 1, 4, 4, 1); __PYX_ERR(0, 20626, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddHostNode", 1, 4, 4, 2); __PYX_ERR(0, 20626, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddHostNode", 1, 4, 4, 3); __PYX_ERR(0, 20626, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddHostNode") < 0)) __PYX_ERR(0, 20626, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20626, __pyx_L3_error)
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddHostNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20626, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddHostNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaHostNodeParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 20626, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_406cudaGraphAddHostNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_20cudaGraphAddHostNode_2generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":20662
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_20cudaGraphAddHostNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_22_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_22_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_22_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20662, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_20cudaGraphAddHostNode_2generator12, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddHostNode_locals_gene, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 20662, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddHostNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_20cudaGraphAddHostNode_2generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 20662, 0, __PYX_ERR(0, 20662, __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(0, 20662, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 20662, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20662, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 20662, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20662, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 20662, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20662, __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, 20662, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":20626
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddHostNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a host execution node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_406cudaGraphAddHostNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct cudaHostNodeParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_20cudaGraphAddHostNode_2generator12 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaHostNodeParams *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__629)
  __Pyx_RefNannySetupContext("cudaGraphAddHostNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20626, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddHostNode", __pyx_f[0], 20626, 0, __PYX_ERR(0, 20626, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":20661
 *     :py:obj:`~.cudaLaunchHostFunc`, :py:obj:`~.cudaGraphHostNodeGetParams`, :py:obj:`~.cudaGraphHostNodeSetParams`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20662
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_20cudaGraphAddHostNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 20662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":20663
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 20663, __pyx_L1_error)

    /* "cuda/cudart.pyx":20662
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":20666
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20667
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20666
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20668
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20669
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":20670
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20670, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":20668
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20672
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":20673
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20673, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":20675
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20676
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":20677
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20678
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20678, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":20679
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":20680
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20680, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20680, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20680, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20680, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20680, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20680, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20680, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20680, __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(0, 20680, __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(0, 20680, __pyx_L1_error)

      /* "cuda/cudart.pyx":20679
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":20682
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20682, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":20683
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20683, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":20677
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":20685
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20685, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20685, __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(0, 20685, __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(0, 20685, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":20686
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20686, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 20686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_11 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_11;

  /* "cuda/cudart.pyx":20687
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddHostNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20687, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":20688
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20689
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":20688
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":20690
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20626
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddHostNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a host execution node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddHostNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_20cudaGraphAddHostNode_2generator12);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20693
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a host node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_409cudaGraphHostNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_408cudaGraphHostNodeGetParams[] = "cudaGraphHostNodeGetParams(node)\n Returns a host node's parameters.\n\n    Returns the parameters of host node `node` in `pNodeParams`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pNodeParams : :py:obj:`~.cudaHostNodeParams`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchHostFunc`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphHostNodeSetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_409cudaGraphHostNodeGetParams = {"cudaGraphHostNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_409cudaGraphHostNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_408cudaGraphHostNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_409cudaGraphHostNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphHostNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_408cudaGraphHostNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_408cudaGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__630)
  __Pyx_RefNannySetupContext("cudaGraphHostNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphHostNodeGetParams", __pyx_f[0], 20693, 0, __PYX_ERR(0, 20693, __pyx_L1_error));

  /* "cuda/cudart.pyx":20715
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20716
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20715
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20717
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20718
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20719
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20719, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20717
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20721
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20721, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20722
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20722, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20724
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphHostNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostNodeParams)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20725
 * 
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 *     err = ccudart.cudaGraphHostNodeGetParams(cnode, pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphHostNodeGetParams(__pyx_v_cnode, __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20725, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":20726
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 *     err = ccudart.cudaGraphHostNodeGetParams(cnode, pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20693
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a host node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphHostNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20729
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeSetParams(node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a host node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_411cudaGraphHostNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_410cudaGraphHostNodeSetParams[] = "cudaGraphHostNodeSetParams(node, cudaHostNodeParams pNodeParams: cudaHostNodeParams)\n Sets a host node's parameters.\n\n    Sets the parameters of host node `node` to `nodeParams`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    pNodeParams : :py:obj:`~.cudaHostNodeParams`\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchHostFunc`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphHostNodeGetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_411cudaGraphHostNodeSetParams = {"cudaGraphHostNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_411cudaGraphHostNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_410cudaGraphHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_411cudaGraphHostNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphHostNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphHostNodeSetParams", 1, 2, 2, 1); __PYX_ERR(0, 20729, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphHostNodeSetParams") < 0)) __PYX_ERR(0, 20729, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_node = values[0];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphHostNodeSetParams", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20729, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaHostNodeParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 20729, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_410cudaGraphHostNodeSetParams(__pyx_self, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_410cudaGraphHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct cudaHostNodeParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaHostNodeParams *__pyx_t_7;
  cudaError_t __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__631)
  __Pyx_RefNannySetupContext("cudaGraphHostNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphHostNodeSetParams", __pyx_f[0], 20729, 0, __PYX_ERR(0, 20729, __pyx_L1_error));

  /* "cuda/cudart.pyx":20751
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20752
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20751
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20753
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20754
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20755
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20755, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20753
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20757
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20758
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20758, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20760
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphHostNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20760, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 20760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":20761
 * 
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphHostNodeSetParams(cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphHostNodeSetParams(__pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20761, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":20762
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphHostNodeSetParams(cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 20762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20729
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeSetParams(node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a host node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20765
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddChildGraphNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, childGraph):             # <<<<<<<<<<<<<<
 *     """ Creates a child graph node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_413cudaGraphAddChildGraphNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_412cudaGraphAddChildGraphNode[] = "cudaGraphAddChildGraphNode(graph, pDependencies: List[cudaGraphNode_t], 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    `graph` with `numDependencies` dependencies specified via\n    `pDependencies`. It is possible for `numDependencies` to be 0, in which\n    case the node will be placed at the root of the graph. `pDependencies`\n    may not have any duplicate entries. A handle to the new node will be\n    returned in `pGraphNode`.\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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphChildGraphNodeGetGraph`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`, :py:obj:`~.cudaGraphClone`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_413cudaGraphAddChildGraphNode = {"cudaGraphAddChildGraphNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_413cudaGraphAddChildGraphNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_412cudaGraphAddChildGraphNode};
static PyObject *__pyx_pw_4cuda_6cudart_413cudaGraphAddChildGraphNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_childGraph = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddChildGraphNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_childGraph,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddChildGraphNode", 1, 4, 4, 1); __PYX_ERR(0, 20765, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddChildGraphNode", 1, 4, 4, 2); __PYX_ERR(0, 20765, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_childGraph)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddChildGraphNode", 1, 4, 4, 3); __PYX_ERR(0, 20765, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddChildGraphNode") < 0)) __PYX_ERR(0, 20765, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20765, __pyx_L3_error)
    __pyx_v_childGraph = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddChildGraphNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20765, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddChildGraphNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_412cudaGraphAddChildGraphNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_childGraph);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_26cudaGraphAddChildGraphNode_2generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":20814
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_26cudaGraphAddChildGraphNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_24_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_24_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_24_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20814, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_26cudaGraphAddChildGraphNode_2generator13, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddChildGraphNode_local, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 20814, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddChildGraphNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_26cudaGraphAddChildGraphNode_2generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 20814, 0, __PYX_ERR(0, 20814, __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(0, 20814, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 20814, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20814, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 20814, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20814, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 20814, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20814, __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, 20814, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":20765
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddChildGraphNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, childGraph):             # <<<<<<<<<<<<<<
 *     """ Creates a child graph node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_412cudaGraphAddChildGraphNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_childGraph) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cchildGraph;
  PyObject *__pyx_v_pchildGraph = NULL;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_26cudaGraphAddChildGraphNode_2generator13 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  cudaGraphNode_t *__pyx_t_11;
  cudaError_t __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__632)
  __Pyx_RefNannySetupContext("cudaGraphAddChildGraphNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20765, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddChildGraphNode", __pyx_f[0], 20765, 0, __PYX_ERR(0, 20765, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":20804
 *     """
 *     cdef ccudart.cudaGraph_t cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_childGraph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20805
 *     cdef ccudart.cudaGraph_t cchildGraph
 *     if childGraph is None:
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pchildGraph = int(childGraph)
 */
    __pyx_v_cchildGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20804
 *     """
 *     cdef ccudart.cudaGraph_t cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20806
 *     if childGraph is None:
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20807
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pchildGraph = int(childGraph)             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_childGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pchildGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20808
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     else:
 *         pchildGraph = int(cudaGraph_t(childGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20808, __pyx_L1_error)
    __pyx_v_cchildGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20806
 *     if childGraph is None:
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20810
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 *     else:
 *         pchildGraph = int(cudaGraph_t(childGraph))             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_childGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pchildGraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20811
 *     else:
 *         pchildGraph = int(cudaGraph_t(childGraph))
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20811, __pyx_L1_error)
    __pyx_v_cchildGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20813
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_1 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_1 != 0)) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20814
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_6 = __pyx_pf_4cuda_6cudart_26cudaGraphAddChildGraphNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 20814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":20815
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 20815, __pyx_L1_error)

    /* "cuda/cudart.pyx":20814
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":20818
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_2 = (__pyx_v_graph == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20819
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20818
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":20820
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L8_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20821
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20822
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20822, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20820
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":20824
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20825
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20825, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L7:;

  /* "cuda/cudart.pyx":20827
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20828
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":20829
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20830
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20830, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":20831
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_2 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":20832
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(0, 20832, __pyx_L1_error)

      /* "cuda/cudart.pyx":20831
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":20834
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20834, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":20835
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20835, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":20829
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":20837
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddChildGraphNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cchildGraph)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 20837, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":20838
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddChildGraphNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cchildGraph)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20838, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_4)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddChildGraphNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cchildGraph); if (unlikely(__pyx_t_12 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20838, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":20839
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddChildGraphNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cchildGraph)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20840
 *     err = ccudart.cudaGraphAddChildGraphNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cchildGraph)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":20839
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddChildGraphNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cchildGraph)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":20841
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20765
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddChildGraphNode(graph, pDependencies : List[cudaGraphNode_t], 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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddChildGraphNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pchildGraph);
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_26cudaGraphAddChildGraphNode_2generator13);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20844
 * 
 * @cython.embedsignature(True)
 * def cudaGraphChildGraphNodeGetGraph(node):             # <<<<<<<<<<<<<<
 *     """ Gets a handle to the embedded graph of a child graph node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_415cudaGraphChildGraphNodeGetGraph(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_414cudaGraphChildGraphNodeGetGraph[] = "cudaGraphChildGraphNodeGetGraph(node)\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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the embedded graph for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraph : :py:obj:`~.cudaGraph_t`\n        Location to store a handle to the graph\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphNodeFindInClone`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_415cudaGraphChildGraphNodeGetGraph = {"cudaGraphChildGraphNodeGetGraph", (PyCFunction)__pyx_pw_4cuda_6cudart_415cudaGraphChildGraphNodeGetGraph, METH_O, __pyx_doc_4cuda_6cudart_414cudaGraphChildGraphNodeGetGraph};
static PyObject *__pyx_pw_4cuda_6cudart_415cudaGraphChildGraphNodeGetGraph(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphChildGraphNodeGetGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_414cudaGraphChildGraphNodeGetGraph(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_414cudaGraphChildGraphNodeGetGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraph = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__633)
  __Pyx_RefNannySetupContext("cudaGraphChildGraphNodeGetGraph", 0);
  __Pyx_TraceCall("cudaGraphChildGraphNodeGetGraph", __pyx_f[0], 20844, 0, __PYX_ERR(0, 20844, __pyx_L1_error));

  /* "cuda/cudart.pyx":20871
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20872
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20871
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20873
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20874
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20875
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20875, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20873
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20877
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20878
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20878, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20880
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaGraph_t pGraph = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphChildGraphNodeGetGraph(cnode, <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraph = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":20881
 * 
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaGraphChildGraphNodeGetGraph(cnode, <ccudart.cudaGraph_t*>pGraph._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraph)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphChildGraphNodeGetGraph(__pyx_v_cnode, ((cudaGraph_t *)__pyx_v_pGraph->__pyx_base._ptr)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20881, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":20882
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaGraphChildGraphNodeGetGraph(cnode, <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraph));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraph));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pGraph));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20844
 * 
 * @cython.embedsignature(True)
 * def cudaGraphChildGraphNodeGetGraph(node):             # <<<<<<<<<<<<<<
 *     """ Gets a handle to the embedded graph of a child graph node.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphChildGraphNodeGetGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20885
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEmptyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Creates an empty node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_417cudaGraphAddEmptyNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_416cudaGraphAddEmptyNode[] = "cudaGraphAddEmptyNode(graph, pDependencies: List[cudaGraphNode_t], 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 `graph`\n    with `numDependencies` dependencies specified via `pDependencies`. It\n    is possible for `numDependencies` to be 0, in which case the node will\n    be placed at the root of the graph. `pDependencies` may not have any\n    duplicate entries. A handle to the new node will be returned in\n    `pGraphNode`.\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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_417cudaGraphAddEmptyNode = {"cudaGraphAddEmptyNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_417cudaGraphAddEmptyNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_416cudaGraphAddEmptyNode};
static PyObject *__pyx_pw_4cuda_6cudart_417cudaGraphAddEmptyNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddEmptyNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEmptyNode", 1, 3, 3, 1); __PYX_ERR(0, 20885, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEmptyNode", 1, 3, 3, 2); __PYX_ERR(0, 20885, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddEmptyNode") < 0)) __PYX_ERR(0, 20885, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20885, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddEmptyNode", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20885, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEmptyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_416cudaGraphAddEmptyNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_21cudaGraphAddEmptyNode_2generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":20922
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_21cudaGraphAddEmptyNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_26_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_26_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_26_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20922, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_21cudaGraphAddEmptyNode_2generator14, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddEmptyNode_locals_gen, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 20922, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEmptyNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_21cudaGraphAddEmptyNode_2generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 20922, 0, __PYX_ERR(0, 20922, __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(0, 20922, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 20922, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20922, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 20922, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20922, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 20922, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20922, __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, 20922, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":20885
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEmptyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Creates an empty node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_416cudaGraphAddEmptyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_21cudaGraphAddEmptyNode_2generator14 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  cudaGraphNode_t *__pyx_t_11;
  cudaError_t __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__634)
  __Pyx_RefNannySetupContext("cudaGraphAddEmptyNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20885, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddEmptyNode", __pyx_f[0], 20885, 0, __PYX_ERR(0, 20885, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":20921
 *     :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20922
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_21cudaGraphAddEmptyNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 20922, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":20923
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 20923, __pyx_L1_error)

    /* "cuda/cudart.pyx":20922
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":20926
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20927
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20926
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20928
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20929
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":20930
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20930, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":20928
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":20932
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":20933
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20933, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":20935
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20936
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":20937
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20938
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20938, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":20939
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":20940
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20940, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20940, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20940, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20940, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20940, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20940, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20940, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20940, __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(0, 20940, __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(0, 20940, __pyx_L1_error)

      /* "cuda/cudart.pyx":20939
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":20942
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20942, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":20943
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20943, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":20937
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":20945
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddEmptyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20945, __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(0, 20945, __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(0, 20945, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":20946
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEmptyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddEmptyNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_11, __pyx_v_numDependencies); if (unlikely(__pyx_t_12 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 20946, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":20947
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEmptyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":20948
 *     err = ccudart.cudaGraphAddEmptyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":20947
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEmptyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":20949
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __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(0, 20949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 20949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20885
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEmptyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Creates an empty node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEmptyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_21cudaGraphAddEmptyNode_2generator14);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":20952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventRecordNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event record node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_419cudaGraphAddEventRecordNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_418cudaGraphAddEventRecordNode[] = "cudaGraphAddEventRecordNode(graph, pDependencies: List[cudaGraphNode_t], 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    These nodes may not be used in loops or conditionals.\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:`~.cudaGraphNode_t`]\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    phGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_419cudaGraphAddEventRecordNode = {"cudaGraphAddEventRecordNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_419cudaGraphAddEventRecordNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_418cudaGraphAddEventRecordNode};
static PyObject *__pyx_pw_4cuda_6cudart_419cudaGraphAddEventRecordNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_event = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddEventRecordNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_event_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventRecordNode", 1, 4, 4, 1); __PYX_ERR(0, 20952, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventRecordNode", 1, 4, 4, 2); __PYX_ERR(0, 20952, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventRecordNode", 1, 4, 4, 3); __PYX_ERR(0, 20952, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddEventRecordNode") < 0)) __PYX_ERR(0, 20952, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 20952, __pyx_L3_error)
    __pyx_v_event = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventRecordNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 20952, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventRecordNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_418cudaGraphAddEventRecordNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_event);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphAddEventRecordNode_2generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":21000
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_27cudaGraphAddEventRecordNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_28_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_28_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_28_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21000, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_27cudaGraphAddEventRecordNode_2generator15, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddEventRecordNode_loca, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 21000, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventRecordNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphAddEventRecordNode_2generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 21000, 0, __PYX_ERR(0, 21000, __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(0, 21000, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 21000, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21000, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 21000, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21000, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 21000, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21000, __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, 21000, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":20952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventRecordNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event record node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_418cudaGraphAddEventRecordNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *__pyx_cur_scope;
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphAddEventRecordNode_2generator15 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  cudaGraphNode_t *__pyx_t_11;
  cudaError_t __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__635)
  __Pyx_RefNannySetupContext("cudaGraphAddEventRecordNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 20952, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddEventRecordNode", __pyx_f[0], 20952, 0, __PYX_ERR(0, 20952, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":20990
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":20991
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":20990
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20992
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":20993
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":20994
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20994, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":20992
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":20996
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 20996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":20997
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 20997, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":20999
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_1 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_1 != 0)) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21000
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_6 = __pyx_pf_4cuda_6cudart_27cudaGraphAddEventRecordNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 21000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":21001
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 21001, __pyx_L1_error)

    /* "cuda/cudart.pyx":21000
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":21004
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_2 = (__pyx_v_graph == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21005
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21004
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":21006
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L8_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21007
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21008
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21008, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21006
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":21010
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21011
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21011, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L7:;

  /* "cuda/cudart.pyx":21013
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21014
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":21015
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21016
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21016, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":21017
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_2 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":21018
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21018, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(0, 21018, __pyx_L1_error)

      /* "cuda/cudart.pyx":21017
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":21020
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21020, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":21021
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21021, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":21015
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":21023
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddEventRecordNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 21023, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":21024
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEventRecordNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_4)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddEventRecordNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cevent); if (unlikely(__pyx_t_12 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21024, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":21025
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEventRecordNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21026
 *     err = ccudart.cudaGraphAddEventRecordNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":21025
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEventRecordNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":21027
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":20952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventRecordNode(graph, pDependencies : List[cudaGraphNode_t], 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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventRecordNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_27cudaGraphAddEventRecordNode_2generator15);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event record node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_421cudaGraphEventRecordNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_420cudaGraphEventRecordNodeGetEvent[] = "cudaGraphEventRecordNodeGetEvent(node)\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    event_out : :py:obj:`~.cudaEvent_t`\n        Pointer to return the event\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphEventWaitNodeGetEvent`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_421cudaGraphEventRecordNodeGetEvent = {"cudaGraphEventRecordNodeGetEvent", (PyCFunction)__pyx_pw_4cuda_6cudart_421cudaGraphEventRecordNodeGetEvent, METH_O, __pyx_doc_4cuda_6cudart_420cudaGraphEventRecordNodeGetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_421cudaGraphEventRecordNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphEventRecordNodeGetEvent (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_420cudaGraphEventRecordNodeGetEvent(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_420cudaGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event_out = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__636)
  __Pyx_RefNannySetupContext("cudaGraphEventRecordNodeGetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventRecordNodeGetEvent", __pyx_f[0], 21030, 0, __PYX_ERR(0, 21030, __pyx_L1_error));

  /* "cuda/cudart.pyx":21052
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21053
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21052
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21054
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21055
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21056
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21056, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21054
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21058
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21059
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21059, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21061
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaEvent_t event_out = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphEventRecordNodeGetEvent(cnode, <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_out)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21062
 * 
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventRecordNodeGetEvent(cnode, <ccudart.cudaEvent_t*>event_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), event_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeGetEvent(__pyx_v_cnode, ((cudaEvent_t *)__pyx_v_event_out->__pyx_base._ptr)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21062, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21063
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventRecordNodeGetEvent(cnode, <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_event_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_event_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_event_out));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event record node.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventRecordNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_event_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event record node's event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_423cudaGraphEventRecordNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_422cudaGraphEventRecordNodeSetEvent[] = "cudaGraphEventRecordNodeSetEvent(node, 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphEventRecordNodeGetEvent`, :py:obj:`~.cudaGraphEventWaitNodeSetEvent`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_423cudaGraphEventRecordNodeSetEvent = {"cudaGraphEventRecordNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_423cudaGraphEventRecordNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_422cudaGraphEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_423cudaGraphEventRecordNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  PyObject *__pyx_v_event = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphEventRecordNodeSetEvent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_event_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphEventRecordNodeSetEvent", 1, 2, 2, 1); __PYX_ERR(0, 21066, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphEventRecordNodeSetEvent") < 0)) __PYX_ERR(0, 21066, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_node = values[0];
    __pyx_v_event = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphEventRecordNodeSetEvent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21066, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_422cudaGraphEventRecordNodeSetEvent(__pyx_self, __pyx_v_node, __pyx_v_event);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_422cudaGraphEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__637)
  __Pyx_RefNannySetupContext("cudaGraphEventRecordNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventRecordNodeSetEvent", __pyx_f[0], 21066, 0, __PYX_ERR(0, 21066, __pyx_L1_error));

  /* "cuda/cudart.pyx":21088
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21089
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21088
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21090
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21091
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21092
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21092, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21090
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21094
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21095
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21095, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21098
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21099
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21098
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":21100
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21101
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21102
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21102, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21100
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":21104
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21105
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(cnode, cevent)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21105, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":21107
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(cnode, cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeSetEvent(__pyx_v_cnode, __pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21107, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21108
 * 
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(cnode, cevent)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 21108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event record node's event.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21111
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event wait node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_425cudaGraphAddEventWaitNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_424cudaGraphAddEventWaitNode[] = "cudaGraphAddEventWaitNode(graph, pDependencies: List[cudaGraphNode_t], 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. The synchronization will be performed efficiently on the device\n    when applicable. `event` may be from a different context or device than\n    the launch stream.\n\n    These nodes may not be used in loops or conditionals.\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:`~.cudaGraphNode_t`]\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    phGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_425cudaGraphAddEventWaitNode = {"cudaGraphAddEventWaitNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_425cudaGraphAddEventWaitNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_424cudaGraphAddEventWaitNode};
static PyObject *__pyx_pw_4cuda_6cudart_425cudaGraphAddEventWaitNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_event = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddEventWaitNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_event_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventWaitNode", 1, 4, 4, 1); __PYX_ERR(0, 21111, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventWaitNode", 1, 4, 4, 2); __PYX_ERR(0, 21111, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventWaitNode", 1, 4, 4, 3); __PYX_ERR(0, 21111, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddEventWaitNode") < 0)) __PYX_ERR(0, 21111, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 21111, __pyx_L3_error)
    __pyx_v_event = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventWaitNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21111, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_424cudaGraphAddEventWaitNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_event);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_25cudaGraphAddEventWaitNode_2generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":21162
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_25cudaGraphAddEventWaitNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_30_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_30_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_30_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21162, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_25cudaGraphAddEventWaitNode_2generator16, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddEventWaitNode_locals, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 21162, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventWaitNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_25cudaGraphAddEventWaitNode_2generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 21162, 0, __PYX_ERR(0, 21162, __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(0, 21162, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 21162, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21162, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 21162, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21162, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 21162, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21162, __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, 21162, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":21111
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event wait node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_424cudaGraphAddEventWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_event) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *__pyx_cur_scope;
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_25cudaGraphAddEventWaitNode_2generator16 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  cudaGraphNode_t *__pyx_t_11;
  cudaError_t __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__638)
  __Pyx_RefNannySetupContext("cudaGraphAddEventWaitNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21111, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddEventWaitNode", __pyx_f[0], 21111, 0, __PYX_ERR(0, 21111, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":21152
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21153
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21152
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21154
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21155
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21156
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21156, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21154
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21158
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21159
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21159, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21161
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_1 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_1 != 0)) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21162
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_6 = __pyx_pf_4cuda_6cudart_25cudaGraphAddEventWaitNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 21162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((!__pyx_t_1) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":21163
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 21163, __pyx_L1_error)

    /* "cuda/cudart.pyx":21162
 * 
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":21166
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_2 = (__pyx_v_graph == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21167
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21166
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":21168
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L8_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21169
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21170
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21170, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21168
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":21172
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21173
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21173, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L7:;

  /* "cuda/cudart.pyx":21175
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21176
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":21177
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21178
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21178, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":21179
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_2 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":21180
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_6 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21180, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(0, 21180, __pyx_L1_error)

      /* "cuda/cudart.pyx":21179
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":21182
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21182, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":21183
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21183, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":21177
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":21185
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddEventWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 21185, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":21186
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEventWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_7 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_4)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddEventWaitNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cevent); if (unlikely(__pyx_t_12 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21186, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":21187
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEventWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21188
 *     err = ccudart.cudaGraphAddEventWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":21187
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddEventWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cevent)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":21189
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21111
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventWaitNode(graph, pDependencies : List[cudaGraphNode_t], 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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_25cudaGraphAddEventWaitNode_2generator16);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21192
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event wait node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_427cudaGraphEventWaitNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_426cudaGraphEventWaitNodeGetEvent[] = "cudaGraphEventWaitNodeGetEvent(node)\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    event_out : :py:obj:`~.cudaEvent_t`\n        Pointer to return the event\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphEventRecordNodeGetEvent`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_427cudaGraphEventWaitNodeGetEvent = {"cudaGraphEventWaitNodeGetEvent", (PyCFunction)__pyx_pw_4cuda_6cudart_427cudaGraphEventWaitNodeGetEvent, METH_O, __pyx_doc_4cuda_6cudart_426cudaGraphEventWaitNodeGetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_427cudaGraphEventWaitNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphEventWaitNodeGetEvent (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_426cudaGraphEventWaitNodeGetEvent(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_426cudaGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event_out = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__639)
  __Pyx_RefNannySetupContext("cudaGraphEventWaitNodeGetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventWaitNodeGetEvent", __pyx_f[0], 21192, 0, __PYX_ERR(0, 21192, __pyx_L1_error));

  /* "cuda/cudart.pyx":21214
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21215
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21214
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21216
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21217
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21218
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21218, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21216
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21220
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21221
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21221, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21223
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaEvent_t event_out = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphEventWaitNodeGetEvent(cnode, <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_out)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21224
 * 
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventWaitNodeGetEvent(cnode, <ccudart.cudaEvent_t*>event_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), event_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeGetEvent(__pyx_v_cnode, ((cudaEvent_t *)__pyx_v_event_out->__pyx_base._ptr)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21224, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21225
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventWaitNodeGetEvent(cnode, <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_event_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_event_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_event_out));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21192
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event wait node.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventWaitNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_event_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21228
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event wait node's event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_429cudaGraphEventWaitNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_428cudaGraphEventWaitNodeSetEvent[] = "cudaGraphEventWaitNodeSetEvent(node, 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphEventWaitNodeGetEvent`, :py:obj:`~.cudaGraphEventRecordNodeSetEvent`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_429cudaGraphEventWaitNodeSetEvent = {"cudaGraphEventWaitNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_429cudaGraphEventWaitNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_428cudaGraphEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_429cudaGraphEventWaitNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  PyObject *__pyx_v_event = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphEventWaitNodeSetEvent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_event_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphEventWaitNodeSetEvent", 1, 2, 2, 1); __PYX_ERR(0, 21228, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphEventWaitNodeSetEvent") < 0)) __PYX_ERR(0, 21228, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_node = values[0];
    __pyx_v_event = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphEventWaitNodeSetEvent", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21228, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_428cudaGraphEventWaitNodeSetEvent(__pyx_self, __pyx_v_node, __pyx_v_event);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_428cudaGraphEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__640)
  __Pyx_RefNannySetupContext("cudaGraphEventWaitNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventWaitNodeSetEvent", __pyx_f[0], 21228, 0, __PYX_ERR(0, 21228, __pyx_L1_error));

  /* "cuda/cudart.pyx":21250
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21251
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21250
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21252
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21253
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21254
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21254, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21252
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21256
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21257
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21257, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21260
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21261
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21260
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":21262
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21263
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21264
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21264, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21262
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":21266
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21267
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(cnode, cevent)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21267, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":21269
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(cnode, cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeSetEvent(__pyx_v_cnode, __pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21269, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21270
 * 
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(cnode, cevent)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 21270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21228
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event wait node's event.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21273
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresSignalNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore signal node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_431cudaGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_430cudaGraphAddExternalSemaphoresSignalNode[] = "cudaGraphAddExternalSemaphoresSignalNode(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, cudaExternalSemaphoreSignalNodeParams nodeParams: cudaExternalSemaphoreSignalNodeParams)\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 `graph`\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 `pGraphNode`.\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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.cudaExternalSemaphoreSignalNodeParams`\n        Parameters for the node\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphExternalSemaphoresSignalNodeGetParams`, :py:obj:`~.cudaGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cud""aGraphAddEventWaitNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_431cudaGraphAddExternalSemaphoresSignalNode = {"cudaGraphAddExternalSemaphoresSignalNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_431cudaGraphAddExternalSemaphoresSignalNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_430cudaGraphAddExternalSemaphoresSignalNode};
static PyObject *__pyx_pw_4cuda_6cudart_431cudaGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddExternalSemaphoresSignalNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresSignalNode", 1, 4, 4, 1); __PYX_ERR(0, 21273, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresSignalNode", 1, 4, 4, 2); __PYX_ERR(0, 21273, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresSignalNode", 1, 4, 4, 3); __PYX_ERR(0, 21273, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddExternalSemaphoresSignalNode") < 0)) __PYX_ERR(0, 21273, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 21273, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresSignalNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21273, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresSignalNode", __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_6cudart_cudaExternalSemaphoreSignalNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 21273, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_430cudaGraphAddExternalSemaphoresSignalNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_2generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":21310
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_32_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_32_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_32_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21310, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_2generator17, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddExternalSemaphoresSi, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 21310, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresSignalNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_2generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 21310, 0, __PYX_ERR(0, 21310, __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(0, 21310, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 21310, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21310, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 21310, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21310, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 21310, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21310, __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, 21310, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":21273
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresSignalNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore signal node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_430cudaGraphAddExternalSemaphoresSignalNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct cudaExternalSemaphoreSignalNodeParams *__pyx_v_cnodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaExternalSemaphoreSignalNodeParams *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__641)
  __Pyx_RefNannySetupContext("cudaGraphAddExternalSemaphoresSignalNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21273, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddExternalSemaphoresSignalNode", __pyx_f[0], 21273, 0, __PYX_ERR(0, 21273, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":21309
 *     :py:obj:`~.cudaGraphExternalSemaphoresSignalNodeGetParams`, :py:obj:`~.cudaGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`,
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21310
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 21310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":21311
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21311, __pyx_L1_error)

    /* "cuda/cudart.pyx":21310
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":21314
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21315
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21314
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21316
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21317
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":21318
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21318, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":21316
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21320
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":21321
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21321, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":21323
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21324
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":21325
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21326
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21326, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":21327
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":21328
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21328, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21328, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21328, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21328, __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(0, 21328, __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(0, 21328, __pyx_L1_error)

      /* "cuda/cudart.pyx":21327
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":21330
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21330, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":21331
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21331, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":21325
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":21333
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21333, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21333, __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(0, 21333, __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(0, 21333, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":21334
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies 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(0, 21334, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 21334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_11 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_11;

  /* "cuda/cudart.pyx":21335
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresSignalNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21335, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":21336
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21337
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":21336
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":21338
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21273
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresSignalNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore signal node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresSignalNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_2generator17);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21341
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore signal node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_433cudaGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode); /*proto*/
static char __pyx_doc_4cuda_6cudart_432cudaGraphExternalSemaphoresSignalNodeGetParams[] = "cudaGraphExternalSemaphoresSignalNodeGetParams(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:`~.cudaGraphExternalSemaphoresSignalNodeSetParams` to update\n    the 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    params_out : :py:obj:`~.cudaExternalSemaphoreSignalNodeParams`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchKernel`, :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_433cudaGraphExternalSemaphoresSignalNodeGetParams = {"cudaGraphExternalSemaphoresSignalNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_433cudaGraphExternalSemaphoresSignalNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_432cudaGraphExternalSemaphoresSignalNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_433cudaGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresSignalNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_432cudaGraphExternalSemaphoresSignalNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_hNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_432cudaGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_params_out = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__642)
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresSignalNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresSignalNodeGetParams", __pyx_f[0], 21341, 0, __PYX_ERR(0, 21341, __pyx_L1_error));

  /* "cuda/cudart.pyx":21369
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21370
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21369
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21371
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21372
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21373
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21373, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21371
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21375
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21376
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21376, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21378
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeGetParams(chNode, params_out._ptr)
 *     return (cudaError_t(err), params_out)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21379
 * 
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeGetParams(chNode, params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), params_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeGetParams(__pyx_v_chNode, __pyx_v_params_out->_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21379, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21380
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeGetParams(chNode, params_out._ptr)
 *     return (cudaError_t(err), params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_params_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_params_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_params_out));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21341
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore signal node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresSignalNodeGetParams", __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/cudart.pyx":21383
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore signal node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_435cudaGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_434cudaGraphExternalSemaphoresSignalNodeSetParams[] = "cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, cudaExternalSemaphoreSignalNodeParams nodeParams: cudaExternalSemaphoreSignalNodeParams)\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:`~.cudaExternalSemaphoreSignalNodeParams`\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_435cudaGraphExternalSemaphoresSignalNodeSetParams = {"cudaGraphExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_435cudaGraphExternalSemaphoresSignalNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_434cudaGraphExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_435cudaGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresSignalNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExternalSemaphoresSignalNodeSetParams", 1, 2, 2, 1); __PYX_ERR(0, 21383, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExternalSemaphoresSignalNodeSetParams") < 0)) __PYX_ERR(0, 21383, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExternalSemaphoresSignalNodeSetParams", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21383, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresSignalNodeSetParams", __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_6cudart_cudaExternalSemaphoreSignalNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 21383, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_434cudaGraphExternalSemaphoresSignalNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_434cudaGraphExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct cudaExternalSemaphoreSignalNodeParams *__pyx_v_cnodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaExternalSemaphoreSignalNodeParams *__pyx_t_7;
  cudaError_t __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__643)
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresSignalNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresSignalNodeSetParams", __pyx_f[0], 21383, 0, __PYX_ERR(0, 21383, __pyx_L1_error));

  /* "cuda/cudart.pyx":21406
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21407
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21406
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21408
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21409
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21410
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21410, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21408
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21412
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21413
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21413, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21415
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeSetParams(chNode, cnodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21415, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 21415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":21416
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21416, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":21417
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeSetParams(chNode, cnodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21383
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore signal node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresSignalNodeSetParams", __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/cudart.pyx":21420
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore wait node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_437cudaGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_436cudaGraphAddExternalSemaphoresWaitNode[] = "cudaGraphAddExternalSemaphoresWaitNode(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, cudaExternalSemaphoreWaitNodeParams nodeParams: cudaExternalSemaphoreWaitNodeParams)\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 `graph` 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 `pGraphNode`.\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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.cudaExternalSemaphoreWaitNodeParams`\n        Parameters for the node\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphExternalSemaphoresWaitNodeGetParams`, :py:obj:`~.cudaGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphAddEvent""WaitNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_437cudaGraphAddExternalSemaphoresWaitNode = {"cudaGraphAddExternalSemaphoresWaitNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_437cudaGraphAddExternalSemaphoresWaitNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_436cudaGraphAddExternalSemaphoresWaitNode};
static PyObject *__pyx_pw_4cuda_6cudart_437cudaGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddExternalSemaphoresWaitNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresWaitNode", 1, 4, 4, 1); __PYX_ERR(0, 21420, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresWaitNode", 1, 4, 4, 2); __PYX_ERR(0, 21420, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresWaitNode", 1, 4, 4, 3); __PYX_ERR(0, 21420, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddExternalSemaphoresWaitNode") < 0)) __PYX_ERR(0, 21420, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 21420, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddExternalSemaphoresWaitNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21420, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresWaitNode", __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_6cudart_cudaExternalSemaphoreWaitNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 21420, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_436cudaGraphAddExternalSemaphoresWaitNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_2generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":21457
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_34_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_34_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_34_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21457, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_2generator18, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddExternalSemaphoresWa, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 21457, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresWaitNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_2generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 21457, 0, __PYX_ERR(0, 21457, __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(0, 21457, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 21457, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21457, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 21457, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21457, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 21457, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21457, __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, 21457, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":21420
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore wait node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_436cudaGraphAddExternalSemaphoresWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct cudaExternalSemaphoreWaitNodeParams *__pyx_v_cnodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_2generator18 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaExternalSemaphoreWaitNodeParams *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__644)
  __Pyx_RefNannySetupContext("cudaGraphAddExternalSemaphoresWaitNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21420, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddExternalSemaphoresWaitNode", __pyx_f[0], 21420, 0, __PYX_ERR(0, 21420, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":21456
 *     :py:obj:`~.cudaGraphExternalSemaphoresWaitNodeGetParams`, :py:obj:`~.cudaGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`,
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21457
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 21457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":21458
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21458, __pyx_L1_error)

    /* "cuda/cudart.pyx":21457
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":21461
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21462
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21461
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21463
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21464
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":21465
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21465, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":21463
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21467
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":21468
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21468, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":21470
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21471
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":21472
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21473
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21473, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":21474
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":21475
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21475, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21475, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21475, __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(0, 21475, __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(0, 21475, __pyx_L1_error)

      /* "cuda/cudart.pyx":21474
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":21477
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21477, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":21478
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21478, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":21472
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":21480
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21480, __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(0, 21480, __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(0, 21480, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":21481
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies 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(0, 21481, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 21481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_11 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_11;

  /* "cuda/cudart.pyx":21482
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresWaitNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21482, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":21483
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21484
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":21483
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":21485
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21420
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore wait node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_2generator18);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore wait node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_439cudaGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode); /*proto*/
static char __pyx_doc_4cuda_6cudart_438cudaGraphExternalSemaphoresWaitNodeGetParams[] = "cudaGraphExternalSemaphoresWaitNodeGetParams(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:`~.cudaGraphExternalSemaphoresSignalNodeSetParams` to update\n    the 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    params_out : :py:obj:`~.cudaExternalSemaphoreWaitNodeParams`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cudaLaunchKernel`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_439cudaGraphExternalSemaphoresWaitNodeGetParams = {"cudaGraphExternalSemaphoresWaitNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_439cudaGraphExternalSemaphoresWaitNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_438cudaGraphExternalSemaphoresWaitNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_439cudaGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresWaitNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_438cudaGraphExternalSemaphoresWaitNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_hNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_438cudaGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_params_out = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__645)
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresWaitNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresWaitNodeGetParams", __pyx_f[0], 21488, 0, __PYX_ERR(0, 21488, __pyx_L1_error));

  /* "cuda/cudart.pyx":21516
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21517
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21516
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21518
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21519
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21520
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21520, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21518
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21522
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21523
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21523, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21525
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeGetParams(chNode, params_out._ptr)
 *     return (cudaError_t(err), params_out)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21526
 * 
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeGetParams(chNode, params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), params_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeGetParams(__pyx_v_chNode, __pyx_v_params_out->_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21526, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21527
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeGetParams(chNode, params_out._ptr)
 *     return (cudaError_t(err), params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_params_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_params_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_params_out));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore wait node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresWaitNodeGetParams", __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/cudart.pyx":21530
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore wait node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_441cudaGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_440cudaGraphExternalSemaphoresWaitNodeSetParams[] = "cudaGraphExternalSemaphoresWaitNodeSetParams(hNode, cudaExternalSemaphoreWaitNodeParams nodeParams: cudaExternalSemaphoreWaitNodeParams)\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:`~.cudaExternalSemaphoreWaitNodeParams`\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_441cudaGraphExternalSemaphoresWaitNodeSetParams = {"cudaGraphExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_441cudaGraphExternalSemaphoresWaitNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_440cudaGraphExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_441cudaGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresWaitNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExternalSemaphoresWaitNodeSetParams", 1, 2, 2, 1); __PYX_ERR(0, 21530, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExternalSemaphoresWaitNodeSetParams") < 0)) __PYX_ERR(0, 21530, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExternalSemaphoresWaitNodeSetParams", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21530, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresWaitNodeSetParams", __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_6cudart_cudaExternalSemaphoreWaitNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 21530, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_440cudaGraphExternalSemaphoresWaitNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_440cudaGraphExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct cudaExternalSemaphoreWaitNodeParams *__pyx_v_cnodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaExternalSemaphoreWaitNodeParams *__pyx_t_7;
  cudaError_t __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__646)
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresWaitNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresWaitNodeSetParams", __pyx_f[0], 21530, 0, __PYX_ERR(0, 21530, __pyx_L1_error));

  /* "cuda/cudart.pyx":21553
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21554
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21553
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21555
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21556
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21557
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21557, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21555
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21559
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21560
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21560, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21562
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeSetParams(chNode, cnodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_6 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21562, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 21562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":21563
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21563, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":21564
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeSetParams(chNode, cnodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21530
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore wait node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresWaitNodeSetParams", __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/cudart.pyx":21567
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemAllocNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaMemAllocNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an allocation node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_443cudaGraphAddMemAllocNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_442cudaGraphAddMemAllocNode[] = "cudaGraphAddMemAllocNode(graph, pDependencies: List[cudaGraphNode_t], size_t numDependencies, cudaMemAllocNodeParams nodeParams: cudaMemAllocNodeParams)\n Creates an allocation node and adds it to a graph.\n\n    Creates a new allocation node and adds it to `graph` with\n    `numDependencies` dependencies specified via `pDependencies` 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. `pDependencies` may not have any duplicate entries.\n    A handle to the new node will be returned in `pGraphNode`.\n\n    When :py:obj:`~.cudaGraphAddMemAllocNode` creates an allocation node,\n    it 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:`~.cudaGraphAddMemFreeNode`, the allocation can be\n    accessed by nodes ordered after the allocation node but before the free\n    node. These allocations cannot be freed outside the owning graph, and\n    they 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:`~.cudaMemFreeAsync` or\n      :py:obj:`~.cudaMemFree`;\n\n    - launching a graph with a free node for that allocation; or\n\n    - specifying :py:obj:`~.cudaGraphInstantiateFlagAutoFreeOnLaunch`\n      during instantiation, which makes each launch behave as though it\n      called :py:obj:`~.cudaMemFreeAsync` for every unfreed allocation.\n\n    It is not possible to free an allocation in both the owning gr""aph 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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.cudaMemAllocNodeParams`\n        Parameters for the node\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorCudartUnloading`, :py:obj:`~.cudaErrorInitializationError`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorOutOfMemory`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaGraphMemAllocNodeGetParams`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaDeviceGetGraphMemAttribute`, :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`""\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_443cudaGraphAddMemAllocNode = {"cudaGraphAddMemAllocNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_443cudaGraphAddMemAllocNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_442cudaGraphAddMemAllocNode};
static PyObject *__pyx_pw_4cuda_6cudart_443cudaGraphAddMemAllocNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_nodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddMemAllocNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemAllocNode", 1, 4, 4, 1); __PYX_ERR(0, 21567, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemAllocNode", 1, 4, 4, 2); __PYX_ERR(0, 21567, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemAllocNode", 1, 4, 4, 3); __PYX_ERR(0, 21567, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddMemAllocNode") < 0)) __PYX_ERR(0, 21567, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 21567, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemAllocNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21567, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemAllocNode", __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_6cudart_cudaMemAllocNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 21567, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_442cudaGraphAddMemAllocNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddMemAllocNode_2generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":21642
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddMemAllocNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_36_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_36_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_36_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21642, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_24cudaGraphAddMemAllocNode_2generator19, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddMemAllocNode_locals, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 21642, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemAllocNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddMemAllocNode_2generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 21642, 0, __PYX_ERR(0, 21642, __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(0, 21642, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 21642, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21642, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 21642, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21642, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 21642, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21642, __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, 21642, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":21567
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemAllocNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaMemAllocNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an allocation node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_442cudaGraphAddMemAllocNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_nodeParams) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct cudaMemAllocNodeParams *__pyx_v_cnodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddMemAllocNode_2generator19 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  struct cudaMemAllocNodeParams *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__647)
  __Pyx_RefNannySetupContext("cudaGraphAddMemAllocNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21567, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemAllocNode", __pyx_f[0], 21567, 0, __PYX_ERR(0, 21567, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":21641
 *     :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaGraphMemAllocNodeGetParams`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaDeviceGetGraphMemAttribute`, :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21642
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_24cudaGraphAddMemAllocNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 21642, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":21643
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21643, __pyx_L1_error)

    /* "cuda/cudart.pyx":21642
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":21646
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21647
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21646
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21648
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21649
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":21650
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21650, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":21648
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21652
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":21653
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21653, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":21655
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21656
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":21657
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21658
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21658, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":21659
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":21660
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21660, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21660, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21660, __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(0, 21660, __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(0, 21660, __pyx_L1_error)

      /* "cuda/cudart.pyx":21659
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":21662
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21662, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":21663
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21663, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":21657
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":21665
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemAllocNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21665, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21665, __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(0, 21665, __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(0, 21665, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":21666
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaMemAllocNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies 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(0, 21666, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 21666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_11 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_11 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_11;

  /* "cuda/cudart.pyx":21667
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdef ccudart.cudaMemAllocNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemAllocNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21667, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":21668
 *     cdef ccudart.cudaMemAllocNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21669
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":21668
 *     cdef ccudart.cudaMemAllocNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":21670
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21567
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemAllocNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaMemAllocNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an allocation node and adds it to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemAllocNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_24cudaGraphAddMemAllocNode_2generator19);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21673
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemAllocNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory alloc node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_445cudaGraphMemAllocNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_444cudaGraphMemAllocNodeGetParams[] = "cudaGraphMemAllocNodeGetParams(node)\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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    params_out : :py:obj:`~.cudaMemAllocNodeParams`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphMemFreeNodeGetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_445cudaGraphMemAllocNodeGetParams = {"cudaGraphMemAllocNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_445cudaGraphMemAllocNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_444cudaGraphMemAllocNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_445cudaGraphMemAllocNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemAllocNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_444cudaGraphMemAllocNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_444cudaGraphMemAllocNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_params_out = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__648)
  __Pyx_RefNannySetupContext("cudaGraphMemAllocNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemAllocNodeGetParams", __pyx_f[0], 21673, 0, __PYX_ERR(0, 21673, __pyx_L1_error));

  /* "cuda/cudart.pyx":21698
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21699
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21698
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21700
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21701
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21702
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21702, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21700
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21704
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21705
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21705, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21707
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemAllocNodeGetParams(cnode, params_out._ptr)
 *     return (cudaError_t(err), params_out)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21708
 * 
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 *     err = ccudart.cudaGraphMemAllocNodeGetParams(cnode, params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), params_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphMemAllocNodeGetParams(__pyx_v_cnode, __pyx_v_params_out->_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21708, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21709
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 *     err = ccudart.cudaGraphMemAllocNodeGetParams(cnode, params_out._ptr)
 *     return (cudaError_t(err), params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_params_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_params_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_params_out));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21673
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemAllocNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory alloc node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemAllocNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF((PyObject *)__pyx_v_params_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemFreeNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dptr):             # <<<<<<<<<<<<<<
 *     """ Creates a memory free node and adds it to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_447cudaGraphAddMemFreeNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_446cudaGraphAddMemFreeNode[] = "cudaGraphAddMemFreeNode(graph, pDependencies: List[cudaGraphNode_t], 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 `graph` with\n    `numDependencies` dependencies specified via `pDependencies` and\n    address specified in `dptr`. It is possible for `numDependencies` to be\n    0, in which case the node will be placed at the root of the graph.\n    `pDependencies` may not have any duplicate entries. A handle to the new\n    node will be returned in `pGraphNode`.\n\n    :py:obj:`~.cudaGraphAddMemFreeNode` will return\n    :py:obj:`~.cudaErrorInvalidValue` 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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    dptr : Any\n        Address of memory to free\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorCudartUnloading`, :py:obj:`~.cudaErrorInitializationError`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorOutOfMemory`\n    pGraphNode : :py:obj:`~.cudaGraphNode_t`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphMemFreeNodeGetParams`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaD""eviceGetGraphMemAttribute`, :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_447cudaGraphAddMemFreeNode = {"cudaGraphAddMemFreeNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_447cudaGraphAddMemFreeNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_446cudaGraphAddMemFreeNode};
static PyObject *__pyx_pw_4cuda_6cudart_447cudaGraphAddMemFreeNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_pDependencies = 0;
  size_t __pyx_v_numDependencies;
  PyObject *__pyx_v_dptr = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddMemFreeNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pDependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_dptr_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemFreeNode", 1, 4, 4, 1); __PYX_ERR(0, 21712, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemFreeNode", 1, 4, 4, 2); __PYX_ERR(0, 21712, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dptr_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemFreeNode", 1, 4, 4, 3); __PYX_ERR(0, 21712, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddMemFreeNode") < 0)) __PYX_ERR(0, 21712, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pDependencies = values[1];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 21712, __pyx_L3_error)
    __pyx_v_dptr = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddMemFreeNode", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21712, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemFreeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_446cudaGraphAddMemFreeNode(__pyx_self, __pyx_v_graph, __pyx_v_pDependencies, __pyx_v_numDependencies, __pyx_v_dptr);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_23cudaGraphAddMemFreeNode_2generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":21765
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_23cudaGraphAddMemFreeNode_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_38_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_38_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_38_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21765, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_23cudaGraphAddMemFreeNode_2generator20, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddMemFreeNode_locals_g, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 21765, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemFreeNode.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_23cudaGraphAddMemFreeNode_2generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 21765, 0, __PYX_ERR(0, 21765, __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(0, 21765, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 21765, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21765, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 21765, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21765, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 21765, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21765, __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, 21765, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":21712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemFreeNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dptr):             # <<<<<<<<<<<<<<
 *     """ Creates a memory free node and adds it to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_446cudaGraphAddMemFreeNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_pDependencies, size_t __pyx_v_numDependencies, PyObject *__pyx_v_dptr) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  PyObject *__pyx_v_cdptr = NULL;
  void *__pyx_v_cdptr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_23cudaGraphAddMemFreeNode_2generator20 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  cudaGraphNode_t *__pyx_t_11;
  cudaError_t __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__649)
  __Pyx_RefNannySetupContext("cudaGraphAddMemFreeNode", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 21712, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemFreeNode", __pyx_f[0], 21712, 0, __PYX_ERR(0, 21712, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_pDependencies = __pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pDependencies);

  /* "cuda/cudart.pyx":21764
 *     :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphMemFreeNodeGetParams`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaDeviceGetGraphMemAttribute`, :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphDestroyNode`, :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_pDependencies == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_pDependencies);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21765
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_23cudaGraphAddMemFreeNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 21765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":21766
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__615, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 21766, __pyx_L1_error)

    /* "cuda/cudart.pyx":21765
 *     """
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":21769
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_4 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21770
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21769
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21771
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_2 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_4 = (__pyx_t_5 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L5_bool_binop_done:;
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21772
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":21773
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21773, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":21771
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":21775
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":21776
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21776, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":21778
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21779
 * 
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":21780
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21781
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21781, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":21782
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_4 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":21783
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(pDependencies)):
 */
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21783, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21783, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21783, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21783, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21783, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21783, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21783, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21783, __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(0, 21783, __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(0, 21783, __pyx_L1_error)

      /* "cuda/cudart.pyx":21782
 *     if len(pDependencies) > 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":21785
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(pDependencies)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(pDependencies)):             # <<<<<<<<<<<<<<
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21785, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":21786
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21786, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":21780
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*> calloc(len(pDependencies), sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":21788
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdptr = utils.HelperInputVoidPtr(dptr)
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21788, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21788, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21788, __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(0, 21788, __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(0, 21788, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":21789
 * 
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdptr = utils.HelperInputVoidPtr(dptr)             # <<<<<<<<<<<<<<
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_cdptr = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":21790
 *     if numDependencies > <size_t>len(pDependencies): raise RuntimeError("List is too small: " + str(len(pDependencies)) + " < " + str(numDependencies))
 *     cdptr = utils.HelperInputVoidPtr(dptr)
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cdptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":21791
 *     cdptr = utils.HelperInputVoidPtr(dptr)
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 21791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemFreeNode(((cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), __pyx_v_cgraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cdptr_ptr); if (unlikely(__pyx_t_12 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21791, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":21792
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  __pyx_t_4 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":21793
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":21792
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":21794
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
    }
  }
  __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1);
  __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(0, 21794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemFreeNode(graph, pDependencies : List[cudaGraphNode_t], 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_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemFreeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphNode);
  __Pyx_XDECREF(__pyx_v_cdptr);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_23cudaGraphAddMemFreeNode_2generator20);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21797
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemFreeNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory free node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_449cudaGraphMemFreeNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_448cudaGraphMemFreeNodeGetParams[] = "cudaGraphMemFreeNodeGetParams(node)\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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    dptr_out : Any\n        Pointer to return the device address\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaGraphMemFreeNodeGetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_449cudaGraphMemFreeNodeGetParams = {"cudaGraphMemFreeNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_449cudaGraphMemFreeNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_448cudaGraphMemFreeNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_449cudaGraphMemFreeNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemFreeNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_448cudaGraphMemFreeNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_448cudaGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_dptr_out;
  void *__pyx_v_cdptr_out_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__650)
  __Pyx_RefNannySetupContext("cudaGraphMemFreeNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemFreeNodeGetParams", __pyx_f[0], 21797, 0, __PYX_ERR(0, 21797, __pyx_L1_error));

  /* "cuda/cudart.pyx":21819
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21820
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21819
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21821
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21822
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21823
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21823, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21821
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21825
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21826
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef void_ptr dptr_out = 0
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21826, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21828
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef void_ptr dptr_out = 0             # <<<<<<<<<<<<<<
 *     cdef void* cdptr_out_ptr = <void*>dptr_out
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(cnode, cdptr_out_ptr)
 */
  __pyx_v_dptr_out = 0;

  /* "cuda/cudart.pyx":21829
 * 
 *     cdef void_ptr dptr_out = 0
 *     cdef void* cdptr_out_ptr = <void*>dptr_out             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(cnode, cdptr_out_ptr)
 *     return (cudaError_t(err), dptr_out)
 */
  __pyx_v_cdptr_out_ptr = ((void *)__pyx_v_dptr_out);

  /* "cuda/cudart.pyx":21830
 *     cdef void_ptr dptr_out = 0
 *     cdef void* cdptr_out_ptr = <void*>dptr_out
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(cnode, cdptr_out_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), dptr_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphMemFreeNodeGetParams(__pyx_v_cnode, __pyx_v_cdptr_out_ptr); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21830, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21831
 *     cdef void* cdptr_out_ptr = <void*>dptr_out
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(cnode, cdptr_out_ptr)
 *     return (cudaError_t(err), dptr_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_dptr_out); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21797
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemFreeNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory free node's parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemFreeNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21834
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGraphMemTrim(int 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_6cudart_451cudaDeviceGraphMemTrim(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_450cudaDeviceGraphMemTrim[] = "cudaDeviceGraphMemTrim(int 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 : int\n        The device for which cached memory should be freed.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaDeviceGetGraphMemAttribute`, :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_451cudaDeviceGraphMemTrim = {"cudaDeviceGraphMemTrim", (PyCFunction)__pyx_pw_4cuda_6cudart_451cudaDeviceGraphMemTrim, METH_O, __pyx_doc_4cuda_6cudart_450cudaDeviceGraphMemTrim};
static PyObject *__pyx_pw_4cuda_6cudart_451cudaDeviceGraphMemTrim(PyObject *__pyx_self, PyObject *__pyx_arg_device) {
  int __pyx_v_device;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGraphMemTrim (wrapper)", 0);
  assert(__pyx_arg_device); {
    __pyx_v_device = __Pyx_PyInt_As_int(__pyx_arg_device); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21834, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGraphMemTrim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_450cudaDeviceGraphMemTrim(__pyx_self, ((int)__pyx_v_device));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_450cudaDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__651)
  __Pyx_RefNannySetupContext("cudaDeviceGraphMemTrim", 0);
  __Pyx_TraceCall("cudaDeviceGraphMemTrim", __pyx_f[0], 21834, 0, __PYX_ERR(0, 21834, __pyx_L1_error));

  /* "cuda/cudart.pyx":21855
 *     :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaDeviceGetGraphMemAttribute`, :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`,
 *     """
 *     err = ccudart.cudaDeviceGraphMemTrim(device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceGraphMemTrim(__pyx_v_device); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21855, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":21856
 *     """
 *     err = ccudart.cudaDeviceGraphMemTrim(device)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 21856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21834
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGraphMemTrim(int device):             # <<<<<<<<<<<<<<
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGraphMemTrim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21859
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType):             # <<<<<<<<<<<<<<
 *     """ Query asynchronous allocation attributes related to graphs.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_453cudaDeviceGetGraphMemAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_452cudaDeviceGetGraphMemAttribute[] = "cudaDeviceGetGraphMemAttribute(int device, attr: cudaGraphMemAttributeType)\n Query asynchronous allocation attributes related to graphs.\n\n    Valid attributes are:\n\n    - :py:obj:`~.cudaGraphMemAttrUsedMemCurrent`: Amount of memory, in\n      bytes, currently associated with graphs\n\n    - :py:obj:`~.cudaGraphMemAttrUsedMemHigh`: High watermark of memory, in\n      bytes, associated with graphs since the last time it was reset. High\n      watermark can only be reset to zero.\n\n    - :py:obj:`~.cudaGraphMemAttrReservedMemCurrent`: Amount of memory, in\n      bytes, currently allocated for use by the CUDA graphs asynchronous\n      allocator.\n\n    - :py:obj:`~.cudaGraphMemAttrReservedMemHigh`: High watermark of\n      memory, in bytes, currently allocated for use by the CUDA graphs\n      asynchronous allocator.\n\n    Parameters\n    ----------\n    device : int\n        Specifies the scope of the query\n    attr : :py:obj:`~.cudaGraphMemAttributeType`\n        attribute to get\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`\n    value : Any\n        retrieved value\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_453cudaDeviceGetGraphMemAttribute = {"cudaDeviceGetGraphMemAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_453cudaDeviceGetGraphMemAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_452cudaDeviceGetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_453cudaDeviceGetGraphMemAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_device;
  PyObject *__pyx_v_attr = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetGraphMemAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device_2,&__pyx_n_s_attr,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceGetGraphMemAttribute", 1, 2, 2, 1); __PYX_ERR(0, 21859, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceGetGraphMemAttribute") < 0)) __PYX_ERR(0, 21859, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_device = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21859, __pyx_L3_error)
    __pyx_v_attr = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceGetGraphMemAttribute", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21859, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 21859, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_452cudaDeviceGetGraphMemAttribute(__pyx_self, __pyx_v_device, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_452cudaDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr) {
  enum cudaGraphMemAttributeType __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaGraphMemAttributeType __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  cudaError_t __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__652)
  __Pyx_RefNannySetupContext("cudaDeviceGetGraphMemAttribute", 0);
  __Pyx_TraceCall("cudaDeviceGetGraphMemAttribute", __pyx_f[0], 21859, 0, __PYX_ERR(0, 21859, __pyx_L1_error));

  /* "cuda/cudart.pyx":21897
 *     :py:obj:`~.cudaDeviceSetGraphMemAttribute`, :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`,
 *     """
 *     cdef ccudart.cudaGraphMemAttributeType 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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaGraphMemAttributeType)__Pyx_PyInt_As_enum__cudaGraphMemAttributeType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21897, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":21898
 *     """
 *     cdef ccudart.cudaGraphMemAttributeType 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 = ccudart.cudaDeviceGetGraphMemAttribute(device, cattr, cvalue_ptr)
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_attr);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_0);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(0, 21898, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21898, __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_HelperCUgraphMem_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21899
 *     cdef ccudart.cudaGraphMemAttributeType 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 = ccudart.cudaDeviceGetGraphMemAttribute(device, cattr, cvalue_ptr)
 *     return (cudaError_t(err), cvalue.pyObj())
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21899, __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(0, 21899, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":21900
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccudart.cudaDeviceGetGraphMemAttribute(device, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cvalue.pyObj())
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaDeviceGetGraphMemAttribute(__pyx_v_device, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21900, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":21901
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccudart.cudaDeviceGetGraphMemAttribute(device, cattr, cvalue_ptr)
 *     return (cudaError_t(err), cvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21901, __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(0, 21901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21901, __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(0, 21901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21859
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType):             # <<<<<<<<<<<<<<
 *     """ Query asynchronous allocation attributes related to graphs.
 * 
 */

  /* 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.cudart.cudaDeviceGetGraphMemAttribute", __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/cudart.pyx":21904
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType, value):             # <<<<<<<<<<<<<<
 *     """ Set asynchronous allocation attributes related to graphs.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_455cudaDeviceSetGraphMemAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_454cudaDeviceSetGraphMemAttribute[] = "cudaDeviceSetGraphMemAttribute(int device, attr: cudaGraphMemAttributeType, value)\n Set asynchronous allocation attributes related to graphs.\n\n    Valid attributes are:\n\n    - :py:obj:`~.cudaGraphMemAttrUsedMemHigh`: High watermark of memory, in\n      bytes, associated with graphs since the last time it was reset. High\n      watermark can only be reset to zero.\n\n    - :py:obj:`~.cudaGraphMemAttrReservedMemHigh`: High watermark of\n      memory, in bytes, currently allocated for use by the CUDA graphs\n      asynchronous allocator.\n\n    Parameters\n    ----------\n    device : int\n        Specifies the scope of the query\n    attr : :py:obj:`~.cudaGraphMemAttributeType`\n        attribute to get\n    value : Any\n        pointer to value to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidDevice`\n\n    See Also\n    --------\n    :py:obj:`~.cudaDeviceGetGraphMemAttribute`, :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_455cudaDeviceSetGraphMemAttribute = {"cudaDeviceSetGraphMemAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_455cudaDeviceSetGraphMemAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_454cudaDeviceSetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_455cudaDeviceSetGraphMemAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_device;
  PyObject *__pyx_v_attr = 0;
  PyObject *__pyx_v_value = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceSetGraphMemAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device_2,&__pyx_n_s_attr,&__pyx_n_s_value,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceSetGraphMemAttribute", 1, 3, 3, 1); __PYX_ERR(0, 21904, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaDeviceSetGraphMemAttribute", 1, 3, 3, 2); __PYX_ERR(0, 21904, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaDeviceSetGraphMemAttribute") < 0)) __PYX_ERR(0, 21904, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_device = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21904, __pyx_L3_error)
    __pyx_v_attr = values[1];
    __pyx_v_value = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaDeviceSetGraphMemAttribute", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21904, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceSetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_attr) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "attr"); __PYX_ERR(0, 21904, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_454cudaDeviceSetGraphMemAttribute(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_454cudaDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  enum cudaGraphMemAttributeType __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum cudaGraphMemAttributeType __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  cudaError_t __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__653)
  __Pyx_RefNannySetupContext("cudaDeviceSetGraphMemAttribute", 0);
  __Pyx_TraceCall("cudaDeviceSetGraphMemAttribute", __pyx_f[0], 21904, 0, __PYX_ERR(0, 21904, __pyx_L1_error));

  /* "cuda/cudart.pyx":21935
 *     :py:obj:`~.cudaDeviceGetGraphMemAttribute`, :py:obj:`~.cudaGraphAddMemAllocNode`, :py:obj:`~.cudaGraphAddMemFreeNode`, :py:obj:`~.cudaDeviceGraphMemTrim`, :py:obj:`~.cudaMallocAsync`, :py:obj:`~.cudaFreeAsync`,
 *     """
 *     cdef ccudart.cudaGraphMemAttributeType 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_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaGraphMemAttributeType)__Pyx_PyInt_As_enum__cudaGraphMemAttributeType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 21935, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":21936
 *     """
 *     cdef ccudart.cudaGraphMemAttributeType 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 = ccudart.cudaDeviceSetGraphMemAttribute(device, cattr, cvalue_ptr)
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_attr);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(0, 21936, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21936, __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_HelperCUgraphMem_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21937
 *     cdef ccudart.cudaGraphMemAttributeType 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 = ccudart.cudaDeviceSetGraphMemAttribute(device, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21937, __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(0, 21937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":21938
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccudart.cudaDeviceSetGraphMemAttribute(device, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaDeviceSetGraphMemAttribute(__pyx_v_device, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21938, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":21939
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccudart.cudaDeviceSetGraphMemAttribute(device, cattr, cvalue_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21939, __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(0, 21939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21904
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType, value):             # <<<<<<<<<<<<<<
 *     """ Set asynchronous allocation attributes related to graphs.
 * 
 */

  /* 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.cudart.cudaDeviceSetGraphMemAttribute", __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/cudart.pyx":21942
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_457cudaGraphClone(PyObject *__pyx_self, PyObject *__pyx_v_originalGraph); /*proto*/
static char __pyx_doc_4cuda_6cudart_456cudaGraphClone[] = "cudaGraphClone(originalGraph)\n Clones a graph.\n\n    This function creates a copy of `originalGraph` and returns it in\n    `pGraphClone`. 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorMemoryAllocation`\n    pGraphClone : :py:obj:`~.cudaGraph_t`\n        Returns newly created cloned graph\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphNodeFindInClone`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_457cudaGraphClone = {"cudaGraphClone", (PyCFunction)__pyx_pw_4cuda_6cudart_457cudaGraphClone, METH_O, __pyx_doc_4cuda_6cudart_456cudaGraphClone};
static PyObject *__pyx_pw_4cuda_6cudart_457cudaGraphClone(PyObject *__pyx_self, PyObject *__pyx_v_originalGraph) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphClone (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_456cudaGraphClone(__pyx_self, ((PyObject *)__pyx_v_originalGraph));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_456cudaGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph) {
  cudaGraph_t __pyx_v_coriginalGraph;
  PyObject *__pyx_v_poriginalGraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraphClone = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__654)
  __Pyx_RefNannySetupContext("cudaGraphClone", 0);
  __Pyx_TraceCall("cudaGraphClone", __pyx_f[0], 21942, 0, __PYX_ERR(0, 21942, __pyx_L1_error));

  /* "cuda/cudart.pyx":21970
 *     """
 *     cdef ccudart.cudaGraph_t coriginalGraph
 *     if originalGraph is None:             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(originalGraph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_originalGraph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":21971
 *     cdef ccudart.cudaGraph_t coriginalGraph
 *     if originalGraph is None:
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(originalGraph, (cudaGraph_t,cuda.CUgraph)):
 *         poriginalGraph = int(originalGraph)
 */
    __pyx_v_coriginalGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":21970
 *     """
 *     cdef ccudart.cudaGraph_t coriginalGraph
 *     if originalGraph is None:             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(originalGraph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21972
 *     if originalGraph is None:
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(originalGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         poriginalGraph = int(originalGraph)
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_originalGraph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_originalGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":21973
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(originalGraph, (cudaGraph_t,cuda.CUgraph)):
 *         poriginalGraph = int(originalGraph)             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_originalGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_poriginalGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":21974
 *     elif isinstance(originalGraph, (cudaGraph_t,cuda.CUgraph)):
 *         poriginalGraph = int(originalGraph)
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph             # <<<<<<<<<<<<<<
 *     else:
 *         poriginalGraph = int(cudaGraph_t(originalGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21974, __pyx_L1_error)
    __pyx_v_coriginalGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":21972
 *     if originalGraph is None:
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(originalGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         poriginalGraph = int(originalGraph)
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":21976
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph
 *     else:
 *         poriginalGraph = int(cudaGraph_t(originalGraph))             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_originalGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_poriginalGraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":21977
 *     else:
 *         poriginalGraph = int(cudaGraph_t(originalGraph))
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 21977, __pyx_L1_error)
    __pyx_v_coriginalGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":21979
 *         coriginalGraph = <ccudart.cudaGraph_t><void_ptr>poriginalGraph
 * 
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphClone(<ccudart.cudaGraph_t*>pGraphClone._ptr, coriginalGraph)
 *     return (cudaError_t(err), pGraphClone)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraphClone = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":21980
 * 
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 *     err = ccudart.cudaGraphClone(<ccudart.cudaGraph_t*>pGraphClone._ptr, coriginalGraph)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphClone)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphClone(((cudaGraph_t *)__pyx_v_pGraphClone->__pyx_base._ptr), __pyx_v_coriginalGraph); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 21980, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":21981
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 *     err = ccudart.cudaGraphClone(<ccudart.cudaGraph_t*>pGraphClone._ptr, coriginalGraph)
 *     return (cudaError_t(err), pGraphClone)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 21981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 21981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphClone));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphClone));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pGraphClone));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21942
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_poriginalGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphClone);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":21984
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeFindInClone(originalNode, clonedGraph):             # <<<<<<<<<<<<<<
 *     """ Finds a cloned version of a node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_459cudaGraphNodeFindInClone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_458cudaGraphNodeFindInClone[] = "cudaGraphNodeFindInClone(originalNode, clonedGraph)\n Finds a cloned version of a node.\n\n    This function returns the node in `clonedGraph` corresponding to\n    `originalNode` in the original graph.\n\n    `clonedGraph` must have been cloned from `originalGraph` via\n    :py:obj:`~.cudaGraphClone`. `originalNode` must have been in\n    `originalGraph` at the time of the call to :py:obj:`~.cudaGraphClone`,\n    and the corresponding cloned node in `clonedGraph` must not have been\n    removed. The cloned node is then returned via `pClonedNode`.\n\n    Parameters\n    ----------\n    originalNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Handle to the original node\n    clonedGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Cloned graph to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pNode : :py:obj:`~.cudaGraphNode_t`\n        Returns handle to the cloned node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphClone`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_459cudaGraphNodeFindInClone = {"cudaGraphNodeFindInClone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_459cudaGraphNodeFindInClone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_458cudaGraphNodeFindInClone};
static PyObject *__pyx_pw_4cuda_6cudart_459cudaGraphNodeFindInClone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_originalNode = 0;
  PyObject *__pyx_v_clonedGraph = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphNodeFindInClone (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_originalNode,&__pyx_n_s_clonedGraph,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_originalNode)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_clonedGraph)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphNodeFindInClone", 1, 2, 2, 1); __PYX_ERR(0, 21984, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphNodeFindInClone") < 0)) __PYX_ERR(0, 21984, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_originalNode = values[0];
    __pyx_v_clonedGraph = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphNodeFindInClone", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 21984, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeFindInClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_458cudaGraphNodeFindInClone(__pyx_self, __pyx_v_originalNode, __pyx_v_clonedGraph);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_458cudaGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalNode, PyObject *__pyx_v_clonedGraph) {
  cudaGraph_t __pyx_v_cclonedGraph;
  PyObject *__pyx_v_pclonedGraph = NULL;
  cudaGraphNode_t __pyx_v_coriginalNode;
  PyObject *__pyx_v_poriginalNode = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pNode = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__655)
  __Pyx_RefNannySetupContext("cudaGraphNodeFindInClone", 0);
  __Pyx_TraceCall("cudaGraphNodeFindInClone", __pyx_f[0], 21984, 0, __PYX_ERR(0, 21984, __pyx_L1_error));

  /* "cuda/cudart.pyx":22015
 *     """
 *     cdef ccudart.cudaGraph_t cclonedGraph
 *     if clonedGraph is None:             # <<<<<<<<<<<<<<
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(clonedGraph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_clonedGraph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22016
 *     cdef ccudart.cudaGraph_t cclonedGraph
 *     if clonedGraph is None:
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(clonedGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pclonedGraph = int(clonedGraph)
 */
    __pyx_v_cclonedGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22015
 *     """
 *     cdef ccudart.cudaGraph_t cclonedGraph
 *     if clonedGraph is None:             # <<<<<<<<<<<<<<
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(clonedGraph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22017
 *     if clonedGraph is None:
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(clonedGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pclonedGraph = int(clonedGraph)
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>pclonedGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_clonedGraph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_clonedGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22018
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(clonedGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pclonedGraph = int(clonedGraph)             # <<<<<<<<<<<<<<
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>pclonedGraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_clonedGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pclonedGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22019
 *     elif isinstance(clonedGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pclonedGraph = int(clonedGraph)
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>pclonedGraph             # <<<<<<<<<<<<<<
 *     else:
 *         pclonedGraph = int(cudaGraph_t(clonedGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pclonedGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22019, __pyx_L1_error)
    __pyx_v_cclonedGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22017
 *     if clonedGraph is None:
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(clonedGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pclonedGraph = int(clonedGraph)
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>pclonedGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22021
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>pclonedGraph
 *     else:
 *         pclonedGraph = int(cudaGraph_t(clonedGraph))             # <<<<<<<<<<<<<<
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>pclonedGraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_clonedGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pclonedGraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22022
 *     else:
 *         pclonedGraph = int(cudaGraph_t(clonedGraph))
 *         cclonedGraph = <ccudart.cudaGraph_t><void_ptr>pclonedGraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t coriginalNode
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pclonedGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22022, __pyx_L1_error)
    __pyx_v_cclonedGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22025
 * 
 *     cdef ccudart.cudaGraphNode_t coriginalNode
 *     if originalNode is None:             # <<<<<<<<<<<<<<
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(originalNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_originalNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22026
 *     cdef ccudart.cudaGraphNode_t coriginalNode
 *     if originalNode is None:
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(originalNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         poriginalNode = int(originalNode)
 */
    __pyx_v_coriginalNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22025
 * 
 *     cdef ccudart.cudaGraphNode_t coriginalNode
 *     if originalNode is None:             # <<<<<<<<<<<<<<
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(originalNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22027
 *     if originalNode is None:
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(originalNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         poriginalNode = int(originalNode)
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_originalNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_originalNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22028
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(originalNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         poriginalNode = int(originalNode)             # <<<<<<<<<<<<<<
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_originalNode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_poriginalNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22029
 *     elif isinstance(originalNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         poriginalNode = int(originalNode)
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode             # <<<<<<<<<<<<<<
 *     else:
 *         poriginalNode = int(cudaGraphNode_t(originalNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22029, __pyx_L1_error)
    __pyx_v_coriginalNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22027
 *     if originalNode is None:
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(originalNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         poriginalNode = int(originalNode)
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22031
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode
 *     else:
 *         poriginalNode = int(cudaGraphNode_t(originalNode))             # <<<<<<<<<<<<<<
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_originalNode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_poriginalNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22032
 *     else:
 *         poriginalNode = int(cudaGraphNode_t(originalNode))
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22032, __pyx_L1_error)
    __pyx_v_coriginalNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":22034
 *         coriginalNode = <ccudart.cudaGraphNode_t><void_ptr>poriginalNode
 * 
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphNodeFindInClone(<ccudart.cudaGraphNode_t*>pNode._ptr, coriginalNode, cclonedGraph)
 *     return (cudaError_t(err), pNode)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22035
 * 
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphNodeFindInClone(<ccudart.cudaGraphNode_t*>pNode._ptr, coriginalNode, cclonedGraph)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNode)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphNodeFindInClone(((cudaGraphNode_t *)__pyx_v_pNode->__pyx_base._ptr), __pyx_v_coriginalNode, __pyx_v_cclonedGraph); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22035, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":22036
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphNodeFindInClone(<ccudart.cudaGraphNode_t*>pNode._ptr, coriginalNode, cclonedGraph)
 *     return (cudaError_t(err), pNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 22036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNode));
  PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":21984
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeFindInClone(originalNode, clonedGraph):             # <<<<<<<<<<<<<<
 *     """ Finds a cloned version of a node.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeFindInClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pclonedGraph);
  __Pyx_XDECREF(__pyx_v_poriginalNode);
  __Pyx_XDECREF((PyObject *)__pyx_v_pNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22039
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetType(node):             # <<<<<<<<<<<<<<
 *     """ Returns a node's type.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_461cudaGraphNodeGetType(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_460cudaGraphNodeGetType[] = "cudaGraphNodeGetType(node)\n Returns a node's type.\n\n    Returns the node type of `node` in `pType`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pType : :py:obj:`~.cudaGraphNodeType`\n        Pointer to return the node type\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphChildGraphNodeGetGraph`, :py:obj:`~.cudaGraphKernelNodeGetParams`, :py:obj:`~.cudaGraphKernelNodeSetParams`, :py:obj:`~.cudaGraphHostNodeGetParams`, :py:obj:`~.cudaGraphHostNodeSetParams`, :py:obj:`~.cudaGraphMemcpyNodeGetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphMemsetNodeGetParams`, :py:obj:`~.cudaGraphMemsetNodeSetParams`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_461cudaGraphNodeGetType = {"cudaGraphNodeGetType", (PyCFunction)__pyx_pw_4cuda_6cudart_461cudaGraphNodeGetType, METH_O, __pyx_doc_4cuda_6cudart_460cudaGraphNodeGetType};
static PyObject *__pyx_pw_4cuda_6cudart_461cudaGraphNodeGetType(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphNodeGetType (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_460cudaGraphNodeGetType(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_460cudaGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  enum cudaGraphNodeType __pyx_v_pType;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __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_TraceFrameInit(__pyx_codeobj__656)
  __Pyx_RefNannySetupContext("cudaGraphNodeGetType", 0);
  __Pyx_TraceCall("cudaGraphNodeGetType", __pyx_f[0], 22039, 0, __PYX_ERR(0, 22039, __pyx_L1_error));

  /* "cuda/cudart.pyx":22061
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22062
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22061
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22063
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22064
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22065
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22065, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22063
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22067
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22068
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNodeType pType
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22068, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22071
 * 
 *     cdef ccudart.cudaGraphNodeType pType
 *     err = ccudart.cudaGraphNodeGetType(cnode, &pType)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaGraphNodeType(pType))
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphNodeGetType(__pyx_v_cnode, (&__pyx_v_pType)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22071, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":22072
 *     cdef ccudart.cudaGraphNodeType pType
 *     err = ccudart.cudaGraphNodeGetType(cnode, &pType)
 *     return (cudaError_t(err), cudaGraphNodeType(pType))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaGraphNodeType); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaGraphNodeType(__pyx_v_pType); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22039
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetType(node):             # <<<<<<<<<<<<<<
 *     """ Returns a node's type.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22075
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetNodes(graph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_463cudaGraphGetNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_462cudaGraphGetNodes[] = "cudaGraphGetNodes(graph, size_t numNodes=0)\n Returns a graph's nodes.\n\n    Returns a list of `graph'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    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to query\n    numNodes : int\n        See description\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    nodes : List[:py:obj:`~.cudaGraphNode_t`]\n        Pointer to return the nodes\n    numNodes : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetType`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_463cudaGraphGetNodes = {"cudaGraphGetNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_463cudaGraphGetNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_462cudaGraphGetNodes};
static PyObject *__pyx_pw_4cuda_6cudart_463cudaGraphGetNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  size_t __pyx_v_numNodes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphGetNodes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_numNodes,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numNodes);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphGetNodes") < 0)) __PYX_ERR(0, 22075, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_graph = 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(0, 22075, __pyx_L3_error)
    } else {
      __pyx_v_numNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphGetNodes", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22075, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_462cudaGraphGetNodes(__pyx_self, __pyx_v_graph, __pyx_v_numNodes);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_462cudaGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numNodes) {
  size_t __pyx_v__graph_length;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaGraphNode_t *__pyx_v_cnodes;
  PyObject *__pyx_v_pynodes = NULL;
  cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr90__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  cudaError_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__657)
  __Pyx_RefNannySetupContext("cudaGraphGetNodes", 0);
  __Pyx_TraceCall("cudaGraphGetNodes", __pyx_f[0], 22075, 0, __PYX_ERR(0, 22075, __pyx_L1_error));

  /* "cuda/cudart.pyx":22105
 *     :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetType`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`
 *     """
 *     cdef size_t _graph_length = numNodes             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 */
  __pyx_v__graph_length = __pyx_v_numNodes;

  /* "cuda/cudart.pyx":22107
 *     cdef size_t _graph_length = numNodes
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22108
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22107
 *     cdef size_t _graph_length = numNodes
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22109
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22110
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22111
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22111, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22109
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22113
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22113, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22114
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22114, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22116
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL             # <<<<<<<<<<<<<<
 *     pynodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cnodes = NULL;

  /* "cuda/cudart.pyx":22117
 * 
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 *     pynodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pynodes = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22118
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 *     pynodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cnodes is NULL:
 */
  __pyx_t_1 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22119
 *     pynodes = []
 *     if _graph_length != 0:
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cnodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_v_cnodes = ((cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22120
 *     if _graph_length != 0:
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cnodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetNodes(cgraph, cnodes, &numNodes)
 */
    __pyx_t_1 = ((__pyx_v_cnodes == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":22121
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cnodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphGetNodes(cgraph, cnodes, &numNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __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_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22121, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 22121, __pyx_L1_error)

      /* "cuda/cudart.pyx":22120
 *     if _graph_length != 0:
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cnodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetNodes(cgraph, cnodes, &numNodes)
 */
    }

    /* "cuda/cudart.pyx":22118
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 *     pynodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cnodes is NULL:
 */
  }

  /* "cuda/cudart.pyx":22122
 *         if cnodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetNodes(cgraph, cnodes, &numNodes)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pynodes = [cudaGraphNode_t(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphGetNodes(__pyx_v_cgraph, __pyx_v_cnodes, (&__pyx_v_numNodes)); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22122, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22123
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetNodes(cgraph, cnodes, &numNodes)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pynodes = [cudaGraphNode_t(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_7, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22124
 *     err = ccudart.cudaGraphGetNodes(cgraph, cnodes, &numNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pynodes = [cudaGraphNode_t(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cnodes is not NULL:
 *         free(cnodes)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_9genexpr90__pyx_v_idx = __pyx_t_12;
        __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22124, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cnodes[__pyx_9genexpr90__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22124, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_init_value, __pyx_t_7) < 0) __PYX_ERR(0, 22124, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22124, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 22124, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pynodes, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22123
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetNodes(cgraph, cnodes, &numNodes)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pynodes = [cudaGraphNode_t(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22125
 *     if cudaError_t(err) == cudaError_t(0):
 *         pynodes = [cudaGraphNode_t(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cnodes)
 *     return (cudaError_t(err), pynodes, numNodes)
 */
  __pyx_t_1 = ((__pyx_v_cnodes != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22126
 *         pynodes = [cudaGraphNode_t(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:
 *         free(cnodes)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pynodes, numNodes)
 * 
 */
    free(__pyx_v_cnodes);

    /* "cuda/cudart.pyx":22125
 *     if cudaError_t(err) == cudaError_t(0):
 *         pynodes = [cudaGraphNode_t(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cnodes)
 *     return (cudaError_t(err), pynodes, numNodes)
 */
  }

  /* "cuda/cudart.pyx":22127
 *     if cnodes is not NULL:
 *         free(cnodes)
 *     return (cudaError_t(err), pynodes, numNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22127, __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_numNodes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __Pyx_INCREF(__pyx_v_pynodes);
  __Pyx_GIVEREF(__pyx_v_pynodes);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_pynodes);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_7);
  __pyx_t_4 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22075
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetNodes(graph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF(__pyx_v_pynodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22130
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetRootNodes(graph, size_t pNumRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_465cudaGraphGetRootNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_464cudaGraphGetRootNodes[] = "cudaGraphGetRootNodes(graph, size_t pNumRootNodes=0)\n Returns a graph's root nodes.\n\n    Returns a list of `graph's` root nodes. `pRootNodes` may be NULL, in\n    which case this function will return the number of root nodes in\n    `pNumRootNodes`. Otherwise, `pNumRootNodes` entries will be filled in.\n    If `pNumRootNodes` is higher than the actual number of root nodes, the\n    remaining entries in `pRootNodes` will be set to NULL, and the number\n    of nodes actually obtained will be returned in `pNumRootNodes`.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to query\n    pNumRootNodes : int\n        See description\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pRootNodes : List[:py:obj:`~.cudaGraphNode_t`]\n        Pointer to return the root nodes\n    pNumRootNodes : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetType`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_465cudaGraphGetRootNodes = {"cudaGraphGetRootNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_465cudaGraphGetRootNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_464cudaGraphGetRootNodes};
static PyObject *__pyx_pw_4cuda_6cudart_465cudaGraphGetRootNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  size_t __pyx_v_pNumRootNodes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphGetRootNodes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pNumRootNodes,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNumRootNodes);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphGetRootNodes") < 0)) __PYX_ERR(0, 22130, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_graph = values[0];
    if (values[1]) {
      __pyx_v_pNumRootNodes = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_pNumRootNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22130, __pyx_L3_error)
    } else {
      __pyx_v_pNumRootNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphGetRootNodes", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22130, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetRootNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_464cudaGraphGetRootNodes(__pyx_self, __pyx_v_graph, __pyx_v_pNumRootNodes);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_464cudaGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_pNumRootNodes) {
  size_t __pyx_v__graph_length;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaGraphNode_t *__pyx_v_cpRootNodes;
  PyObject *__pyx_v_pypRootNodes = NULL;
  cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr91__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  cudaError_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__658)
  __Pyx_RefNannySetupContext("cudaGraphGetRootNodes", 0);
  __Pyx_TraceCall("cudaGraphGetRootNodes", __pyx_f[0], 22130, 0, __PYX_ERR(0, 22130, __pyx_L1_error));

  /* "cuda/cudart.pyx":22160
 *     :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetType`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`
 *     """
 *     cdef size_t _graph_length = pNumRootNodes             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 */
  __pyx_v__graph_length = __pyx_v_pNumRootNodes;

  /* "cuda/cudart.pyx":22162
 *     cdef size_t _graph_length = pNumRootNodes
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22163
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22162
 *     cdef size_t _graph_length = pNumRootNodes
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22164
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22165
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22166
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22166, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22164
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22168
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22169
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22169, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22171
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL             # <<<<<<<<<<<<<<
 *     pypRootNodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cpRootNodes = NULL;

  /* "cuda/cudart.pyx":22172
 * 
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 *     pypRootNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pypRootNodes = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22173
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 *     pypRootNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpRootNodes is NULL:
 */
  __pyx_t_1 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22174
 *     pypRootNodes = []
 *     if _graph_length != 0:
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpRootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_v_cpRootNodes = ((cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22175
 *     if _graph_length != 0:
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpRootNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetRootNodes(cgraph, cpRootNodes, &pNumRootNodes)
 */
    __pyx_t_1 = ((__pyx_v_cpRootNodes == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":22176
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpRootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphGetRootNodes(cgraph, cpRootNodes, &pNumRootNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __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_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22176, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 22176, __pyx_L1_error)

      /* "cuda/cudart.pyx":22175
 *     if _graph_length != 0:
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpRootNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetRootNodes(cgraph, cpRootNodes, &pNumRootNodes)
 */
    }

    /* "cuda/cudart.pyx":22173
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 *     pypRootNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpRootNodes is NULL:
 */
  }

  /* "cuda/cudart.pyx":22177
 *         if cpRootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetRootNodes(cgraph, cpRootNodes, &pNumRootNodes)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypRootNodes = [cudaGraphNode_t(init_value=<void_ptr>cpRootNodes[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphGetRootNodes(__pyx_v_cgraph, __pyx_v_cpRootNodes, (&__pyx_v_pNumRootNodes)); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22177, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22178
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetRootNodes(cgraph, cpRootNodes, &pNumRootNodes)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypRootNodes = [cudaGraphNode_t(init_value=<void_ptr>cpRootNodes[idx]) for idx in range(_graph_length)]
 *     if cpRootNodes is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_7, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22179
 *     err = ccudart.cudaGraphGetRootNodes(cgraph, cpRootNodes, &pNumRootNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypRootNodes = [cudaGraphNode_t(init_value=<void_ptr>cpRootNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cpRootNodes is not NULL:
 *         free(cpRootNodes)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22179, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_9genexpr91__pyx_v_idx = __pyx_t_12;
        __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22179, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cpRootNodes[__pyx_9genexpr91__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22179, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_init_value, __pyx_t_7) < 0) __PYX_ERR(0, 22179, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22179, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 22179, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypRootNodes, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22178
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetRootNodes(cgraph, cpRootNodes, &pNumRootNodes)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypRootNodes = [cudaGraphNode_t(init_value=<void_ptr>cpRootNodes[idx]) for idx in range(_graph_length)]
 *     if cpRootNodes is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22180
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypRootNodes = [cudaGraphNode_t(init_value=<void_ptr>cpRootNodes[idx]) for idx in range(_graph_length)]
 *     if cpRootNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpRootNodes)
 *     return (cudaError_t(err), pypRootNodes, pNumRootNodes)
 */
  __pyx_t_1 = ((__pyx_v_cpRootNodes != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22181
 *         pypRootNodes = [cudaGraphNode_t(init_value=<void_ptr>cpRootNodes[idx]) for idx in range(_graph_length)]
 *     if cpRootNodes is not NULL:
 *         free(cpRootNodes)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pypRootNodes, pNumRootNodes)
 * 
 */
    free(__pyx_v_cpRootNodes);

    /* "cuda/cudart.pyx":22180
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypRootNodes = [cudaGraphNode_t(init_value=<void_ptr>cpRootNodes[idx]) for idx in range(_graph_length)]
 *     if cpRootNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpRootNodes)
 *     return (cudaError_t(err), pypRootNodes, pNumRootNodes)
 */
  }

  /* "cuda/cudart.pyx":22182
 *     if cpRootNodes is not NULL:
 *         free(cpRootNodes)
 *     return (cudaError_t(err), pypRootNodes, pNumRootNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22182, __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_pNumRootNodes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __Pyx_INCREF(__pyx_v_pypRootNodes);
  __Pyx_GIVEREF(__pyx_v_pypRootNodes);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_pypRootNodes);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_7);
  __pyx_t_4 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22130
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetRootNodes(graph, size_t pNumRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetRootNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF(__pyx_v_pypRootNodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22185
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetEdges(graph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_467cudaGraphGetEdges(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_466cudaGraphGetEdges[] = "cudaGraphGetEdges(graph, size_t numEdges=0)\n Returns a graph's dependency edges.\n\n    Returns a list of `graph'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    graph : :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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    from : List[:py:obj:`~.cudaGraphNode_t`]\n        Location to return edge endpoints\n    to : List[:py:obj:`~.cudaGraphNode_t`]\n        Location to return edge endpoints\n    numEdges : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphRemoveDependencies`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_467cudaGraphGetEdges = {"cudaGraphGetEdges", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_467cudaGraphGetEdges, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_466cudaGraphGetEdges};
static PyObject *__pyx_pw_4cuda_6cudart_467cudaGraphGetEdges(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  size_t __pyx_v_numEdges;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphGetEdges (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_numEdges,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numEdges);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphGetEdges") < 0)) __PYX_ERR(0, 22185, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_graph = 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(0, 22185, __pyx_L3_error)
    } else {
      __pyx_v_numEdges = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphGetEdges", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22185, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_466cudaGraphGetEdges(__pyx_self, __pyx_v_graph, __pyx_v_numEdges);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_466cudaGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numEdges) {
  size_t __pyx_v__graph_length;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaGraphNode_t *__pyx_v_cfrom_;
  PyObject *__pyx_v_pyfrom_ = NULL;
  cudaGraphNode_t *__pyx_v_cto;
  PyObject *__pyx_v_pyto = NULL;
  cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr92__pyx_v_idx;
  size_t __pyx_9genexpr93__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  cudaError_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__659)
  __Pyx_RefNannySetupContext("cudaGraphGetEdges", 0);
  __Pyx_TraceCall("cudaGraphGetEdges", __pyx_f[0], 22185, 0, __PYX_ERR(0, 22185, __pyx_L1_error));

  /* "cuda/cudart.pyx":22219
 *     :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphRemoveDependencies`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`
 *     """
 *     cdef size_t _graph_length = numEdges             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 */
  __pyx_v__graph_length = __pyx_v_numEdges;

  /* "cuda/cudart.pyx":22221
 *     cdef size_t _graph_length = numEdges
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22222
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22221
 *     cdef size_t _graph_length = numEdges
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22223
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22224
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22225
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22225, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22223
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22227
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22228
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22228, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22230
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     pyfrom_ = []
 *     if _graph_length != 0:
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cudart.pyx":22231
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     pyfrom_ = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pyfrom_ = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22232
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 */
  __pyx_t_1 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22233
 *     pyfrom_ = []
 *     if _graph_length != 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_v_cfrom_ = ((cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22234
 *     if _graph_length != 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 */
    __pyx_t_1 = ((__pyx_v_cfrom_ == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":22235
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     pyto = []
 */
      __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __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_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 22235, __pyx_L1_error)

      /* "cuda/cudart.pyx":22234
 *     if _graph_length != 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 */
    }

    /* "cuda/cudart.pyx":22232
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cudart.pyx":22236
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     cdef ccudart.cudaGraphNode_t* cto = NULL             # <<<<<<<<<<<<<<
 *     pyto = []
 *     if _graph_length != 0:
 */
  __pyx_v_cto = NULL;

  /* "cuda/cudart.pyx":22237
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     pyto = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cto = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_v_pyto = ((PyObject*)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/cudart.pyx":22238
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cto = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 */
  __pyx_t_1 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22239
 *     pyto = []
 *     if _graph_length != 0:
 *         cto = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_v_cto = ((cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22240
 *     if _graph_length != 0:
 *         cto = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetEdges(cgraph, cfrom_, cto, &numEdges)
 */
    __pyx_t_1 = ((__pyx_v_cto == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":22241
 *         cto = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphGetEdges(cgraph, cfrom_, cto, &numEdges)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_n_u_x_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22241, __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(0, 22241, __pyx_L1_error)

      /* "cuda/cudart.pyx":22240
 *     if _graph_length != 0:
 *         cto = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetEdges(cgraph, cfrom_, cto, &numEdges)
 */
    }

    /* "cuda/cudart.pyx":22238
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cto = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 */
  }

  /* "cuda/cudart.pyx":22242
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetEdges(cgraph, cfrom_, cto, &numEdges)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyfrom_ = [cudaGraphNode_t(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphGetEdges(__pyx_v_cgraph, __pyx_v_cfrom_, __pyx_v_cto, (&__pyx_v_numEdges)); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22242, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22243
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetEdges(cgraph, cfrom_, cto, &numEdges)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [cudaGraphNode_t(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22244
 *     err = ccudart.cudaGraphGetEdges(cgraph, cfrom_, cto, &numEdges)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyfrom_ = [cudaGraphNode_t(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
    { /* enter inner scope */
      __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22244, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_9genexpr92__pyx_v_idx = __pyx_t_12;
        __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22244, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cfrom_[__pyx_9genexpr92__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22244, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(0, 22244, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22244, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 22244, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfrom_, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22243
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetEdges(cgraph, cfrom_, cto, &numEdges)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [cudaGraphNode_t(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22245
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyfrom_ = [cudaGraphNode_t(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cudaError_t(err) == cudaError_t(0):
 */
  __pyx_t_1 = ((__pyx_v_cfrom_ != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22246
 *         pyfrom_ = [cudaGraphNode_t(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 *         free(cfrom_)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyto = [cudaGraphNode_t(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 */
    free(__pyx_v_cfrom_);

    /* "cuda/cudart.pyx":22245
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyfrom_ = [cudaGraphNode_t(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cudaError_t(err) == cudaError_t(0):
 */
  }

  /* "cuda/cudart.pyx":22247
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pyto = [cudaGraphNode_t(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_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22247, __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_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22248
 *         free(cfrom_)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyto = [cudaGraphNode_t(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cto is not NULL:
 *         free(cto)
 */
    { /* enter inner scope */
      __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22248, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_9genexpr93__pyx_v_idx = __pyx_t_12;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_6 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cto[__pyx_9genexpr93__pyx_v_idx]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_6) < 0) __PYX_ERR(0, 22248, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22248, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 22248, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyto, ((PyObject*)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "cuda/cudart.pyx":22247
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pyto = [cudaGraphNode_t(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22249
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyto = [cudaGraphNode_t(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err), pyfrom_, pyto, numEdges)
 */
  __pyx_t_1 = ((__pyx_v_cto != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22250
 *         pyto = [cudaGraphNode_t(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pyfrom_, pyto, numEdges)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cudart.pyx":22249
 *     if cudaError_t(err) == cudaError_t(0):
 *         pyto = [cudaGraphNode_t(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err), pyfrom_, pyto, numEdges)
 */
  }

  /* "cuda/cudart.pyx":22251
 *     if cto is not NULL:
 *         free(cto)
 *     return (cudaError_t(err), pyfrom_, pyto, numEdges)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_numEdges); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7);
  __Pyx_INCREF(__pyx_v_pyfrom_);
  __Pyx_GIVEREF(__pyx_v_pyfrom_);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pyfrom_);
  __Pyx_INCREF(__pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_v_pyto);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_6);
  __pyx_t_7 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22185
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetEdges(graph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __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/cudart.pyx":22254
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependencies(node, size_t pNumDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_469cudaGraphNodeGetDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_468cudaGraphNodeGetDependencies[] = "cudaGraphNodeGetDependencies(node, size_t pNumDependencies=0)\n Returns a node's dependencies.\n\n    Returns a list of `node's` dependencies. `pDependencies` may be NULL,\n    in which case this function will return the number of dependencies in\n    `pNumDependencies`. Otherwise, `pNumDependencies` entries will be\n    filled in. If `pNumDependencies` is higher than the actual number of\n    dependencies, the remaining entries in `pDependencies` will be set to\n    NULL, and the number of nodes actually obtained will be returned in\n    `pNumDependencies`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\n    pNumDependencies : int\n        See description\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pDependencies : List[:py:obj:`~.cudaGraphNode_t`]\n        Pointer to return the dependencies\n    pNumDependencies : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphNodeGetDependentNodes`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphRemoveDependencies`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_469cudaGraphNodeGetDependencies = {"cudaGraphNodeGetDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_469cudaGraphNodeGetDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_468cudaGraphNodeGetDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_469cudaGraphNodeGetDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  size_t __pyx_v_pNumDependencies;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphNodeGetDependencies (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_pNumDependencies,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNumDependencies);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphNodeGetDependencies") < 0)) __PYX_ERR(0, 22254, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_node = values[0];
    if (values[1]) {
      __pyx_v_pNumDependencies = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_pNumDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22254, __pyx_L3_error)
    } else {
      __pyx_v_pNumDependencies = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphNodeGetDependencies", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22254, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_468cudaGraphNodeGetDependencies(__pyx_self, __pyx_v_node, __pyx_v_pNumDependencies);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_468cudaGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, size_t __pyx_v_pNumDependencies) {
  size_t __pyx_v__graph_length;
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphNode_t *__pyx_v_cpDependencies;
  PyObject *__pyx_v_pypDependencies = NULL;
  cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr94__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  cudaError_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__660)
  __Pyx_RefNannySetupContext("cudaGraphNodeGetDependencies", 0);
  __Pyx_TraceCall("cudaGraphNodeGetDependencies", __pyx_f[0], 22254, 0, __PYX_ERR(0, 22254, __pyx_L1_error));

  /* "cuda/cudart.pyx":22285
 *     :py:obj:`~.cudaGraphNodeGetDependentNodes`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphRemoveDependencies`
 *     """
 *     cdef size_t _graph_length = pNumDependencies             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 */
  __pyx_v__graph_length = __pyx_v_pNumDependencies;

  /* "cuda/cudart.pyx":22287
 *     cdef size_t _graph_length = pNumDependencies
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22288
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22287
 *     cdef size_t _graph_length = pNumDependencies
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22289
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22290
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22291
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22291, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22289
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22293
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22294
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22294, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22296
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     pypDependencies = []
 *     if _graph_length != 0:
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":22297
 * 
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     pypDependencies = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pypDependencies = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22298
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     pypDependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  __pyx_t_1 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22299
 *     pypDependencies = []
 *     if _graph_length != 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_v_cpDependencies = ((cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22300
 *     if _graph_length != 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependencies(cnode, cpDependencies, &pNumDependencies)
 */
    __pyx_t_1 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":22301
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphNodeGetDependencies(cnode, cpDependencies, &pNumDependencies)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __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_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22301, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 22301, __pyx_L1_error)

      /* "cuda/cudart.pyx":22300
 *     if _graph_length != 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependencies(cnode, cpDependencies, &pNumDependencies)
 */
    }

    /* "cuda/cudart.pyx":22298
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     pypDependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependencies is NULL:
 */
  }

  /* "cuda/cudart.pyx":22302
 *         if cpDependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependencies(cnode, cpDependencies, &pNumDependencies)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependencies = [cudaGraphNode_t(init_value=<void_ptr>cpDependencies[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependencies(__pyx_v_cnode, __pyx_v_cpDependencies, (&__pyx_v_pNumDependencies)); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22302, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22303
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependencies(cnode, cpDependencies, &pNumDependencies)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypDependencies = [cudaGraphNode_t(init_value=<void_ptr>cpDependencies[idx]) for idx in range(_graph_length)]
 *     if cpDependencies is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_7, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22304
 *     err = ccudart.cudaGraphNodeGetDependencies(cnode, cpDependencies, &pNumDependencies)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependencies = [cudaGraphNode_t(init_value=<void_ptr>cpDependencies[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22304, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_9genexpr94__pyx_v_idx = __pyx_t_12;
        __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22304, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cpDependencies[__pyx_9genexpr94__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22304, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_init_value, __pyx_t_7) < 0) __PYX_ERR(0, 22304, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22304, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 22304, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypDependencies, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22303
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependencies(cnode, cpDependencies, &pNumDependencies)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypDependencies = [cudaGraphNode_t(init_value=<void_ptr>cpDependencies[idx]) for idx in range(_graph_length)]
 *     if cpDependencies is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22305
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependencies = [cudaGraphNode_t(init_value=<void_ptr>cpDependencies[idx]) for idx in range(_graph_length)]
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pypDependencies, pNumDependencies)
 */
  __pyx_t_1 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22306
 *         pypDependencies = [cudaGraphNode_t(init_value=<void_ptr>cpDependencies[idx]) for idx in range(_graph_length)]
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pypDependencies, pNumDependencies)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":22305
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependencies = [cudaGraphNode_t(init_value=<void_ptr>cpDependencies[idx]) for idx in range(_graph_length)]
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pypDependencies, pNumDependencies)
 */
  }

  /* "cuda/cudart.pyx":22307
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pypDependencies, pNumDependencies)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22307, __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_pNumDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __Pyx_INCREF(__pyx_v_pypDependencies);
  __Pyx_GIVEREF(__pyx_v_pypDependencies);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_pypDependencies);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_7);
  __pyx_t_4 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22254
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependencies(node, size_t pNumDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_pypDependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22310
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependentNodes(node, size_t pNumDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_471cudaGraphNodeGetDependentNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_470cudaGraphNodeGetDependentNodes[] = "cudaGraphNodeGetDependentNodes(node, size_t pNumDependentNodes=0)\n Returns a node's dependent nodes.\n\n    Returns a list of `node's` dependent nodes. `pDependentNodes` may be\n    NULL, in which case this function will return the number of dependent\n    nodes in `pNumDependentNodes`. Otherwise, `pNumDependentNodes` entries\n    will be filled in. If `pNumDependentNodes` is higher than the actual\n    number of dependent nodes, the remaining entries in `pDependentNodes`\n    will be set to NULL, and the number of nodes actually obtained will be\n    returned in `pNumDependentNodes`.\n\n    Parameters\n    ----------\n    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\n    pNumDependentNodes : int\n        See description\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pDependentNodes : List[:py:obj:`~.cudaGraphNode_t`]\n        Pointer to return the dependent nodes\n    pNumDependentNodes : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphRemoveDependencies`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_471cudaGraphNodeGetDependentNodes = {"cudaGraphNodeGetDependentNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_471cudaGraphNodeGetDependentNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_470cudaGraphNodeGetDependentNodes};
static PyObject *__pyx_pw_4cuda_6cudart_471cudaGraphNodeGetDependentNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_node = 0;
  size_t __pyx_v_pNumDependentNodes;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphNodeGetDependentNodes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_node,&__pyx_n_s_pNumDependentNodes,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNumDependentNodes);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphNodeGetDependentNodes") < 0)) __PYX_ERR(0, 22310, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_node = values[0];
    if (values[1]) {
      __pyx_v_pNumDependentNodes = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_pNumDependentNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22310, __pyx_L3_error)
    } else {
      __pyx_v_pNumDependentNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphNodeGetDependentNodes", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22310, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetDependentNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_470cudaGraphNodeGetDependentNodes(__pyx_self, __pyx_v_node, __pyx_v_pNumDependentNodes);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_470cudaGraphNodeGetDependentNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, size_t __pyx_v_pNumDependentNodes) {
  size_t __pyx_v__graph_length;
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphNode_t *__pyx_v_cpDependentNodes;
  PyObject *__pyx_v_pypDependentNodes = NULL;
  cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr95__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  cudaError_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  size_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__661)
  __Pyx_RefNannySetupContext("cudaGraphNodeGetDependentNodes", 0);
  __Pyx_TraceCall("cudaGraphNodeGetDependentNodes", __pyx_f[0], 22310, 0, __PYX_ERR(0, 22310, __pyx_L1_error));

  /* "cuda/cudart.pyx":22341
 *     :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphGetNodes`, :py:obj:`~.cudaGraphGetRootNodes`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphRemoveDependencies`
 *     """
 *     cdef size_t _graph_length = pNumDependentNodes             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 */
  __pyx_v__graph_length = __pyx_v_pNumDependentNodes;

  /* "cuda/cudart.pyx":22343
 *     cdef size_t _graph_length = pNumDependentNodes
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22344
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22343
 *     cdef size_t _graph_length = pNumDependentNodes
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22345
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22346
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22347
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22347, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22345
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22349
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22350
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22350, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22352
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL             # <<<<<<<<<<<<<<
 *     pypDependentNodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cpDependentNodes = NULL;

  /* "cuda/cudart.pyx":22353
 * 
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 *     pypDependentNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pypDependentNodes = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22354
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 *     pypDependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependentNodes is NULL:
 */
  __pyx_t_1 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22355
 *     pypDependentNodes = []
 *     if _graph_length != 0:
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cpDependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_v_cpDependentNodes = ((cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22356
 *     if _graph_length != 0:
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependentNodes(cnode, cpDependentNodes, &pNumDependentNodes)
 */
    __pyx_t_1 = ((__pyx_v_cpDependentNodes == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":22357
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphNodeGetDependentNodes(cnode, cpDependentNodes, &pNumDependentNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_6, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __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_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 22357, __pyx_L1_error)

      /* "cuda/cudart.pyx":22356
 *     if _graph_length != 0:
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependentNodes(cnode, cpDependentNodes, &pNumDependentNodes)
 */
    }

    /* "cuda/cudart.pyx":22354
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 *     pypDependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 *         if cpDependentNodes is NULL:
 */
  }

  /* "cuda/cudart.pyx":22358
 *         if cpDependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependentNodes(cnode, cpDependentNodes, &pNumDependentNodes)             # <<<<<<<<<<<<<<
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependentNodes = [cudaGraphNode_t(init_value=<void_ptr>cpDependentNodes[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependentNodes(__pyx_v_cnode, __pyx_v_cpDependentNodes, (&__pyx_v_pNumDependentNodes)); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22358, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22359
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependentNodes(cnode, cpDependentNodes, &pNumDependentNodes)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypDependentNodes = [cudaGraphNode_t(init_value=<void_ptr>cpDependentNodes[idx]) for idx in range(_graph_length)]
 *     if cpDependentNodes is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_7 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_7, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22360
 *     err = ccudart.cudaGraphNodeGetDependentNodes(cnode, cpDependentNodes, &pNumDependentNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependentNodes = [cudaGraphNode_t(init_value=<void_ptr>cpDependentNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cpDependentNodes is not NULL:
 *         free(cpDependentNodes)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22360, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __pyx_v__graph_length;
      __pyx_t_11 = __pyx_t_10;
      for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
        __pyx_9genexpr95__pyx_v_idx = __pyx_t_12;
        __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22360, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cpDependentNodes[__pyx_9genexpr95__pyx_v_idx]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22360, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_init_value, __pyx_t_7) < 0) __PYX_ERR(0, 22360, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22360, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 22360, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypDependentNodes, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22359
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependentNodes(cnode, cpDependentNodes, &pNumDependentNodes)
 *     if cudaError_t(err) == cudaError_t(0):             # <<<<<<<<<<<<<<
 *         pypDependentNodes = [cudaGraphNode_t(init_value=<void_ptr>cpDependentNodes[idx]) for idx in range(_graph_length)]
 *     if cpDependentNodes is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22361
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependentNodes = [cudaGraphNode_t(init_value=<void_ptr>cpDependentNodes[idx]) for idx in range(_graph_length)]
 *     if cpDependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependentNodes)
 *     return (cudaError_t(err), pypDependentNodes, pNumDependentNodes)
 */
  __pyx_t_1 = ((__pyx_v_cpDependentNodes != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22362
 *         pypDependentNodes = [cudaGraphNode_t(init_value=<void_ptr>cpDependentNodes[idx]) for idx in range(_graph_length)]
 *     if cpDependentNodes is not NULL:
 *         free(cpDependentNodes)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pypDependentNodes, pNumDependentNodes)
 * 
 */
    free(__pyx_v_cpDependentNodes);

    /* "cuda/cudart.pyx":22361
 *     if cudaError_t(err) == cudaError_t(0):
 *         pypDependentNodes = [cudaGraphNode_t(init_value=<void_ptr>cpDependentNodes[idx]) for idx in range(_graph_length)]
 *     if cpDependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependentNodes)
 *     return (cudaError_t(err), pypDependentNodes, pNumDependentNodes)
 */
  }

  /* "cuda/cudart.pyx":22363
 *     if cpDependentNodes is not NULL:
 *         free(cpDependentNodes)
 *     return (cudaError_t(err), pypDependentNodes, pNumDependentNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22363, __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_pNumDependentNodes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 22363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __Pyx_INCREF(__pyx_v_pypDependentNodes);
  __Pyx_GIVEREF(__pyx_v_pypDependentNodes);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_pypDependentNodes);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_7);
  __pyx_t_4 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22310
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependentNodes(node, size_t pNumDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetDependentNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_pypDependentNodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22366
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Adds dependency edges to a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_473cudaGraphAddDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_472cudaGraphAddDependencies[] = "cudaGraphAddDependencies(graph, from_: List[cudaGraphNode_t], to: List[cudaGraphNode_t], 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 `pFrom` and `pTo` at corresponding indices define a\n    dependency. Each node in `pFrom` and `pTo` must belong to `graph`.\n\n    If `numDependencies` is 0, elements in `pFrom` and `pTo` will be\n    ignored. Specifying an existing dependency will return an error.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which dependencies are added\n    from : List[:py:obj:`~.cudaGraphNode_t`]\n        Array of nodes that provide the dependencies\n    to : List[:py:obj:`~.cudaGraphNode_t`]\n        Array of dependent nodes\n    numDependencies : size_t\n        Number of dependencies to be added\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphRemoveDependencies`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_473cudaGraphAddDependencies = {"cudaGraphAddDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_473cudaGraphAddDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_472cudaGraphAddDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_473cudaGraphAddDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  size_t __pyx_v_numDependencies;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphAddDependencies (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_from,&__pyx_n_s_to,&__pyx_n_s_numDependencies,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_from)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddDependencies", 1, 4, 4, 1); __PYX_ERR(0, 22366, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_to)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddDependencies", 1, 4, 4, 2); __PYX_ERR(0, 22366, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddDependencies", 1, 4, 4, 3); __PYX_ERR(0, 22366, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphAddDependencies") < 0)) __PYX_ERR(0, 22366, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_from_ = values[1];
    __pyx_v_to = values[2];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22366, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphAddDependencies", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22366, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_472cudaGraphAddDependencies(__pyx_self, __pyx_v_graph, __pyx_v_from_, __pyx_v_to, __pyx_v_numDependencies);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_2generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":22397
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_40_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_40_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_40_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 22397, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_2generator21, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddDependencies_locals, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 22397, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_2generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 22397, 0, __PYX_ERR(0, 22397, __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(0, 22397, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) { __Pyx_RaiseClosureNameError("to"); __PYX_ERR(0, 22397, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_to; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22397, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 22397, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22397, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 22397, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22397, __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, 22397, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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_6cudart_24cudaGraphAddDependencies_5generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":22401
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_3genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_41_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_41_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_41_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 22401, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_5generator22, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphAddDependencies_locals, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 22401, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_5generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 22401, 0, __PYX_ERR(0, 22401, __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(0, 22401, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) { __Pyx_RaiseClosureNameError("from_"); __PYX_ERR(0, 22401, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22401, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 22401, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22401, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 22401, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22401, __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, 22401, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":22366
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Adds dependency edges to a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_472cudaGraphAddDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaGraphNode_t *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  cudaGraphNode_t *__pyx_v_cto;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_2generator21 = 0;
  PyObject *__pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_5generator22 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  cudaGraphNode_t *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__662)
  __Pyx_RefNannySetupContext("cudaGraphAddDependencies", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 22366, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddDependencies", __pyx_f[0], 22366, 0, __PYX_ERR(0, 22366, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_from_ = __pyx_v_from_;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_from_);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_from_);
  __pyx_cur_scope->__pyx_v_to = __pyx_v_to;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_to);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_to);

  /* "cuda/cudart.pyx":22396
 *     :py:obj:`~.cudaGraphRemoveDependencies`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`
 *     """
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_to == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_to);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_to;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_to);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_to, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":22397
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 22397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":22398
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     from_ = [] if from_ is None else from_
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__663, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 22398, __pyx_L1_error)

    /* "cuda/cudart.pyx":22397
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":22400
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 *     from_ = [] if from_ is None else from_             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_4 = (__pyx_cur_scope->__pyx_v_from_ == Py_None);
  if ((__pyx_t_4 != 0)) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_from_);
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_from_);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_from_, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":22401
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_3 = __pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 22401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = ((!__pyx_t_4) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":22402
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__664, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 22402, __pyx_L1_error)

    /* "cuda/cudart.pyx":22401
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":22405
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_2 = (__pyx_v_graph == Py_None);
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":22406
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22405
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cudart.pyx":22407
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_2 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_4 = __pyx_t_5;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_5 != 0);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L6_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22408
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":22409
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22409, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":22407
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cudart.pyx":22411
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":22412
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22412, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L5:;

  /* "cuda/cudart.pyx":22414
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cudart.pyx":22415
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22416
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22416, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cfrom_ = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22417
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_2 = ((__pyx_v_cfrom_ == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":22418
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
 */
      __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22418, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22418, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22418, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22418, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_n_u_x_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22418, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22418, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22418, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22418, __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(0, 22418, __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(0, 22418, __pyx_L1_error)

      /* "cuda/cudart.pyx":22417
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":22420
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cfrom_[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>from_[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_from_;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22420, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":22421
 *         else:
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>from_[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22421, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":22415
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cudart.pyx":22423
 *                 cfrom_[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>from_[idx])._ptr[0]
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cto = NULL;

  /* "cuda/cudart.pyx":22424
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_2 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22425
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22425, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_v_cto = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22426
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_2 = ((__pyx_v_cto == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":22427
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
 */
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22427, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22427, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22427, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22427, __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(0, 22427, __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(0, 22427, __pyx_L1_error)

      /* "cuda/cudart.pyx":22426
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":22429
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cto[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>to[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22429, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __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/cudart.pyx":22430
 *         else:
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>to[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))
 */
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22430, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cto[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/cudart.pyx":22424
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 */
  }

  /* "cuda/cudart.pyx":22432
 *                 cto[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>to[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_from_;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22432, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u__486); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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(0, 22432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22432, __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_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22432, __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(0, 22432, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":22433
 * 
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphAddDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_to;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22433, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22433, __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(0, 22433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22433, __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_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22433, __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(0, 22433, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":22434
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cfrom_;
  }
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cto;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddDependencies(__pyx_v_cgraph, __pyx_t_11, __pyx_t_12, __pyx_v_numDependencies); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22434, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":22435
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>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) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22436
 *     err = ccudart.cudaGraphAddDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>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/cudart.pyx":22435
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22437
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  __pyx_t_2 = ((__pyx_v_cto != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22438
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cudart.pyx":22437
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":22439
 *     if cto is not NULL:
 *         free(cto)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_8 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22366
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Adds dependency edges to a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_2generator21);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_24cudaGraphAddDependencies_5generator22);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22442
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRemoveDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Removes dependency edges from a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_475cudaGraphRemoveDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_474cudaGraphRemoveDependencies[] = "cudaGraphRemoveDependencies(graph, from_: List[cudaGraphNode_t], to: List[cudaGraphNode_t], size_t numDependencies)\n Removes dependency edges from a graph.\n\n    The number of `pDependencies` to be removed is defined by\n    `numDependencies`. Elements in `pFrom` and `pTo` at corresponding\n    indices define a dependency. Each node in `pFrom` and `pTo` must belong\n    to `graph`.\n\n    If `numDependencies` is 0, elements in `pFrom` and `pTo` will be\n    ignored. Specifying a non-existing dependency will return an error.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph from which to remove dependencies\n    from : List[:py:obj:`~.cudaGraphNode_t`]\n        Array of nodes that provide the dependencies\n    to : List[:py:obj:`~.cudaGraphNode_t`]\n        Array of dependent nodes\n    numDependencies : size_t\n        Number of dependencies to be removed\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_475cudaGraphRemoveDependencies = {"cudaGraphRemoveDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_475cudaGraphRemoveDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_474cudaGraphRemoveDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_475cudaGraphRemoveDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  size_t __pyx_v_numDependencies;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphRemoveDependencies (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_from,&__pyx_n_s_to,&__pyx_n_s_numDependencies,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_from)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphRemoveDependencies", 1, 4, 4, 1); __PYX_ERR(0, 22442, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_to)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphRemoveDependencies", 1, 4, 4, 2); __PYX_ERR(0, 22442, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numDependencies)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphRemoveDependencies", 1, 4, 4, 3); __PYX_ERR(0, 22442, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphRemoveDependencies") < 0)) __PYX_ERR(0, 22442, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_from_ = values[1];
    __pyx_v_to = values[2];
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22442, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphRemoveDependencies", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22442, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRemoveDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_474cudaGraphRemoveDependencies(__pyx_self, __pyx_v_graph, __pyx_v_from_, __pyx_v_to, __pyx_v_numDependencies);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_2generator23(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":22474
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_43_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_43_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_43_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 22474, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_2generator23, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphRemoveDependencies_loca, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 22474, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRemoveDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_2generator23(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 22474, 0, __PYX_ERR(0, 22474, __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(0, 22474, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) { __Pyx_RaiseClosureNameError("to"); __PYX_ERR(0, 22474, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_to; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22474, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 22474, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22474, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 22474, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22474, __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, 22474, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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_6cudart_27cudaGraphRemoveDependencies_5generator24(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cudart.pyx":22478
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_3genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart___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_6cudart___pyx_scope_struct_44_genexpr *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_44_genexpr(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_44_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 22478, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_5generator24, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cudaGraphRemoveDependencies_loca, __pyx_n_s_cuda_cudart); if (unlikely(!gen)) __PYX_ERR(0, 22478, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRemoveDependencies.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_5generator24(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[0], 22478, 0, __PYX_ERR(0, 22478, __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(0, 22478, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) { __Pyx_RaiseClosureNameError("from_"); __PYX_ERR(0, 22478, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22478, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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, 22478, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22478, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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, 22478, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22478, __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, 22478, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #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/cudart.pyx":22442
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRemoveDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Removes dependency edges from a graph.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_474cudaGraphRemoveDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *__pyx_cur_scope;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaGraphNode_t *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  cudaGraphNode_t *__pyx_v_cto;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_2generator23 = 0;
  PyObject *__pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_5generator24 = 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;
  int __pyx_t_5;
  __pyx_t_4cuda_6cudart_void_ptr __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;
  cudaGraphNode_t *__pyx_t_11;
  cudaGraphNode_t *__pyx_t_12;
  cudaError_t __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__665)
  __Pyx_RefNannySetupContext("cudaGraphRemoveDependencies", 0);
  __pyx_cur_scope = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *)__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies(__pyx_ptype_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 22442, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphRemoveDependencies", __pyx_f[0], 22442, 0, __PYX_ERR(0, 22442, __pyx_L1_error));
  __pyx_cur_scope->__pyx_v_from_ = __pyx_v_from_;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_from_);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_from_);
  __pyx_cur_scope->__pyx_v_to = __pyx_v_to;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_to);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_to);

  /* "cuda/cudart.pyx":22473
 *     :py:obj:`~.cudaGraphAddDependencies`, :py:obj:`~.cudaGraphGetEdges`, :py:obj:`~.cudaGraphNodeGetDependencies`, :py:obj:`~.cudaGraphNodeGetDependentNodes`
 *     """
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_2 = (__pyx_cur_scope->__pyx_v_to == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_to);
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_to;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_to);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_to, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":22474
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 22474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":22475
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     from_ = [] if from_ is None else from_
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__663, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 22475, __pyx_L1_error)

    /* "cuda/cudart.pyx":22474
 *     """
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":22477
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 *     from_ = [] if from_ is None else from_             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 */
  __pyx_t_4 = (__pyx_cur_scope->__pyx_v_from_ == Py_None);
  if ((__pyx_t_4 != 0)) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_from_);
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_from_);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_from_, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":22478
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  __pyx_t_3 = __pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 22478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = ((!__pyx_t_4) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":22479
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__664, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 22479, __pyx_L1_error)

    /* "cuda/cudart.pyx":22478
 * 
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 * 
 */
  }

  /* "cuda/cudart.pyx":22482
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_2 = (__pyx_v_graph == Py_None);
  __pyx_t_4 = (__pyx_t_2 != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":22483
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22482
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cudart.pyx":22484
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_5 = (__pyx_t_2 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_4 = __pyx_t_5;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_5 != 0);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L6_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_4 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22485
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_pgraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cudart.pyx":22486
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22486, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

    /* "cuda/cudart.pyx":22484
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cudart.pyx":22488
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_pgraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":22489
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22489, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));
  }
  __pyx_L5:;

  /* "cuda/cudart.pyx":22491
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cudart.pyx":22492
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22493
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22493, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cfrom_ = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22494
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_2 = ((__pyx_v_cfrom_ == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":22495
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
 */
      __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22495, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_n_u_x_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22495, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22495, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22495, __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(0, 22495, __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(0, 22495, __pyx_L1_error)

      /* "cuda/cudart.pyx":22494
 *     if len(from_) > 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":22497
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cfrom_[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>from_[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_from_;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22497, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __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/cudart.pyx":22498
 *         else:
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>from_[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 */
        __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22498, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cudart.pyx":22492
 * 
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccudart.cudaGraphNode_t*> calloc(len(from_), sizeof(ccudart.cudaGraphNode_t))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cudart.pyx":22500
 *                 cfrom_[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>from_[idx])._ptr[0]
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_v_cto = NULL;

  /* "cuda/cudart.pyx":22501
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_2 = ((__pyx_t_7 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22502
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 */
    __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22502, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_v_cto = ((cudaGraphNode_t *)calloc(__pyx_t_7, (sizeof(cudaGraphNode_t))));

    /* "cuda/cudart.pyx":22503
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    __pyx_t_2 = ((__pyx_v_cto == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":22504
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
 */
      __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22504, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_n_u_x_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22504, __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(cudaGraphNode_t))); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22504, __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(0, 22504, __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(0, 22504, __pyx_L1_error)

      /* "cuda/cudart.pyx":22503
 *     if len(to) > 0:
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":22506
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cto[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>to[idx])._ptr[0]
 * 
 */
    /*else*/ {
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22506, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __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/cudart.pyx":22507
 *         else:
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>to[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))
 */
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22507, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cto[__pyx_v_idx]) = ((cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/cudart.pyx":22501
 * 
 *     cdef ccudart.cudaGraphNode_t* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccudart.cudaGraphNode_t*> calloc(len(to), sizeof(ccudart.cudaGraphNode_t))
 *         if cto is NULL:
 */
  }

  /* "cuda/cudart.pyx":22509
 *                 cto[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>to[idx])._ptr[0]
 * 
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphRemoveDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_from_;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22509, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u__486); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __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(0, 22509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22509, __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_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22509, __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(0, 22509, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":22510
 * 
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphRemoveDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_7)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_to;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22510, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_kp_u__486); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22510, __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(0, 22510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22510, __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_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22510, __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(0, 22510, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":22511
 *     if numDependencies > <size_t>len(from_): raise RuntimeError("List is too small: " + str(len(from_)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphRemoveDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_11 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cfrom_;
  }
  __pyx_t_8 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (((__pyx_t_7 == 1) != 0)) {
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_12 = ((cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_8)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cto;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphRemoveDependencies(__pyx_v_cgraph, __pyx_t_11, __pyx_t_12, __pyx_v_numDependencies); if (unlikely(__pyx_t_13 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22511, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":22512
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphRemoveDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>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) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22513
 *     err = ccudart.cudaGraphRemoveDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>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/cudart.pyx":22512
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphRemoveDependencies(cgraph, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  }

  /* "cuda/cudart.pyx":22514
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  __pyx_t_2 = ((__pyx_v_cto != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22515
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cudart.pyx":22514
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":22516
 *     if cto is not NULL:
 *         free(cto)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_8 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22442
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRemoveDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Removes dependency edges from a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRemoveDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_2generator23);
  __Pyx_XDECREF(__pyx_gb_4cuda_6cudart_27cudaGraphRemoveDependencies_5generator24);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22519
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroyNode(node):             # <<<<<<<<<<<<<<
 *     """ Remove a node from the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_477cudaGraphDestroyNode(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_476cudaGraphDestroyNode[] = "cudaGraphDestroyNode(node)\n Remove a node from the graph.\n\n    Removes `node` from its graph. This operation also severs any\n    dependencies of other nodes on `node` and vice versa.\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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to remove\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphAddEmptyNode`, :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemsetNode`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_477cudaGraphDestroyNode = {"cudaGraphDestroyNode", (PyCFunction)__pyx_pw_4cuda_6cudart_477cudaGraphDestroyNode, METH_O, __pyx_doc_4cuda_6cudart_476cudaGraphDestroyNode};
static PyObject *__pyx_pw_4cuda_6cudart_477cudaGraphDestroyNode(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphDestroyNode (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_476cudaGraphDestroyNode(__pyx_self, ((PyObject *)__pyx_v_node));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_476cudaGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__666)
  __Pyx_RefNannySetupContext("cudaGraphDestroyNode", 0);
  __Pyx_TraceCall("cudaGraphDestroyNode", __pyx_f[0], 22519, 0, __PYX_ERR(0, 22519, __pyx_L1_error));

  /* "cuda/cudart.pyx":22543
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22544
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22543
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22545
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22546
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22547
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22547, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22545
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22549
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22550
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphDestroyNode(cnode)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22550, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22552
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 *     err = ccudart.cudaGraphDestroyNode(cnode)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphDestroyNode(__pyx_v_cnode); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22552, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":22553
 * 
 *     err = ccudart.cudaGraphDestroyNode(cnode)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22519
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroyNode(node):             # <<<<<<<<<<<<<<
 *     """ Remove a node from the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphDestroyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22556
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiate(graph, char* pLogBuffer, size_t bufferSize):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_479cudaGraphInstantiate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_478cudaGraphInstantiate[] = "cudaGraphInstantiate(graph, char *pLogBuffer, size_t bufferSize)\n Creates an executable graph from a graph.\n\n    Instantiates `graph` as an executable graph. The graph is validated for\n    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 `pGraphExec`.\n\n    If there are any errors, diagnostic information may be returned in\n    `pErrorNode` and `pLogBuffer`. This is the primary way to inspect\n    instantiation errors. The output will be null terminated unless the\n    diagnostics overflow the buffer. In this case, they will be truncated,\n    and the last byte can be inspected to determine if truncation occurred.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to instantiate\n    pLogBuffer : bytes\n        A character buffer to store diagnostic messages\n    bufferSize : size_t\n        Size of the log buffer in bytes\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphExec : :py:obj:`~.cudaGraphExec_t`\n        Returns instantiated graph\n    pErrorNode : :py:obj:`~.cudaGraphNode_t`\n        In case of an instantiation error, this may be modified to indicate\n        a node contributing to the error\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphInstantiateWithFlags`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphUpload`, :py:obj:`~.cudaGraphLaunch`, :py:obj:`~.cudaGraphExecDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_479cudaGraphInstantiate = {"cudaGraphInstantiate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_479cudaGraphInstantiate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_478cudaGraphInstantiate};
static PyObject *__pyx_pw_4cuda_6cudart_479cudaGraphInstantiate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  char *__pyx_v_pLogBuffer;
  size_t __pyx_v_bufferSize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphInstantiate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_pLogBuffer,&__pyx_n_s_bufferSize,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pLogBuffer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphInstantiate", 1, 3, 3, 1); __PYX_ERR(0, 22556, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_bufferSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphInstantiate", 1, 3, 3, 2); __PYX_ERR(0, 22556, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphInstantiate") < 0)) __PYX_ERR(0, 22556, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = values[0];
    __pyx_v_pLogBuffer = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_pLogBuffer) && PyErr_Occurred())) __PYX_ERR(0, 22556, __pyx_L3_error)
    __pyx_v_bufferSize = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_bufferSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22556, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphInstantiate", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22556, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphInstantiate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_478cudaGraphInstantiate(__pyx_self, __pyx_v_graph, __pyx_v_pLogBuffer, __pyx_v_bufferSize);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_478cudaGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, char *__pyx_v_pLogBuffer, size_t __pyx_v_bufferSize) {
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *__pyx_v_pGraphExec = 0;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pErrorNode = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__667)
  __Pyx_RefNannySetupContext("cudaGraphInstantiate", 0);
  __Pyx_TraceCall("cudaGraphInstantiate", __pyx_f[0], 22556, 0, __PYX_ERR(0, 22556, __pyx_L1_error));

  /* "cuda/cudart.pyx":22594
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22595
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22594
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22596
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22597
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22598
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22598, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22596
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22600
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22601
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22601, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22603
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, cgraph, <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraphExec = ((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22604
 * 
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, cgraph, <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)
 *     return (cudaError_t(err), pGraphExec, pErrorNode)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pErrorNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22605
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, cgraph, <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphExec, pErrorNode)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphInstantiate(((cudaGraphExec_t *)__pyx_v_pGraphExec->__pyx_base._ptr), __pyx_v_cgraph, ((cudaGraphNode_t *)__pyx_v_pErrorNode->__pyx_base._ptr), __pyx_v_pLogBuffer, __pyx_v_bufferSize); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22605, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":22606
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, cgraph, <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)
 *     return (cudaError_t(err), pGraphExec, pErrorNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphExec));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphExec));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pGraphExec));
  __Pyx_INCREF(((PyObject *)__pyx_v_pErrorNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pErrorNode));
  PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)__pyx_v_pErrorNode));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22556
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiate(graph, char* pLogBuffer, size_t bufferSize):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphInstantiate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphExec);
  __Pyx_XDECREF((PyObject *)__pyx_v_pErrorNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22609
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiateWithFlags(graph, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_481cudaGraphInstantiateWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_480cudaGraphInstantiateWithFlags[] = "cudaGraphInstantiateWithFlags(graph, unsigned long long flags)\n Creates an executable graph from a graph.\n\n    Instantiates `graph` as an executable graph. The graph is validated for\n    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 `pGraphExec`.\n\n    The `flags` parameter controls the behavior of instantiation and\n    subsequent graph launches. Valid flags are:\n\n    - :py:obj:`~.cudaGraphInstantiateFlagAutoFreeOnLaunch`, 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:`~.cudaGraphInstantiateFlagUseNodePriority`, which causes the\n      graph to use the priorities from the per-node attributes rather than\n      the priority of the launch stream during execution. Note that\n      priorities are only available on kernel nodes, and are copied from\n      stream priority during stream capture.\n\n    If `graph` contains any allocation or free nodes, there can be at most\n    one executable graph in existence for that graph at a time.\n\n    An attempt to instantiate a second executable graph before destroying\n    the first with :py:obj:`~.cudaGraphExecDestroy` will result in an\n    error.\n\n    Parameters\n    ----------\n    graph : :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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    pGraphExec : :py:obj:`~.cudaGraphExec_t`\n        Returns instantiated graph\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphInstantiate`, :py:obj:`~.cudaGraphCreate`, :py:obj:`~.cudaGraphUpload`, :py:obj:`~.cudaGraphLaunch`, :py:obj:`~.cudaGr""aphExecDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_481cudaGraphInstantiateWithFlags = {"cudaGraphInstantiateWithFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_481cudaGraphInstantiateWithFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_480cudaGraphInstantiateWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_481cudaGraphInstantiateWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  unsigned PY_LONG_LONG __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphInstantiateWithFlags (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphInstantiateWithFlags", 1, 2, 2, 1); __PYX_ERR(0, 22609, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphInstantiateWithFlags") < 0)) __PYX_ERR(0, 22609, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_graph = 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(0, 22609, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphInstantiateWithFlags", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22609, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphInstantiateWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_480cudaGraphInstantiateWithFlags(__pyx_self, __pyx_v_graph, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_480cudaGraphInstantiateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, unsigned PY_LONG_LONG __pyx_v_flags) {
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *__pyx_v_pGraphExec = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__668)
  __Pyx_RefNannySetupContext("cudaGraphInstantiateWithFlags", 0);
  __Pyx_TraceCall("cudaGraphInstantiateWithFlags", __pyx_f[0], 22609, 0, __PYX_ERR(0, 22609, __pyx_L1_error));

  /* "cuda/cudart.pyx":22658
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22659
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22658
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22660
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22661
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22662
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22662, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22660
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22664
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22665
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22665, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22667
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphInstantiateWithFlags(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, cgraph, flags)
 *     return (cudaError_t(err), pGraphExec)
 */
  __pyx_t_6 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pGraphExec = ((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":22668
 * 
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     err = ccudart.cudaGraphInstantiateWithFlags(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, cgraph, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphExec)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphInstantiateWithFlags(((cudaGraphExec_t *)__pyx_v_pGraphExec->__pyx_base._ptr), __pyx_v_cgraph, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22668, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":22669
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     err = ccudart.cudaGraphInstantiateWithFlags(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, cgraph, flags)
 *     return (cudaError_t(err), pGraphExec)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 22669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphExec));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphExec));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pGraphExec));
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22609
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiateWithFlags(graph, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphInstantiateWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22672
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecKernelNodeSetParams(hGraphExec, node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a kernel node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_483cudaGraphExecKernelNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_482cudaGraphExecKernelNodeSetParams[] = "cudaGraphExecKernelNodeSetParams(hGraphExec, node, cudaKernelNodeParams pNodeParams: cudaKernelNodeParams)\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 `node`\n    in the non-executable graph, from which the executable graph was\n    instantiated.\n\n    `node` must not have been removed from the original graph. The `func`\n    field of `nodeParams` cannot be modified and must match the original\n    value. All other values can be modified.\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. `node` 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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        kernel node from the graph from which graphExec was instantiated\n    pNodeParams : :py:obj:`~.cudaKernelNodeParams`\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddKernelNode`, :py:obj:`~.cudaGraphKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_483cudaGraphExecKernelNodeSetParams = {"cudaGraphExecKernelNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_483cudaGraphExecKernelNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_482cudaGraphExecKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_483cudaGraphExecKernelNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecKernelNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecKernelNodeSetParams", 1, 3, 3, 1); __PYX_ERR(0, 22672, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecKernelNodeSetParams", 1, 3, 3, 2); __PYX_ERR(0, 22672, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecKernelNodeSetParams") < 0)) __PYX_ERR(0, 22672, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_node = values[1];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecKernelNodeSetParams", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22672, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaKernelNodeParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 22672, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_482cudaGraphExecKernelNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_482cudaGraphExecKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct cudaKernelNodeParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaKernelNodeParams *__pyx_t_7;
  cudaError_t __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__669)
  __Pyx_RefNannySetupContext("cudaGraphExecKernelNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecKernelNodeSetParams", __pyx_f[0], 22672, 0, __PYX_ERR(0, 22672, __pyx_L1_error));

  /* "cuda/cudart.pyx":22707
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22708
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22707
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22709
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22710
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22711
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22711, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22709
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22713
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22714
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22714, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22717
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22718
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22717
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22719
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22720
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22721
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22721, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22719
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22723
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22724
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22724, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":22726
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecKernelNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22726, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":22727
 * 
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecKernelNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecKernelNodeSetParams(__pyx_v_chGraphExec, __pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22727, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22728
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecKernelNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22672
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecKernelNodeSetParams(hGraphExec, node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a kernel node in the given graphExec.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22731
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams(hGraphExec, node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_485cudaGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_484cudaGraphExecMemcpyNodeSetParams[] = "cudaGraphExecMemcpyNodeSetParams(hGraphExec, node, cudaMemcpy3DParms pNodeParams: cudaMemcpy3DParms)\n Sets the parameters for a memcpy node in the given graphExec.\n\n    Updates the work represented by `node` in `hGraphExec` as though `node`\n    had contained `pNodeParams` at instantiation. `node` must remain in the\n    graph which was used to instantiate `hGraphExec`. Changed edges to and\n    from `node` are ignored.\n\n    The source and destination memory in `pNodeParams` 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    `pNodeParams` 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. `node` is also not modified by this call.\n\n    Returns :py:obj:`~.cudaErrorInvalidValue` if the memory operands'\n    mappings 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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Memcpy node from the graph which was used to instantiate graphExec\n    pNodeParams : :py:obj:`~.cudaMemcpy3DParms`\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParamsToSymbol`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParamsFromSymbol`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams1D`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj"":`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_485cudaGraphExecMemcpyNodeSetParams = {"cudaGraphExecMemcpyNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_485cudaGraphExecMemcpyNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_484cudaGraphExecMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_485cudaGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecMemcpyNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams", 1, 3, 3, 1); __PYX_ERR(0, 22731, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams", 1, 3, 3, 2); __PYX_ERR(0, 22731, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecMemcpyNodeSetParams") < 0)) __PYX_ERR(0, 22731, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_node = values[1];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22731, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms, 1, "pNodeParams", 0))) __PYX_ERR(0, 22731, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_484cudaGraphExecMemcpyNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_484cudaGraphExecMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct cudaMemcpy3DParms *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemcpy3DParms *__pyx_t_7;
  cudaError_t __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__670)
  __Pyx_RefNannySetupContext("cudaGraphExecMemcpyNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecMemcpyNodeSetParams", __pyx_f[0], 22731, 0, __PYX_ERR(0, 22731, __pyx_L1_error));

  /* "cuda/cudart.pyx":22772
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22773
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22772
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22774
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22775
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22776
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22776, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22774
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22778
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22779
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22779, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22782
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22783
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22782
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22784
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22785
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22786
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22786, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22784
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22788
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22789
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22789, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":22791
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":22792
 * 
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams(__pyx_v_chGraphExec, __pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22792, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22793
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22731
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams(hGraphExec, node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22796
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams1D(hGraphExec, node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_487cudaGraphExecMemcpyNodeSetParams1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_486cudaGraphExecMemcpyNodeSetParams1D[] = "cudaGraphExecMemcpyNodeSetParams1D(hGraphExec, node, dst, src, size_t count, kind: cudaMemcpyKind)\n Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.\n\n    Updates the work represented by `node` in `hGraphExec` as though `node`\n    had contained the given params at instantiation. `node` must remain in\n    the graph which was used to instantiate `hGraphExec`. Changed edges to\n    and from `node` are ignored.\n\n    `src` and `dst` must be allocated from the same contexts as the\n    original source and destination memory. The instantiation-time memory\n    operands 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. `node` is also not modified by this call.\n\n    Returns :py:obj:`~.cudaErrorInvalidValue` if the memory operands'\n    mappings changed or the original memory operands are 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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Memcpy node from the graph which was used to instantiate graphExec\n    dst : Any\n        Destination memory address\n    src : Any\n        Source memory address\n    count : size_t\n        Size in bytes to copy\n    kind : :py:obj:`~.cudaMemcpyKind`\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemcpyNode`, :py:obj:`~.cudaGraphAddMemcpyNode1D`, :py:obj:`~.cudaGraphMemcpyNodeSetParams`, :py:obj:`~.cudaGraphMemcpyNodeSetParams1D`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMem""setNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_487cudaGraphExecMemcpyNodeSetParams1D = {"cudaGraphExecMemcpyNodeSetParams1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_487cudaGraphExecMemcpyNodeSetParams1D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_486cudaGraphExecMemcpyNodeSetParams1D};
static PyObject *__pyx_pw_4cuda_6cudart_487cudaGraphExecMemcpyNodeSetParams1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_node = 0;
  PyObject *__pyx_v_dst = 0;
  PyObject *__pyx_v_src = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_kind = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecMemcpyNodeSetParams1D (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_node,&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_count,&__pyx_n_s_kind_2,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams1D", 1, 6, 6, 1); __PYX_ERR(0, 22796, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dst_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams1D", 1, 6, 6, 2); __PYX_ERR(0, 22796, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams1D", 1, 6, 6, 3); __PYX_ERR(0, 22796, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams1D", 1, 6, 6, 4); __PYX_ERR(0, 22796, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kind_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams1D", 1, 6, 6, 5); __PYX_ERR(0, 22796, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecMemcpyNodeSetParams1D") < 0)) __PYX_ERR(0, 22796, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_node = values[1];
    __pyx_v_dst = values[2];
    __pyx_v_src = values[3];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 22796, __pyx_L3_error)
    __pyx_v_kind = values[5];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemcpyNodeSetParams1D", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22796, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemcpyNodeSetParams1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 22796, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_486cudaGraphExecMemcpyNodeSetParams1D(__pyx_self, __pyx_v_hGraphExec, __pyx_v_node, __pyx_v_dst, __pyx_v_src, __pyx_v_count, __pyx_v_kind);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_486cudaGraphExecMemcpyNodeSetParams1D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum cudaMemcpyKind __pyx_v_ckind;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  enum cudaMemcpyKind __pyx_t_7;
  cudaError_t __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__671)
  __Pyx_RefNannySetupContext("cudaGraphExecMemcpyNodeSetParams1D", 0);
  __Pyx_TraceCall("cudaGraphExecMemcpyNodeSetParams1D", __pyx_f[0], 22796, 0, __PYX_ERR(0, 22796, __pyx_L1_error));

  /* "cuda/cudart.pyx":22841
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22842
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22841
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22843
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22844
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22845
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22845, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22843
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22847
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22848
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22848, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22851
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22852
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22851
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22853
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22854
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22855
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22855, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22853
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22857
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22858
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22858, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":22860
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22861
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22861, __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(0, 22861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":22862
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)             # <<<<<<<<<<<<<<
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22863
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams1D(chGraphExec, cnode, cdst_ptr, csrc_ptr, count, ckind)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22863, __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(0, 22863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

  /* "cuda/cudart.pyx":22864
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams1D(chGraphExec, cnode, cdst_ptr, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum cudaMemcpyKind)__Pyx_PyInt_As_enum__cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 22864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":22865
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams1D(chGraphExec, cnode, cdst_ptr, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams1D(__pyx_v_chGraphExec, __pyx_v_cnode, __pyx_v_cdst_ptr, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22865, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22866
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams1D(chGraphExec, cnode, cdst_ptr, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22796
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams1D(hGraphExec, node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemcpyNodeSetParams1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22869
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemsetNodeSetParams(hGraphExec, node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memset node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_489cudaGraphExecMemsetNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_488cudaGraphExecMemsetNodeSetParams[] = "cudaGraphExecMemsetNodeSetParams(hGraphExec, node, cudaMemsetParams pNodeParams: cudaMemsetParams)\n Sets the parameters for a memset node in the given graphExec.\n\n    Updates the work represented by `node` in `hGraphExec` as though `node`\n    had contained `pNodeParams` at instantiation. `node` must remain in the\n    graph which was used to instantiate `hGraphExec`. Changed edges to and\n    from `node` are ignored.\n\n    The destination memory in `pNodeParams` must be allocated from the same\n    context as the original destination memory. Both the instantiation-time\n    memory operand and the memory operand in `pNodeParams` must be\n    1-dimensional. Zero-length operations are not 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. `node` is also not modified by this call.\n\n    Returns cudaErrorInvalidValue if the memory operand's mappings changed\n    or either the original or new memory operand are 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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Memset node from the graph which was used to instantiate graphExec\n    pNodeParams : :py:obj:`~.cudaMemsetParams`\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddMemsetNode`, :py:obj:`~.cudaGraphMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExec""ExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_489cudaGraphExecMemsetNodeSetParams = {"cudaGraphExecMemsetNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_489cudaGraphExecMemsetNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_488cudaGraphExecMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_489cudaGraphExecMemsetNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecMemsetNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemsetNodeSetParams", 1, 3, 3, 1); __PYX_ERR(0, 22869, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemsetNodeSetParams", 1, 3, 3, 2); __PYX_ERR(0, 22869, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecMemsetNodeSetParams") < 0)) __PYX_ERR(0, 22869, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_node = values[1];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecMemsetNodeSetParams", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22869, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaMemsetParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 22869, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_488cudaGraphExecMemsetNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_488cudaGraphExecMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct cudaMemsetParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaMemsetParams *__pyx_t_7;
  cudaError_t __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__672)
  __Pyx_RefNannySetupContext("cudaGraphExecMemsetNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecMemsetNodeSetParams", __pyx_f[0], 22869, 0, __PYX_ERR(0, 22869, __pyx_L1_error));

  /* "cuda/cudart.pyx":22908
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22909
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22908
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22910
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22911
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22912
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22912, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22910
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22914
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22915
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22915, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22918
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22919
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22918
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22920
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22921
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22922
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22922, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22920
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22924
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22924, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22924, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22925
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22925, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":22927
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecMemsetNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22927, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":22928
 * 
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemsetNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecMemsetNodeSetParams(__pyx_v_chGraphExec, __pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22928, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22929
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemsetNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22869
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemsetNodeSetParams(hGraphExec, node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memset node in the given graphExec.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22932
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecHostNodeSetParams(hGraphExec, node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a host node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_491cudaGraphExecHostNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_490cudaGraphExecHostNodeSetParams[] = "cudaGraphExecHostNodeSetParams(hGraphExec, node, cudaHostNodeParams pNodeParams: cudaHostNodeParams)\n Sets the parameters for a host node in the given graphExec.\n\n    Updates the work represented by `node` in `hGraphExec` as though `node`\n    had contained `pNodeParams` at instantiation. `node` must remain in the\n    graph which was used to instantiate `hGraphExec`. Changed edges to and\n    from `node` 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. `node` 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    node : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Host node from the graph which was used to instantiate graphExec\n    pNodeParams : :py:obj:`~.cudaHostNodeParams`\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddHostNode`, :py:obj:`~.cudaGraphHostNodeSetParams`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_491cudaGraphExecHostNodeSetParams = {"cudaGraphExecHostNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_491cudaGraphExecHostNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_490cudaGraphExecHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_491cudaGraphExecHostNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_node = 0;
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecHostNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_node,&__pyx_n_s_pNodeParams,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecHostNodeSetParams", 1, 3, 3, 1); __PYX_ERR(0, 22932, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pNodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecHostNodeSetParams", 1, 3, 3, 2); __PYX_ERR(0, 22932, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecHostNodeSetParams") < 0)) __PYX_ERR(0, 22932, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_node = values[1];
    __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecHostNodeSetParams", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22932, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pNodeParams), __pyx_ptype_4cuda_6cudart_cudaHostNodeParams, 1, "pNodeParams", 0))) __PYX_ERR(0, 22932, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_490cudaGraphExecHostNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_node, __pyx_v_pNodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_490cudaGraphExecHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams) {
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct cudaHostNodeParams *__pyx_v_cpNodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaHostNodeParams *__pyx_t_7;
  cudaError_t __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__673)
  __Pyx_RefNannySetupContext("cudaGraphExecHostNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecHostNodeSetParams", __pyx_f[0], 22932, 0, __PYX_ERR(0, 22932, __pyx_L1_error));

  /* "cuda/cudart.pyx":22963
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22964
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22963
 *     """
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22965
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22966
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22967
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22967, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22965
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":22969
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22970
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22970, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":22973
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":22974
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":22973
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22975
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":22976
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":22977
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22977, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":22975
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":22979
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":22980
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 22980, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":22982
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecHostNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22982, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 22982, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":22983
 * 
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecHostNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecHostNodeSetParams(__pyx_v_chGraphExec, __pyx_v_cnode, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 22983, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":22984
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecHostNodeSetParams(chGraphExec, cnode, cpNodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 22984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 22984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22932
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecHostNodeSetParams(hGraphExec, node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a host node in the given graphExec.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":22987
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecChildGraphNodeSetParams(hGraphExec, node, childGraph):             # <<<<<<<<<<<<<<
 *     """ Updates node parameters in the child graph node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_493cudaGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_492cudaGraphExecChildGraphNodeSetParams[] = "cudaGraphExecChildGraphNodeSetParams(hGraphExec, node, childGraph)\n Updates node parameters in the child graph node in the given graphExec.\n\n    Updates the work represented by `node` in `hGraphExec` as though the\n    nodes contained in `node's` graph had the parameters contained in\n    `childGraph's` nodes at instantiation. `node` must remain in the graph\n    which was used to instantiate `hGraphExec`. Changed edges to and from\n    `node` 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. `node` 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 `node`. See\n    :py:obj:`~.cudaGraphExecUpdate()` for a list of restrictions on what\n    can be updated in an instantiated graph. The update is recursive, so\n    child graph nodes contained within the top level child graph will also\n    be 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    node : :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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddChildGraphNode`, :py:obj:`~.cudaGraphChildGraphNodeGetGraph`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.c""udaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_493cudaGraphExecChildGraphNodeSetParams = {"cudaGraphExecChildGraphNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_493cudaGraphExecChildGraphNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_492cudaGraphExecChildGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_493cudaGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_node = 0;
  PyObject *__pyx_v_childGraph = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecChildGraphNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_node,&__pyx_n_s_childGraph,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecChildGraphNodeSetParams", 1, 3, 3, 1); __PYX_ERR(0, 22987, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_childGraph)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecChildGraphNodeSetParams", 1, 3, 3, 2); __PYX_ERR(0, 22987, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecChildGraphNodeSetParams") < 0)) __PYX_ERR(0, 22987, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_node = values[1];
    __pyx_v_childGraph = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecChildGraphNodeSetParams", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 22987, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecChildGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_492cudaGraphExecChildGraphNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_node, __pyx_v_childGraph);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_492cudaGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, PyObject *__pyx_v_childGraph) {
  cudaGraph_t __pyx_v_cchildGraph;
  PyObject *__pyx_v_pchildGraph = NULL;
  cudaGraphNode_t __pyx_v_cnode;
  PyObject *__pyx_v_pnode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__674)
  __Pyx_RefNannySetupContext("cudaGraphExecChildGraphNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecChildGraphNodeSetParams", __pyx_f[0], 22987, 0, __PYX_ERR(0, 22987, __pyx_L1_error));

  /* "cuda/cudart.pyx":23026
 *     """
 *     cdef ccudart.cudaGraph_t cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_childGraph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23027
 *     cdef ccudart.cudaGraph_t cchildGraph
 *     if childGraph is None:
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pchildGraph = int(childGraph)
 */
    __pyx_v_cchildGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23026
 *     """
 *     cdef ccudart.cudaGraph_t cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23028
 *     if childGraph is None:
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23029
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pchildGraph = int(childGraph)             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_childGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23029, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pchildGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23030
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     else:
 *         pchildGraph = int(cudaGraph_t(childGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23030, __pyx_L1_error)
    __pyx_v_cchildGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23028
 *     if childGraph is None:
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(childGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23032
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 *     else:
 *         pchildGraph = int(cudaGraph_t(childGraph))             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_childGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pchildGraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23033
 *     else:
 *         pchildGraph = int(cudaGraph_t(childGraph))
 *         cchildGraph = <ccudart.cudaGraph_t><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23033, __pyx_L1_error)
    __pyx_v_cchildGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23036
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_node == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23037
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 */
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23036
 * 
 *     cdef ccudart.cudaGraphNode_t cnode
 *     if node is None:             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23038
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23039
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23040
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23040, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23038
 *     if node is None:
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(node, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         pnode = int(node)
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23042
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 *     else:
 *         pnode = int(cudaGraphNode_t(node))             # <<<<<<<<<<<<<<
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pnode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23043
 *     else:
 *         pnode = int(cudaGraphNode_t(node))
 *         cnode = <ccudart.cudaGraphNode_t><void_ptr>pnode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pnode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23043, __pyx_L1_error)
    __pyx_v_cnode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23046
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23047
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23046
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L9;
  }

  /* "cuda/cudart.pyx":23048
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L10_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23049
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23050
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23050, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23048
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L9;
  }

  /* "cuda/cudart.pyx":23052
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23053
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(chGraphExec, cnode, cchildGraph)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23053, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L9:;

  /* "cuda/cudart.pyx":23055
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(chGraphExec, cnode, cchildGraph)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecChildGraphNodeSetParams(__pyx_v_chGraphExec, __pyx_v_cnode, __pyx_v_cchildGraph); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23055, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23056
 * 
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(chGraphExec, cnode, cchildGraph)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":22987
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecChildGraphNodeSetParams(hGraphExec, node, childGraph):             # <<<<<<<<<<<<<<
 *     """ Updates node parameters in the child graph node in the given graphExec.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecChildGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pchildGraph);
  __Pyx_XDECREF(__pyx_v_pnode);
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":23059
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event record node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_495cudaGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_494cudaGraphExecEventRecordNodeSetEvent[] = "cudaGraphExecEventRecordNodeSetEvent(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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventRecordNode`, :py:obj:`~.cudaGraphEventRecordNodeGetEvent`, :py:obj:`~.cudaGraphEventWaitNodeSetEvent`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_495cudaGraphExecEventRecordNodeSetEvent = {"cudaGraphExecEventRecordNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_495cudaGraphExecEventRecordNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_494cudaGraphExecEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_495cudaGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_event = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecEventRecordNodeSetEvent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_event_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventRecordNodeSetEvent", 1, 3, 3, 1); __PYX_ERR(0, 23059, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventRecordNodeSetEvent", 1, 3, 3, 2); __PYX_ERR(0, 23059, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecEventRecordNodeSetEvent") < 0)) __PYX_ERR(0, 23059, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_event = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventRecordNodeSetEvent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23059, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_494cudaGraphExecEventRecordNodeSetEvent(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_494cudaGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__675)
  __Pyx_RefNannySetupContext("cudaGraphExecEventRecordNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphExecEventRecordNodeSetEvent", __pyx_f[0], 23059, 0, __PYX_ERR(0, 23059, __pyx_L1_error));

  /* "cuda/cudart.pyx":23091
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23092
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23091
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23093
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23094
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23095
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23095, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23093
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23097
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23098
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t chNode
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23098, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23101
 * 
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23102
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23101
 * 
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23103
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23104
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23105
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23105, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23103
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23107
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23108
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23108, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23111
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23112
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23111
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L9;
  }

  /* "cuda/cudart.pyx":23113
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L10_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23114
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23115
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23115, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23113
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L9;
  }

  /* "cuda/cudart.pyx":23117
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23118
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(chGraphExec, chNode, cevent)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23118, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L9:;

  /* "cuda/cudart.pyx":23120
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(chGraphExec, chNode, cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecEventRecordNodeSetEvent(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23120, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23121
 * 
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(chGraphExec, chNode, cevent)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23059
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventRecordNodeSetEvent(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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecEventRecordNodeSetEvent", __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/cudart.pyx":23124
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event wait node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_497cudaGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_496cudaGraphExecEventWaitNodeSetEvent[] = "cudaGraphExecEventWaitNodeSetEvent(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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddEventWaitNode`, :py:obj:`~.cudaGraphEventWaitNodeGetEvent`, :py:obj:`~.cudaGraphEventRecordNodeSetEvent`, :py:obj:`~.cudaEventRecordWithFlags`, :py:obj:`~.cudaStreamWaitEvent`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_497cudaGraphExecEventWaitNodeSetEvent = {"cudaGraphExecEventWaitNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_497cudaGraphExecEventWaitNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_496cudaGraphExecEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_497cudaGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_event = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecEventWaitNodeSetEvent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_event_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventWaitNodeSetEvent", 1, 3, 3, 1); __PYX_ERR(0, 23124, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventWaitNodeSetEvent", 1, 3, 3, 2); __PYX_ERR(0, 23124, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecEventWaitNodeSetEvent") < 0)) __PYX_ERR(0, 23124, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_event = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventWaitNodeSetEvent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23124, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_496cudaGraphExecEventWaitNodeSetEvent(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_496cudaGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  cudaEvent_t __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__676)
  __Pyx_RefNannySetupContext("cudaGraphExecEventWaitNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphExecEventWaitNodeSetEvent", __pyx_f[0], 23124, 0, __PYX_ERR(0, 23124, __pyx_L1_error));

  /* "cuda/cudart.pyx":23156
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23157
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23156
 *     """
 *     cdef ccudart.cudaEvent_t cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23158
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23159
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23160
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(cudaEvent_t(event))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23160, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23158
 *     if event is None:
 *         cevent = <ccudart.cudaEvent_t><void_ptr>0
 *     elif isinstance(event, (cudaEvent_t,cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23162
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 *     else:
 *         pevent = int(cudaEvent_t(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), __pyx_v_event); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pevent = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23163
 *     else:
 *         pevent = int(cudaEvent_t(event))
 *         cevent = <ccudart.cudaEvent_t><void_ptr>pevent             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphNode_t chNode
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23163, __pyx_L1_error)
    __pyx_v_cevent = ((cudaEvent_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23166
 * 
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23167
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23166
 * 
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23168
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23169
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23170
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23170, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23168
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23172
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23173
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23173, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23176
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23177
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23176
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L9;
  }

  /* "cuda/cudart.pyx":23178
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L10_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23179
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23180
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23180, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23178
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L9;
  }

  /* "cuda/cudart.pyx":23182
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23183
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(chGraphExec, chNode, cevent)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23183, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L9:;

  /* "cuda/cudart.pyx":23185
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(chGraphExec, chNode, cevent)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecEventWaitNodeSetEvent(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cevent); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23185, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23186
 * 
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(chGraphExec, chNode, cevent)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23124
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventWaitNodeSetEvent(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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecEventWaitNodeSetEvent", __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/cudart.pyx":23189
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_499cudaGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_498cudaGraphExecExternalSemaphoresSignalNodeSetParams[] = "cudaGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, cudaExternalSemaphoreSignalNodeParams nodeParams: cudaExternalSemaphoreSignalNodeParams)\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:`~.cudaExternalSemaphoreSignalNodeParams`\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:""`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_499cudaGraphExecExternalSemaphoresSignalNodeSetParams = {"cudaGraphExecExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_499cudaGraphExecExternalSemaphoresSignalNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_498cudaGraphExecExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_499cudaGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecExternalSemaphoresSignalNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecExternalSemaphoresSignalNodeSetParams", 1, 3, 3, 1); __PYX_ERR(0, 23189, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecExternalSemaphoresSignalNodeSetParams", 1, 3, 3, 2); __PYX_ERR(0, 23189, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecExternalSemaphoresSignalNodeSetParams") < 0)) __PYX_ERR(0, 23189, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecExternalSemaphoresSignalNodeSetParams", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23189, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams", __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_6cudart_cudaExternalSemaphoreSignalNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 23189, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_498cudaGraphExecExternalSemaphoresSignalNodeSetParams(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_498cudaGraphExecExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct cudaExternalSemaphoreSignalNodeParams *__pyx_v_cnodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaExternalSemaphoreSignalNodeParams *__pyx_t_7;
  cudaError_t __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__677)
  __Pyx_RefNannySetupContext("cudaGraphExecExternalSemaphoresSignalNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecExternalSemaphoresSignalNodeSetParams", __pyx_f[0], 23189, 0, __PYX_ERR(0, 23189, __pyx_L1_error));

  /* "cuda/cudart.pyx":23225
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23226
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23225
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23227
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23228
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23229
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23229, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23227
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23231
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23232
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23232, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23235
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23236
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23235
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23237
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23238
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23239
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23239, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23237
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23241
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23242
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23242, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23244
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (cudaError_t(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(0, 23244, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 23244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":23245
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresSignalNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23245, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":23246
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 23246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23189
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams", __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/cudart.pyx":23249
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_501cudaGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_500cudaGraphExecExternalSemaphoresWaitNodeSetParams[] = "cudaGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, cudaExternalSemaphoreWaitNodeParams nodeParams: cudaExternalSemaphoreWaitNodeParams)\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:`~.cudaExternalSemaphoreWaitNodeParams`\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cudaImportExternalSemaphore`, :py:obj:`~.cudaSignalExternalSemaphoresAsync`, :py:obj:`~.cudaWaitExternalSemaphoresAsync`, :py:obj:`~.cudaGraphExecKernelNodeSetParams`, :py:obj:`~.cudaGraphExecMemcpyNodeSetParams`, :py:obj:`~.cudaGraphExecMemsetNodeSetParams`, :py:obj:`~.cudaGraphExecHostNodeSetParams`, :py:obj:`~.cudaGraphExecChildGraphNodeSetParams`, :py:obj:`~.cudaGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cudaGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cudaGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cudaGraphEx""ecUpdate`, :py:obj:`~.cudaGraphInstantiate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_501cudaGraphExecExternalSemaphoresWaitNodeSetParams = {"cudaGraphExecExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_501cudaGraphExecExternalSemaphoresWaitNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_500cudaGraphExecExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_501cudaGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecExternalSemaphoresWaitNodeSetParams (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecExternalSemaphoresWaitNodeSetParams", 1, 3, 3, 1); __PYX_ERR(0, 23249, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeParams)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecExternalSemaphoresWaitNodeSetParams", 1, 3, 3, 2); __PYX_ERR(0, 23249, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecExternalSemaphoresWaitNodeSetParams") < 0)) __PYX_ERR(0, 23249, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecExternalSemaphoresWaitNodeSetParams", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23249, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams", __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_6cudart_cudaExternalSemaphoreWaitNodeParams, 1, "nodeParams", 0))) __PYX_ERR(0, 23249, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_500cudaGraphExecExternalSemaphoresWaitNodeSetParams(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_500cudaGraphExecExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct cudaExternalSemaphoreWaitNodeParams *__pyx_v_cnodeParams_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  struct cudaExternalSemaphoreWaitNodeParams *__pyx_t_7;
  cudaError_t __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__678)
  __Pyx_RefNannySetupContext("cudaGraphExecExternalSemaphoresWaitNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecExternalSemaphoresWaitNodeSetParams", __pyx_f[0], 23249, 0, __PYX_ERR(0, 23249, __pyx_L1_error));

  /* "cuda/cudart.pyx":23285
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23286
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23285
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23287
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23288
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23289
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23289, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23287
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23291
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23291, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23292
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23292, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23295
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23296
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23295
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23297
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23298
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23299
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23299, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23297
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23301
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23302
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23302, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23304
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (cudaError_t(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(0, 23304, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 23304, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":23305
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresWaitNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23305, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":23306
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 23306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23249
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams", __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/cudart.pyx":23309
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):             # <<<<<<<<<<<<<<
 *     """ Enables or disables the specified node in the given graphExec.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_503cudaGraphNodeSetEnabled(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_502cudaGraphNodeSetEnabled[] = "cudaGraphNodeSetEnabled(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    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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphNodeGetEnabled`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate` :py:obj:`~.cudaGraphLaunch`\n\n    Notes\n    -----\n    Currently only kernel, memset and memcpy nodes are supported.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_503cudaGraphNodeSetEnabled = {"cudaGraphNodeSetEnabled", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_503cudaGraphNodeSetEnabled, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_502cudaGraphNodeSetEnabled};
static PyObject *__pyx_pw_4cuda_6cudart_503cudaGraphNodeSetEnabled(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  unsigned int __pyx_v_isEnabled;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphNodeSetEnabled (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_isEnabled,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphNodeSetEnabled", 1, 3, 3, 1); __PYX_ERR(0, 23309, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_isEnabled)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphNodeSetEnabled", 1, 3, 3, 2); __PYX_ERR(0, 23309, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphNodeSetEnabled") < 0)) __PYX_ERR(0, 23309, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 23309, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphNodeSetEnabled", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23309, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeSetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_502cudaGraphNodeSetEnabled(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_isEnabled);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_502cudaGraphNodeSetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, unsigned int __pyx_v_isEnabled) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__679)
  __Pyx_RefNannySetupContext("cudaGraphNodeSetEnabled", 0);
  __Pyx_TraceCall("cudaGraphNodeSetEnabled", __pyx_f[0], 23309, 0, __PYX_ERR(0, 23309, __pyx_L1_error));

  /* "cuda/cudart.pyx":23349
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23350
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23349
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23351
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23352
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23353
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23353, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23351
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23355
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23356
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23356, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23359
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23360
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23359
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23361
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23362
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23363
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23363, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23361
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23365
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23366
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphNodeSetEnabled(chGraphExec, chNode, isEnabled)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23366, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23368
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     err = ccudart.cudaGraphNodeSetEnabled(chGraphExec, chNode, isEnabled)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphNodeSetEnabled(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_isEnabled); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23368, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23369
 * 
 *     err = ccudart.cudaGraphNodeSetEnabled(chGraphExec, chNode, isEnabled)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 23369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23309
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeSetEnabled(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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeSetEnabled", __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/cudart.pyx":23372
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetEnabled(hGraphExec, hNode):             # <<<<<<<<<<<<<<
 *     """ Query whether a node in the given graphExec is enabled.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_505cudaGraphNodeGetEnabled(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_504cudaGraphNodeGetEnabled[] = "cudaGraphNodeGetEnabled(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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n    isEnabled : unsigned int\n        Location to return the enabled status of the node\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphNodeSetEnabled`, :py:obj:`~.cudaGraphExecUpdate`, :py:obj:`~.cudaGraphInstantiate` :py:obj:`~.cudaGraphLaunch`\n\n    Notes\n    -----\n    Currently only kernel, memset and memcpy nodes are supported.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_505cudaGraphNodeGetEnabled = {"cudaGraphNodeGetEnabled", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_505cudaGraphNodeGetEnabled, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_504cudaGraphNodeGetEnabled};
static PyObject *__pyx_pw_4cuda_6cudart_505cudaGraphNodeGetEnabled(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hNode = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphNodeGetEnabled (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphNodeGetEnabled", 1, 2, 2, 1); __PYX_ERR(0, 23372, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphNodeGetEnabled") < 0)) __PYX_ERR(0, 23372, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphNodeGetEnabled", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23372, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_504cudaGraphNodeGetEnabled(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_504cudaGraphNodeGetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode) {
  cudaGraphNode_t __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  unsigned int __pyx_v_isEnabled;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__680)
  __Pyx_RefNannySetupContext("cudaGraphNodeGetEnabled", 0);
  __Pyx_TraceCall("cudaGraphNodeGetEnabled", __pyx_f[0], 23372, 0, __PYX_ERR(0, 23372, __pyx_L1_error));

  /* "cuda/cudart.pyx":23405
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23406
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23405
 *     """
 *     cdef ccudart.cudaGraphNode_t chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23407
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23408
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23409
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23409, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23407
 *     if hNode is None:
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>0
 *     elif isinstance(hNode, (cudaGraphNode_t,cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23411
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23412
 *     else:
 *         phNode = int(cudaGraphNode_t(hNode))
 *         chNode = <ccudart.cudaGraphNode_t><void_ptr>phNode             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23412, __pyx_L1_error)
    __pyx_v_chNode = ((cudaGraphNode_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23415
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23416
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23415
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23417
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23418
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23419
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23419, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23417
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23421
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23422
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef unsigned int isEnabled = 0
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23422, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23424
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef unsigned int isEnabled = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphNodeGetEnabled(chGraphExec, chNode, &isEnabled)
 *     return (cudaError_t(err), isEnabled)
 */
  __pyx_v_isEnabled = 0;

  /* "cuda/cudart.pyx":23425
 * 
 *     cdef unsigned int isEnabled = 0
 *     err = ccudart.cudaGraphNodeGetEnabled(chGraphExec, chNode, &isEnabled)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), isEnabled)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphNodeGetEnabled(__pyx_v_chGraphExec, __pyx_v_chNode, (&__pyx_v_isEnabled)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23425, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23426
 *     cdef unsigned int isEnabled = 0
 *     err = ccudart.cudaGraphNodeGetEnabled(chGraphExec, chNode, &isEnabled)
 *     return (cudaError_t(err), isEnabled)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 23426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_isEnabled); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23372
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetEnabled(hGraphExec, hNode):             # <<<<<<<<<<<<<<
 *     """ Query whether a node in the given graphExec is enabled.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetEnabled", __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/cudart.pyx":23429
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecUpdate(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_6cudart_507cudaGraphExecUpdate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_506cudaGraphExecUpdate[] = "cudaGraphExecUpdate(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 cooperative node cannot be updated to a non-cooperative node, and\n        vice-versa.\n\n      - If the graph was instantiated with\n        cudaGraphInstantiateFlagUseNodePriority, the priority attribute\n        cannot change. Equality is checked on the originally requested\n        priority values, before they are clamped to the device's supported\n        range.\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    - Additional memcpy node restrictions:\n\n      - Changing either the source or destination memory type(i.e.\n        CU_MEMORYTYPE_DEVICE, CU_MEMORYTYPE_ARRAY, etc.) is not supported.\n\n    Note: The API may add further restrictions in future releases. The\n    return code should always be checked.\n\n    cudaGraphExecUpdate sets `updateResult_out` to\n    cudaGraphExecUpdateErrorTopologyChanged under the following conditions:\n\n    - The count of nodes directly in `hGraphExec` and `hGraph` differ, in\n      which case `hErrorNode_out` is NULL.\n\n    - A node is deleted in `hGraph` but not not its pair from `hGraphExec`,\n      in which case `hErrorNode_out` is NULL.\n\n    - A node is deleted in `hGraphExec` but not its pai""r from `hGraph`, in\n      which case `hErrorNode_out` is the pairless node from `hGraph`.\n\n    - The dependent nodes of a pair differ, in which case `hErrorNode_out`\n      is the node from `hGraph`.\n\n    cudaGraphExecUpdate sets `updateResult_out` to:\n\n    - cudaGraphExecUpdateError if passed an invalid value.\n\n    - cudaGraphExecUpdateErrorTopologyChanged if the graph topology changed\n\n    - cudaGraphExecUpdateErrorNodeTypeChanged if the type of a node\n      changed, in which case `hErrorNode_out` is set to the node from\n      `hGraph`.\n\n    - cudaGraphExecUpdateErrorFunctionChanged if the function of a kernel\n      node changed (CUDA driver < 11.2)\n\n    - cudaGraphExecUpdateErrorUnsupportedFunctionChange if the func field\n      of a kernel changed in an unsupported way(see note above), in which\n      case `hErrorNode_out` is set to the node from `hGraph`\n\n    - cudaGraphExecUpdateErrorParametersChanged if any parameters to a node\n      changed in a way that is not supported, in which case\n      `hErrorNode_out` is set to the node from `hGraph`\n\n    - cudaGraphExecUpdateErrorAttributesChanged if any attributes of a node\n      changed in a way that is not supported, in which case\n      `hErrorNode_out` is set to the node from `hGraph`\n\n    - cudaGraphExecUpdateErrorNotSupported 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 `updateResult_out` isn't set in one of the situations described\n    above, the update check passes and cudaGraphExecUpdate updates\n    `hGraphExec` to match the contents of `hGraph`. If an error happens\n    during the update, `updateResult_out` will be set to\n    cudaGraphExecUpdateError; otherwise, `updateResult_out` is set to\n    cudaGraphExecUpdateSuccess.\n\n    cudaGraphExecUpdate returns cudaSuccess when the updated was performed\n    successfully. It returns cudaErrorGraphExecUpdateFa""ilure if the graph\n    update was not performed because it included changes which violated\n    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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorGraphExecUpdateFailure`,\n    hErrorNode_out : :py:obj:`~.cudaGraphNode_t`\n        The node which caused the permissibility check to forbid the\n        update, if any\n    updateResult_out : :py:obj:`~.cudaGraphExecUpdateResult`\n        Whether the graph update was permitted. If was forbidden, the\n        reason why\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphInstantiate`,\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_507cudaGraphExecUpdate = {"cudaGraphExecUpdate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_507cudaGraphExecUpdate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_506cudaGraphExecUpdate};
static PyObject *__pyx_pw_4cuda_6cudart_507cudaGraphExecUpdate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hGraphExec = 0;
  PyObject *__pyx_v_hGraph = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecUpdate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hGraph,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hGraph)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecUpdate", 1, 2, 2, 1); __PYX_ERR(0, 23429, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphExecUpdate") < 0)) __PYX_ERR(0, 23429, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hGraph = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphExecUpdate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23429, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecUpdate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_506cudaGraphExecUpdate(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hGraph);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_506cudaGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph) {
  cudaGraph_t __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  cudaGraphExec_t __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_hErrorNode_out = 0;
  enum cudaGraphExecUpdateResult __pyx_v_updateResult_out;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __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_TraceFrameInit(__pyx_codeobj__681)
  __Pyx_RefNannySetupContext("cudaGraphExecUpdate", 0);
  __Pyx_TraceCall("cudaGraphExecUpdate", __pyx_f[0], 23429, 0, __PYX_ERR(0, 23429, __pyx_L1_error));

  /* "cuda/cudart.pyx":23551
 *     """
 *     cdef ccudart.cudaGraph_t chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(hGraph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23552
 *     cdef ccudart.cudaGraph_t chGraph
 *     if hGraph is None:
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (cudaGraph_t,cuda.CUgraph)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23551
 *     """
 *     cdef ccudart.cudaGraph_t chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(hGraph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23553
 *     if hGraph is None:
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(hGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23554
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(hGraph, (cudaGraph_t,cuda.CUgraph)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>phGraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23555
 *     elif isinstance(hGraph, (cudaGraph_t,cuda.CUgraph)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(cudaGraph_t(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(0, 23555, __pyx_L1_error)
    __pyx_v_chGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23553
 *     if hGraph is None:
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(hGraph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23557
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>phGraph
 *     else:
 *         phGraph = int(cudaGraph_t(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>phGraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_hGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23558
 *     else:
 *         phGraph = int(cudaGraph_t(hGraph))
 *         chGraph = <ccudart.cudaGraph_t><void_ptr>phGraph             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 */
    __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(0, 23558, __pyx_L1_error)
    __pyx_v_chGraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23561
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23562
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23561
 * 
 *     cdef ccudart.cudaGraphExec_t chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23563
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23564
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_phGraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23565
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23565, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23563
 *     if hGraphExec is None:
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(hGraphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23567
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23568
 *     else:
 *         phGraphExec = int(cudaGraphExec_t(hGraphExec))
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23568, __pyx_L1_error)
    __pyx_v_chGraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23570
 *         chGraphExec = <ccudart.cudaGraphExec_t><void_ptr>phGraphExec
 * 
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphExecUpdateResult updateResult_out
 *     err = ccudart.cudaGraphExecUpdate(chGraphExec, chGraph, <ccudart.cudaGraphNode_t*>hErrorNode_out._ptr, &updateResult_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_hErrorNode_out = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":23572
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphExecUpdateResult updateResult_out
 *     err = ccudart.cudaGraphExecUpdate(chGraphExec, chGraph, <ccudart.cudaGraphNode_t*>hErrorNode_out._ptr, &updateResult_out)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), hErrorNode_out, cudaGraphExecUpdateResult(updateResult_out))
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecUpdate(__pyx_v_chGraphExec, __pyx_v_chGraph, ((cudaGraphNode_t *)__pyx_v_hErrorNode_out->__pyx_base._ptr), (&__pyx_v_updateResult_out)); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23572, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23573
 *     cdef ccudart.cudaGraphExecUpdateResult updateResult_out
 *     err = ccudart.cudaGraphExecUpdate(chGraphExec, chGraph, <ccudart.cudaGraphNode_t*>hErrorNode_out._ptr, &updateResult_out)
 *     return (cudaError_t(err), hErrorNode_out, cudaGraphExecUpdateResult(updateResult_out))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 23573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaGraphExecUpdateResult); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(__pyx_v_updateResult_out); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 23573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(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_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_hErrorNode_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_hErrorNode_out));
  PyTuple_SET_ITEM(__pyx_t_8, 1, ((PyObject *)__pyx_v_hErrorNode_out));
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_6);
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23429
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecUpdate(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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecUpdate", __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_hErrorNode_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":23576
 * 
 * @cython.embedsignature(True)
 * def cudaGraphUpload(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Uploads an executable graph in a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_509cudaGraphUpload(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_508cudaGraphUpload[] = "cudaGraphUpload(graphExec, stream)\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 `graphExec`.\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`,\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphInstantiate`, :py:obj:`~.cudaGraphLaunch`, :py:obj:`~.cudaGraphExecDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_509cudaGraphUpload = {"cudaGraphUpload", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_509cudaGraphUpload, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_508cudaGraphUpload};
static PyObject *__pyx_pw_4cuda_6cudart_509cudaGraphUpload(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graphExec = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphUpload (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graphExec,&__pyx_n_s_stream,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphUpload", 1, 2, 2, 1); __PYX_ERR(0, 23576, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphUpload") < 0)) __PYX_ERR(0, 23576, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_graphExec = values[0];
    __pyx_v_stream = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphUpload", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23576, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphUpload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_508cudaGraphUpload(__pyx_self, __pyx_v_graphExec, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_508cudaGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaGraphExec_t __pyx_v_cgraphExec;
  PyObject *__pyx_v_pgraphExec = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__682)
  __Pyx_RefNannySetupContext("cudaGraphUpload", 0);
  __Pyx_TraceCall("cudaGraphUpload", __pyx_f[0], 23576, 0, __PYX_ERR(0, 23576, __pyx_L1_error));

  /* "cuda/cudart.pyx":23602
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23603
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23602
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23604
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23605
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23605, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23606
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 23606, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23604
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23608
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23609
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 */
    __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(0, 23609, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23612
 * 
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_graphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23613
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)
 */
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23612
 * 
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23614
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23615
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_graphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pgraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23616
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23616, __pyx_L1_error)
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23614
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23618
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_graphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pgraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23619
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphUpload(cgraphExec, cstream)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23619, __pyx_L1_error)
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23621
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 * 
 *     err = ccudart.cudaGraphUpload(cgraphExec, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphUpload(__pyx_v_cgraphExec, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23621, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23622
 * 
 *     err = ccudart.cudaGraphUpload(cgraphExec, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 23622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23576
 * 
 * @cython.embedsignature(True)
 * def cudaGraphUpload(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Uploads an executable graph in a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphUpload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_pgraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":23625
 * 
 * @cython.embedsignature(True)
 * def cudaGraphLaunch(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Launches an executable graph in a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_511cudaGraphLaunch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_510cudaGraphLaunch[] = "cudaGraphLaunch(graphExec, stream)\n Launches an executable graph in a stream.\n\n    Executes `graphExec` in `stream`. Only one instance of `graphExec` may\n    be executing at a time. Each launch is ordered behind both any previous\n    work in `stream` and any previous launches of `graphExec`. To execute a\n    graph concurrently, it must be instantiated multiple times into\n    multiple executable graphs.\n\n    If any allocations created by `graphExec` remain unfreed (from a\n    previous launch) and `graphExec` was not instantiated with\n    :py:obj:`~.cudaGraphInstantiateFlagAutoFreeOnLaunch`, the launch will\n    fail with :py:obj:`~.cudaErrorInvalidValue`.\n\n    Parameters\n    ----------\n    graphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        Executable graph to launch\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to launch the graph\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphInstantiate`, :py:obj:`~.cudaGraphUpload`, :py:obj:`~.cudaGraphExecDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_511cudaGraphLaunch = {"cudaGraphLaunch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_511cudaGraphLaunch, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_510cudaGraphLaunch};
static PyObject *__pyx_pw_4cuda_6cudart_511cudaGraphLaunch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graphExec = 0;
  PyObject *__pyx_v_stream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphLaunch (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graphExec,&__pyx_n_s_stream,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graphExec)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphLaunch", 1, 2, 2, 1); __PYX_ERR(0, 23625, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphLaunch") < 0)) __PYX_ERR(0, 23625, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_graphExec = values[0];
    __pyx_v_stream = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphLaunch", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23625, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_510cudaGraphLaunch(__pyx_self, __pyx_v_graphExec, __pyx_v_stream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_510cudaGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream) {
  cudaStream_t __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  cudaGraphExec_t __pyx_v_cgraphExec;
  PyObject *__pyx_v_pgraphExec = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__683)
  __Pyx_RefNannySetupContext("cudaGraphLaunch", 0);
  __Pyx_TraceCall("cudaGraphLaunch", __pyx_f[0], 23625, 0, __PYX_ERR(0, 23625, __pyx_L1_error));

  /* "cuda/cudart.pyx":23656
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23657
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23656
 *     """
 *     cdef ccudart.cudaStream_t cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23658
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23659
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23660
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(cudaStream_t(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(0, 23660, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23658
 *     if stream is None:
 *         cstream = <ccudart.cudaStream_t><void_ptr>0
 *     elif isinstance(stream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23662
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 *     else:
 *         pstream = int(cudaStream_t(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), __pyx_v_stream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pstream = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23663
 *     else:
 *         pstream = int(cudaStream_t(stream))
 *         cstream = <ccudart.cudaStream_t><void_ptr>pstream             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 */
    __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(0, 23663, __pyx_L1_error)
    __pyx_v_cstream = ((cudaStream_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23666
 * 
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_graphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23667
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)
 */
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23666
 * 
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23668
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23669
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_graphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pgraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23670
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23670, __pyx_L1_error)
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23668
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23672
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_graphExec); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pgraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23673
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphLaunch(cgraphExec, cstream)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23673, __pyx_L1_error)
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23675
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 * 
 *     err = ccudart.cudaGraphLaunch(cgraphExec, cstream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphLaunch(__pyx_v_cgraphExec, __pyx_v_cstream); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23675, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23676
 * 
 *     err = ccudart.cudaGraphLaunch(cgraphExec, cstream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 23676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23625
 * 
 * @cython.embedsignature(True)
 * def cudaGraphLaunch(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Launches an executable graph in a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_v_pgraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":23679
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecDestroy(graphExec):             # <<<<<<<<<<<<<<
 *     """ Destroys an executable graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_513cudaGraphExecDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graphExec); /*proto*/
static char __pyx_doc_4cuda_6cudart_512cudaGraphExecDestroy[] = "cudaGraphExecDestroy(graphExec)\n Destroys an executable graph.\n\n    Destroys the executable graph specified by `graphExec`.\n\n    Parameters\n    ----------\n    graphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        Executable graph to destroy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphInstantiate`, :py:obj:`~.cudaGraphUpload`, :py:obj:`~.cudaGraphLaunch`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_513cudaGraphExecDestroy = {"cudaGraphExecDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_513cudaGraphExecDestroy, METH_O, __pyx_doc_4cuda_6cudart_512cudaGraphExecDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_513cudaGraphExecDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graphExec) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_512cudaGraphExecDestroy(__pyx_self, ((PyObject *)__pyx_v_graphExec));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_512cudaGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec) {
  cudaGraphExec_t __pyx_v_cgraphExec;
  PyObject *__pyx_v_pgraphExec = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__684)
  __Pyx_RefNannySetupContext("cudaGraphExecDestroy", 0);
  __Pyx_TraceCall("cudaGraphExecDestroy", __pyx_f[0], 23679, 0, __PYX_ERR(0, 23679, __pyx_L1_error));

  /* "cuda/cudart.pyx":23699
 *     """
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
  __pyx_t_1 = (__pyx_v_graphExec == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23700
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)
 */
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23699
 *     """
 *     cdef ccudart.cudaGraphExec_t cgraphExec
 *     if graphExec is None:             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23701
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23702
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23703
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23703, __pyx_L1_error)
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23701
 *     if graphExec is None:
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>0
 *     elif isinstance(graphExec, (cudaGraphExec_t,cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         pgraphExec = int(graphExec)
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23705
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))             # <<<<<<<<<<<<<<
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), __pyx_v_graphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraphExec = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23706
 *     else:
 *         pgraphExec = int(cudaGraphExec_t(graphExec))
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphExecDestroy(cgraphExec)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraphExec); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23706, __pyx_L1_error)
    __pyx_v_cgraphExec = ((cudaGraphExec_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23708
 *         cgraphExec = <ccudart.cudaGraphExec_t><void_ptr>pgraphExec
 * 
 *     err = ccudart.cudaGraphExecDestroy(cgraphExec)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecDestroy(__pyx_v_cgraphExec); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23708, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23709
 * 
 *     err = ccudart.cudaGraphExecDestroy(cgraphExec)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23679
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecDestroy(graphExec):             # <<<<<<<<<<<<<<
 *     """ Destroys an executable graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":23712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_515cudaGraphDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graph); /*proto*/
static char __pyx_doc_4cuda_6cudart_514cudaGraphDestroy[] = "cudaGraphDestroy(graph)\n Destroys a graph.\n\n    Destroys the graph specified by `graph`, as well as all of its nodes.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to destroy\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_515cudaGraphDestroy = {"cudaGraphDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_515cudaGraphDestroy, METH_O, __pyx_doc_4cuda_6cudart_514cudaGraphDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_515cudaGraphDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graph) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_514cudaGraphDestroy(__pyx_self, ((PyObject *)__pyx_v_graph));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_514cudaGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph) {
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__685)
  __Pyx_RefNannySetupContext("cudaGraphDestroy", 0);
  __Pyx_TraceCall("cudaGraphDestroy", __pyx_f[0], 23712, 0, __PYX_ERR(0, 23712, __pyx_L1_error));

  /* "cuda/cudart.pyx":23732
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23733
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23732
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23734
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23735
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23736
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23736, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23734
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23738
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23739
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphDestroy(cgraph)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23739, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23741
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     err = ccudart.cudaGraphDestroy(cgraph)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphDestroy(__pyx_v_cgraph); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23741, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23742
 * 
 *     err = ccudart.cudaGraphDestroy(cgraph)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":23745
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDebugDotPrint(graph, char* path, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Write a DOT file describing graph structure.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_517cudaGraphDebugDotPrint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_516cudaGraphDebugDotPrint[] = "cudaGraphDebugDotPrint(graph, char *path, unsigned int flags)\n Write a DOT file describing graph structure.\n\n    Using the provided `graph`, write to `path` a DOT formatted description\n    of the graph. By default this includes the graph topology, node types,\n    node id, kernel names and memcpy direction. `flags` can be specified to\n    write more detailed information about each node type such as parameter\n    values, kernel attributes, node and function handles.\n\n    Parameters\n    ----------\n    graph : :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 cudaGraphDebugDotFlags for specifying which additional\n        node information to write\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorOperatingSystem`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_517cudaGraphDebugDotPrint = {"cudaGraphDebugDotPrint", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_517cudaGraphDebugDotPrint, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_516cudaGraphDebugDotPrint};
static PyObject *__pyx_pw_4cuda_6cudart_517cudaGraphDebugDotPrint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  char *__pyx_v_path;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphDebugDotPrint (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_path,&__pyx_n_s_flags_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphDebugDotPrint", 1, 3, 3, 1); __PYX_ERR(0, 23745, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphDebugDotPrint", 1, 3, 3, 2); __PYX_ERR(0, 23745, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphDebugDotPrint") < 0)) __PYX_ERR(0, 23745, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = values[0];
    __pyx_v_path = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) __PYX_ERR(0, 23745, __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(0, 23745, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphDebugDotPrint", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23745, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphDebugDotPrint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_516cudaGraphDebugDotPrint(__pyx_self, __pyx_v_graph, __pyx_v_path, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_516cudaGraphDebugDotPrint(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, char *__pyx_v_path, unsigned int __pyx_v_flags) {
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__686)
  __Pyx_RefNannySetupContext("cudaGraphDebugDotPrint", 0);
  __Pyx_TraceCall("cudaGraphDebugDotPrint", __pyx_f[0], 23745, 0, __PYX_ERR(0, 23745, __pyx_L1_error));

  /* "cuda/cudart.pyx":23770
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23771
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23770
 *     """
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23772
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23773
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23774
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23774, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23772
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23776
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23777
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphDebugDotPrint(cgraph, path, flags)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23777, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23779
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     err = ccudart.cudaGraphDebugDotPrint(cgraph, path, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphDebugDotPrint(__pyx_v_cgraph, __pyx_v_path, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23779, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23780
 * 
 *     err = ccudart.cudaGraphDebugDotPrint(cgraph, path, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23745
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDebugDotPrint(graph, char* path, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Write a DOT file describing graph structure.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphDebugDotPrint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pgraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":23783
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_519cudaUserObjectCreate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_518cudaUserObjectCreate[] = "cudaUserObjectCreate(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:`~.cudaHostFn_t`\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:`~.cudaUserObjectNoDestructorSync`, 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n    object_out : :py:obj:`~.cudaUserObject_t`\n        Location to return the user object handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaUserObjectRetain`, :py:obj:`~.cudaUserObjectRelease`, :py:obj:`~.cudaGraphRetainUserObject`, :py:obj:`~.cudaGraphReleaseUserObject`, :py:obj:`~.cudaGraphCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_519cudaUserObjectCreate = {"cudaUserObjectCreate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_519cudaUserObjectCreate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_518cudaUserObjectCreate};
static PyObject *__pyx_pw_4cuda_6cudart_519cudaUserObjectCreate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_ptr = 0;
  PyObject *__pyx_v_destroy = 0;
  unsigned int __pyx_v_initialRefcount;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaUserObjectCreate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_3,&__pyx_n_s_destroy,&__pyx_n_s_initialRefcount,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ptr_3)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_destroy)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaUserObjectCreate", 1, 4, 4, 1); __PYX_ERR(0, 23783, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_initialRefcount)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaUserObjectCreate", 1, 4, 4, 2); __PYX_ERR(0, 23783, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaUserObjectCreate", 1, 4, 4, 3); __PYX_ERR(0, 23783, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaUserObjectCreate") < 0)) __PYX_ERR(0, 23783, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__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(0, 23783, __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(0, 23783, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaUserObjectCreate", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23783, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_518cudaUserObjectCreate(__pyx_self, __pyx_v_ptr, __pyx_v_destroy, __pyx_v_initialRefcount, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_518cudaUserObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, PyObject *__pyx_v_destroy, unsigned int __pyx_v_initialRefcount, unsigned int __pyx_v_flags) {
  cudaHostFn_t __pyx_v_cdestroy;
  PyObject *__pyx_v_pdestroy = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *__pyx_v_object_out = 0;
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__687)
  __Pyx_RefNannySetupContext("cudaUserObjectCreate", 0);
  __Pyx_TraceCall("cudaUserObjectCreate", __pyx_f[0], 23783, 0, __PYX_ERR(0, 23783, __pyx_L1_error));

  /* "cuda/cudart.pyx":23825
 *     """
 *     cdef ccudart.cudaHostFn_t cdestroy
 *     if destroy is None:             # <<<<<<<<<<<<<<
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(destroy, (cudaHostFn_t)):
 */
  __pyx_t_1 = (__pyx_v_destroy == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23826
 *     cdef ccudart.cudaHostFn_t cdestroy
 *     if destroy is None:
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(destroy, (cudaHostFn_t)):
 *         pdestroy = int(destroy)
 */
    __pyx_v_cdestroy = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23825
 *     """
 *     cdef ccudart.cudaHostFn_t cdestroy
 *     if destroy is None:             # <<<<<<<<<<<<<<
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(destroy, (cudaHostFn_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23827
 *     if destroy is None:
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(destroy, (cudaHostFn_t)):             # <<<<<<<<<<<<<<
 *         pdestroy = int(destroy)
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_destroy, __pyx_ptype_4cuda_6cudart_cudaHostFn_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23828
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(destroy, (cudaHostFn_t)):
 *         pdestroy = int(destroy)             # <<<<<<<<<<<<<<
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_destroy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdestroy = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":23829
 *     elif isinstance(destroy, (cudaHostFn_t)):
 *         pdestroy = int(destroy)
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy             # <<<<<<<<<<<<<<
 *     else:
 *         pdestroy = int(cudaHostFn_t(destroy))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdestroy); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23829, __pyx_L1_error)
    __pyx_v_cdestroy = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":23827
 *     if destroy is None:
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>0
 *     elif isinstance(destroy, (cudaHostFn_t)):             # <<<<<<<<<<<<<<
 *         pdestroy = int(destroy)
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23831
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy
 *     else:
 *         pdestroy = int(cudaHostFn_t(destroy))             # <<<<<<<<<<<<<<
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostFn_t), __pyx_v_destroy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdestroy = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":23832
 *     else:
 *         pdestroy = int(cudaHostFn_t(destroy))
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaUserObject_t object_out = cudaUserObject_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdestroy); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23832, __pyx_L1_error)
    __pyx_v_cdestroy = ((cudaHostFn_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23834
 *         cdestroy = <ccudart.cudaHostFn_t><void_ptr>pdestroy
 * 
 *     cdef cudaUserObject_t object_out = cudaUserObject_t()             # <<<<<<<<<<<<<<
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUserObject_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_object_out = ((struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":23835
 * 
 *     cdef cudaUserObject_t object_out = cudaUserObject_t()
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaUserObjectCreate(<ccudart.cudaUserObject_t*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)
 */
  __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_cptr = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":23836
 *     cdef cudaUserObject_t object_out = cudaUserObject_t()
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaUserObjectCreate(<ccudart.cudaUserObject_t*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)
 *     return (cudaError_t(err), object_out)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

  /* "cuda/cudart.pyx":23837
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaUserObjectCreate(<ccudart.cudaUserObject_t*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), object_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaUserObjectCreate(((cudaUserObject_t *)__pyx_v_object_out->__pyx_base._ptr), __pyx_v_cptr_ptr, __pyx_v_cdestroy, __pyx_v_initialRefcount, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23837, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":23838
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaUserObjectCreate(<ccudart.cudaUserObject_t*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)
 *     return (cudaError_t(err), object_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_object_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_object_out));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_object_out));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23783
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectCreate", __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/cudart.pyx":23841
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRetain(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_521cudaUserObjectRetain(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_520cudaUserObjectRetain[] = "cudaUserObjectRetain(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:`~.cudaUserObject_t`\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaUserObjectCreate`, :py:obj:`~.cudaUserObjectRelease`, :py:obj:`~.cudaGraphRetainUserObject`, :py:obj:`~.cudaGraphReleaseUserObject`, :py:obj:`~.cudaGraphCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_521cudaUserObjectRetain = {"cudaUserObjectRetain", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_521cudaUserObjectRetain, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_520cudaUserObjectRetain};
static PyObject *__pyx_pw_4cuda_6cudart_521cudaUserObjectRetain(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaUserObjectRetain (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_object,&__pyx_n_s_count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_object)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaUserObjectRetain", 1, 2, 2, 1); __PYX_ERR(0, 23841, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaUserObjectRetain") < 0)) __PYX_ERR(0, 23841, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 23841, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaUserObjectRetain", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23841, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_520cudaUserObjectRetain(__pyx_self, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_520cudaUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  cudaUserObject_t __pyx_v_cobject;
  PyObject *__pyx_v_pobject = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__688)
  __Pyx_RefNannySetupContext("cudaUserObjectRetain", 0);
  __Pyx_TraceCall("cudaUserObjectRetain", __pyx_f[0], 23841, 0, __PYX_ERR(0, 23841, __pyx_L1_error));

  /* "cuda/cudart.pyx":23868
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23869
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23868
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23870
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23871
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23872
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23872, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23870
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23874
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 *         pobject = int(cudaUserObject_t(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUserObject_t), __pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pobject = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23875
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaUserObjectRetain(cobject, count)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23875, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23877
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 * 
 *     err = ccudart.cudaUserObjectRetain(cobject, count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaUserObjectRetain(__pyx_v_cobject, __pyx_v_count); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23877, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23878
 * 
 *     err = ccudart.cudaUserObjectRetain(cobject, count)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23841
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRetain(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectRetain", __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/cudart.pyx":23881
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRelease(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a reference to a user object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_523cudaUserObjectRelease(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_522cudaUserObjectRelease[] = "cudaUserObjectRelease(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:`~.cudaUserObject_t`\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaUserObjectCreate`, :py:obj:`~.cudaUserObjectRetain`, :py:obj:`~.cudaGraphRetainUserObject`, :py:obj:`~.cudaGraphReleaseUserObject`, :py:obj:`~.cudaGraphCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_523cudaUserObjectRelease = {"cudaUserObjectRelease", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_523cudaUserObjectRelease, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_522cudaUserObjectRelease};
static PyObject *__pyx_pw_4cuda_6cudart_523cudaUserObjectRelease(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaUserObjectRelease (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_object,&__pyx_n_s_count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_object)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaUserObjectRelease", 1, 2, 2, 1); __PYX_ERR(0, 23881, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaUserObjectRelease") < 0)) __PYX_ERR(0, 23881, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 23881, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaUserObjectRelease", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23881, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_522cudaUserObjectRelease(__pyx_self, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_522cudaUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  cudaUserObject_t __pyx_v_cobject;
  PyObject *__pyx_v_pobject = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__689)
  __Pyx_RefNannySetupContext("cudaUserObjectRelease", 0);
  __Pyx_TraceCall("cudaUserObjectRelease", __pyx_f[0], 23881, 0, __PYX_ERR(0, 23881, __pyx_L1_error));

  /* "cuda/cudart.pyx":23911
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23912
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23911
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23913
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23914
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23915
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23915, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23913
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23917
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 *         pobject = int(cudaUserObject_t(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUserObject_t), __pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pobject = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23918
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaUserObjectRelease(cobject, count)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23918, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23920
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 * 
 *     err = ccudart.cudaUserObjectRelease(cobject, count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaUserObjectRelease(__pyx_v_cobject, __pyx_v_count); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23920, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23921
 * 
 *     err = ccudart.cudaUserObjectRelease(cobject, count)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23881
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRelease(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a reference to a user object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectRelease", __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/cudart.pyx":23924
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRetainUserObject(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_6cudart_525cudaGraphRetainUserObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_524cudaGraphRetainUserObject[] = "cudaGraphRetainUserObject(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:`~.cudaUserObject_t`\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:`~.cudaGraphUserObjectMove` transfers\n        references from the calling thread, rather than create new\n        references. Pass 0 to create new references.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaUserObjectCreate` :py:obj:`~.cudaUserObjectRetain`, :py:obj:`~.cudaUserObjectRelease`, :py:obj:`~.cudaGraphReleaseUserObject`, :py:obj:`~.cudaGraphCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_525cudaGraphRetainUserObject = {"cudaGraphRetainUserObject", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_525cudaGraphRetainUserObject, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_524cudaGraphRetainUserObject};
static PyObject *__pyx_pw_4cuda_6cudart_525cudaGraphRetainUserObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphRetainUserObject (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_object,&__pyx_n_s_count,&__pyx_n_s_flags_2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_object)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphRetainUserObject", 1, 4, 4, 1); __PYX_ERR(0, 23924, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphRetainUserObject", 1, 4, 4, 2); __PYX_ERR(0, 23924, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphRetainUserObject", 1, 4, 4, 3); __PYX_ERR(0, 23924, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphRetainUserObject") < 0)) __PYX_ERR(0, 23924, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__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(0, 23924, __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(0, 23924, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphRetainUserObject", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23924, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRetainUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_524cudaGraphRetainUserObject(__pyx_self, __pyx_v_graph, __pyx_v_object, __pyx_v_count, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_524cudaGraphRetainUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count, unsigned int __pyx_v_flags) {
  cudaUserObject_t __pyx_v_cobject;
  PyObject *__pyx_v_pobject = NULL;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__690)
  __Pyx_RefNannySetupContext("cudaGraphRetainUserObject", 0);
  __Pyx_TraceCall("cudaGraphRetainUserObject", __pyx_f[0], 23924, 0, __PYX_ERR(0, 23924, __pyx_L1_error));

  /* "cuda/cudart.pyx":23957
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23958
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23957
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23959
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23960
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23961
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23961, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23959
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":23963
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 *         pobject = int(cudaUserObject_t(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUserObject_t), __pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pobject = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23964
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23964, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":23967
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":23968
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":23967
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23969
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":23970
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":23971
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23971, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":23969
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":23973
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":23974
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphRetainUserObject(cgraph, cobject, count, flags)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 23974, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":23976
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     err = ccudart.cudaGraphRetainUserObject(cgraph, cobject, count, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphRetainUserObject(__pyx_v_cgraph, __pyx_v_cobject, __pyx_v_count, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 23976, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":23977
 * 
 *     err = ccudart.cudaGraphRetainUserObject(cgraph, cobject, count, flags)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 23977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 23977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23924
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRetainUserObject(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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRetainUserObject", __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/cudart.pyx":23980
 * 
 * @cython.embedsignature(True)
 * def cudaGraphReleaseUserObject(graph, object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a user object reference from a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_527cudaGraphReleaseUserObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_526cudaGraphReleaseUserObject[] = "cudaGraphReleaseUserObject(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:`~.cudaUserObject_t`\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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`\n\n    See Also\n    --------\n    :py:obj:`~.cudaUserObjectCreate` :py:obj:`~.cudaUserObjectRetain`, :py:obj:`~.cudaUserObjectRelease`, :py:obj:`~.cudaGraphRetainUserObject`, :py:obj:`~.cudaGraphCreate`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_527cudaGraphReleaseUserObject = {"cudaGraphReleaseUserObject", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_527cudaGraphReleaseUserObject, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_526cudaGraphReleaseUserObject};
static PyObject *__pyx_pw_4cuda_6cudart_527cudaGraphReleaseUserObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_graph = 0;
  PyObject *__pyx_v_object = 0;
  unsigned int __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphReleaseUserObject (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_object,&__pyx_n_s_count,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_object)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphReleaseUserObject", 1, 3, 3, 1); __PYX_ERR(0, 23980, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphReleaseUserObject", 1, 3, 3, 2); __PYX_ERR(0, 23980, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphReleaseUserObject") < 0)) __PYX_ERR(0, 23980, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 23980, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphReleaseUserObject", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 23980, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphReleaseUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_526cudaGraphReleaseUserObject(__pyx_self, __pyx_v_graph, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_526cudaGraphReleaseUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  cudaUserObject_t __pyx_v_cobject;
  PyObject *__pyx_v_pobject = NULL;
  cudaGraph_t __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__691)
  __Pyx_RefNannySetupContext("cudaGraphReleaseUserObject", 0);
  __Pyx_TraceCall("cudaGraphReleaseUserObject", __pyx_f[0], 23980, 0, __PYX_ERR(0, 23980, __pyx_L1_error));

  /* "cuda/cudart.pyx":24008
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24009
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24008
 *     """
 *     cdef ccudart.cudaUserObject_t cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24010
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24011
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24012
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24012, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":24010
 *     if object is None:
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>0
 *     elif isinstance(object, (cudaUserObject_t,cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24014
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 *     else:
 *         pobject = int(cudaUserObject_t(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUserObject_t), __pyx_v_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pobject = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":24015
 *     else:
 *         pobject = int(cudaUserObject_t(object))
 *         cobject = <ccudart.cudaUserObject_t><void_ptr>pobject             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24015, __pyx_L1_error)
    __pyx_v_cobject = ((cudaUserObject_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24018
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24019
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24018
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24020
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_6cudart_cudaGraph_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L7_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24021
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 */
    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_pgraph = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":24022
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24022, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));

    /* "cuda/cudart.pyx":24020
 *     if graph is None:
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>0
 *     elif isinstance(graph, (cudaGraph_t,cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24024
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 *     else:
 *         pgraph = int(cudaGraph_t(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 */
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), __pyx_v_graph); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24025
 *     else:
 *         pgraph = int(cudaGraph_t(graph))
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaGraphReleaseUserObject(cgraph, cobject, count)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24025, __pyx_L1_error)
    __pyx_v_cgraph = ((cudaGraph_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":24027
 *         cgraph = <ccudart.cudaGraph_t><void_ptr>pgraph
 * 
 *     err = ccudart.cudaGraphReleaseUserObject(cgraph, cobject, count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphReleaseUserObject(__pyx_v_cgraph, __pyx_v_cobject, __pyx_v_count); if (unlikely(__pyx_t_7 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24027, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":24028
 * 
 *     err = ccudart.cudaGraphReleaseUserObject(cgraph, cobject, count)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 24028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8);
  __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(0, 24028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":23980
 * 
 * @cython.embedsignature(True)
 * def cudaGraphReleaseUserObject(graph, object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a user object reference from a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphReleaseUserObject", __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/cudart.pyx":24031
 * 
 * @cython.embedsignature(True)
 * def cudaGetDriverEntryPoint(char* symbol, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Returns the requested driver API function pointer.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_529cudaGetDriverEntryPoint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_528cudaGetDriverEntryPoint[] = "cudaGetDriverEntryPoint(char *symbol, unsigned long long flags)\n Returns the requested driver API function pointer.\n\n    Returns in `**funcPtr` the address of the CUDA driver function for the\n    requested flags.\n\n    For a requested driver symbol, if the CUDA version in which the driver\n    symbol was introduced is less than or equal to the CUDA runtime\n    version, the API will return the function pointer to the corresponding\n    versioned driver 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    cuda.h.\n\n    The API will return :py:obj:`~.cudaErrorSymbolNotFound` if the\n    requested driver function is not supported on the platform, no ABI\n    compatible driver function exists for the CUDA runtime version or if\n    the driver symbol is invalid.\n\n    The requested flags can be:\n\n    - :py:obj:`~.cudaEnableDefault`: This is the default mode. This is\n      equivalent to :py:obj:`~.cudaEnablePerThreadDefaultStream` if the\n      code is compiled with --default-stream per-thread compilation flag or\n      the macro CUDA_API_PER_THREAD_DEFAULT_STREAM is defined;\n      :py:obj:`~.cudaEnableLegacyStream` otherwise.\n\n    - :py:obj:`~.cudaEnableLegacyStream`: This will enable the search for\n      all driver symbols that match the requested driver symbol name except\n      the corresponding per-thread versions.\n\n    - :py:obj:`~.cudaEnablePerThreadDefaultStream`: This will enable the\n      search for all driver symbols that match the requested driver symbol\n      name including the per-thread versions. If a per-thread version is\n      not found, the API will return the legacy version of the driver\n      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. Note that the API will use the CUDA runtime\n        version to return the address to the most recent ABI compatible\n        driver symbol, :py:obj:`~.cuMemAlloc` or :py:obj:`~.cuMemAlloc_v2`.\n    flags : unsigned long long\n        Flags to specify search options.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorNotSupported`, :py:obj:`~.cudaErrorSymbolNotFound`\n    funcPtr : Any\n        Location to return the function pointer to the requested driver\n        function\n\n    See Also\n    --------\n    :py:obj:`~.cuGetProcAddress`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_529cudaGetDriverEntryPoint = {"cudaGetDriverEntryPoint", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_529cudaGetDriverEntryPoint, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_528cudaGetDriverEntryPoint};
static PyObject *__pyx_pw_4cuda_6cudart_529cudaGetDriverEntryPoint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char *__pyx_v_symbol;
  unsigned PY_LONG_LONG __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDriverEntryPoint (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_symbol,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_symbol)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGetDriverEntryPoint", 1, 2, 2, 1); __PYX_ERR(0, 24031, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGetDriverEntryPoint") < 0)) __PYX_ERR(0, 24031, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_symbol = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_symbol) && PyErr_Occurred())) __PYX_ERR(0, 24031, __pyx_L3_error)
    __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(0, 24031, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGetDriverEntryPoint", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24031, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGetDriverEntryPoint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_528cudaGetDriverEntryPoint(__pyx_self, __pyx_v_symbol, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_528cudaGetDriverEntryPoint(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_symbol, unsigned PY_LONG_LONG __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_funcPtr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__692)
  __Pyx_RefNannySetupContext("cudaGetDriverEntryPoint", 0);
  __Pyx_TraceCall("cudaGetDriverEntryPoint", __pyx_f[0], 24031, 0, __PYX_ERR(0, 24031, __pyx_L1_error));

  /* "cuda/cudart.pyx":24095
 *     :py:obj:`~.cuGetProcAddress`
 *     """
 *     cdef void_ptr funcPtr = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDriverEntryPoint(symbol, <void**>&funcPtr, flags)
 *     return (cudaError_t(err), funcPtr)
 */
  __pyx_v_funcPtr = 0;

  /* "cuda/cudart.pyx":24096
 *     """
 *     cdef void_ptr funcPtr = 0
 *     err = ccudart.cudaGetDriverEntryPoint(symbol, <void**>&funcPtr, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), funcPtr)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGetDriverEntryPoint(__pyx_v_symbol, ((void **)(&__pyx_v_funcPtr)), __pyx_v_flags); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24096, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":24097
 *     cdef void_ptr funcPtr = 0
 *     err = ccudart.cudaGetDriverEntryPoint(symbol, <void**>&funcPtr, flags)
 *     return (cudaError_t(err), funcPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 24097, __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_funcPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24031
 * 
 * @cython.embedsignature(True)
 * def cudaGetDriverEntryPoint(char* symbol, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Returns the requested driver API function pointer.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGetDriverEntryPoint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24100
 * 
 * @cython.embedsignature(True)
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_531cudaGetExportTable(PyObject *__pyx_self, PyObject *__pyx_v_pExportTableId); /*proto*/
static char __pyx_doc_4cuda_6cudart_530cudaGetExportTable[] = "cudaGetExportTable(cudaUUID_t pExportTableId: cudaUUID_t)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_531cudaGetExportTable = {"cudaGetExportTable", (PyCFunction)__pyx_pw_4cuda_6cudart_531cudaGetExportTable, METH_O, __pyx_doc_4cuda_6cudart_530cudaGetExportTable};
static PyObject *__pyx_pw_4cuda_6cudart_531cudaGetExportTable(PyObject *__pyx_self, PyObject *__pyx_v_pExportTableId) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetExportTable (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pExportTableId), __pyx_ptype_4cuda_6cudart_cudaUUID_t, 1, "pExportTableId", 0))) __PYX_ERR(0, 24100, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_530cudaGetExportTable(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaUUID_t *)__pyx_v_pExportTableId));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_530cudaGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaUUID_t *__pyx_v_pExportTableId) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ppExportTable;
  cudaUUID_t *__pyx_v_cpExportTableId_ptr;
  cudaError_t __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;
  cudaError_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__693)
  __Pyx_RefNannySetupContext("cudaGetExportTable", 0);
  __Pyx_TraceCall("cudaGetExportTable", __pyx_f[0], 24100, 0, __PYX_ERR(0, 24100, __pyx_L1_error));

  /* "cuda/cudart.pyx":24102
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):
 *     """"""
 *     cdef void_ptr ppExportTable = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaUUID_t* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL
 *     err = ccudart.cudaGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)
 */
  __pyx_v_ppExportTable = 0;

  /* "cuda/cudart.pyx":24103
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 *     cdef ccudart.cudaUUID_t* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)
 *     return (cudaError_t(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(0, 24103, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 24103, __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/cudart.pyx":24104
 *     cdef void_ptr ppExportTable = 0
 *     cdef ccudart.cudaUUID_t* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL
 *     err = ccudart.cudaGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ppExportTable)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaGetExportTable(((void const **)(&__pyx_v_ppExportTable)), __pyx_v_cpExportTableId_ptr); if (unlikely(__pyx_t_4 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24104, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":24105
 *     cdef ccudart.cudaUUID_t* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL
 *     err = ccudart.cudaGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)
 *     return (cudaError_t(err), ppExportTable)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24105, __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(0, 24105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24100
 * 
 * @cython.embedsignature(True)
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 */

  /* 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.cudart.cudaGetExportTable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24108
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPitchedPtr` based on input parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_533make_cudaPitchedPtr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_532make_cudaPitchedPtr[] = "make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz)\n Returns a :py:obj:`~.cudaPitchedPtr` based on input parameters.\n\n    Returns a :py:obj:`~.cudaPitchedPtr` based on the specified input\n    parameters `d`, `p`, `xsz`, and `ysz`.\n\n    Parameters\n    ----------\n    d : Any\n        Pointer to allocated memory\n    p : size_t\n        Pitch of allocated memory in bytes\n    xsz : size_t\n        Logical width of allocation in elements\n    ysz : size_t\n        Logical height of allocation in elements\n\n    Returns\n    -------\n    cudaError_t.cudaSuccess\n        cudaError_t.cudaSuccess\n    :py:obj:`~.cudaPitchedPtr`\n        :py:obj:`~.cudaPitchedPtr` specified by `d`, `p`, `xsz`, and `ysz`\n\n    See Also\n    --------\n    make_cudaExtent, make_cudaPos\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_533make_cudaPitchedPtr = {"make_cudaPitchedPtr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_533make_cudaPitchedPtr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_532make_cudaPitchedPtr};
static PyObject *__pyx_pw_4cuda_6cudart_533make_cudaPitchedPtr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_d = 0;
  size_t __pyx_v_p;
  size_t __pyx_v_xsz;
  size_t __pyx_v_ysz;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("make_cudaPitchedPtr (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_d,&__pyx_n_s_p,&__pyx_n_s_xsz,&__pyx_n_s_ysz,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_d)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_p)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("make_cudaPitchedPtr", 1, 4, 4, 1); __PYX_ERR(0, 24108, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xsz)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("make_cudaPitchedPtr", 1, 4, 4, 2); __PYX_ERR(0, 24108, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ysz)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("make_cudaPitchedPtr", 1, 4, 4, 3); __PYX_ERR(0, 24108, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "make_cudaPitchedPtr") < 0)) __PYX_ERR(0, 24108, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_d = values[0];
    __pyx_v_p = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_p == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24108, __pyx_L3_error)
    __pyx_v_xsz = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_xsz == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24108, __pyx_L3_error)
    __pyx_v_ysz = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_ysz == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24108, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("make_cudaPitchedPtr", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24108, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.make_cudaPitchedPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_532make_cudaPitchedPtr(__pyx_self, __pyx_v_d, __pyx_v_p, __pyx_v_xsz, __pyx_v_ysz);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_532make_cudaPitchedPtr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_d, size_t __pyx_v_p, size_t __pyx_v_xsz, size_t __pyx_v_ysz) {
  PyObject *__pyx_v_cd = NULL;
  void *__pyx_v_cd_ptr;
  struct cudaPitchedPtr __pyx_v_err;
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__694)
  __Pyx_RefNannySetupContext("make_cudaPitchedPtr", 0);
  __Pyx_TraceCall("make_cudaPitchedPtr", __pyx_f[0], 24108, 0, __PYX_ERR(0, 24108, __pyx_L1_error));

  /* "cuda/cudart.pyx":24136
 *     make_cudaExtent, make_cudaPos
 *     """
 *     cd = utils.HelperInputVoidPtr(d)             # <<<<<<<<<<<<<<
 *     cdef void* cd_ptr = <void*><void_ptr>cd.cptr
 *     cdef ccudart.cudaPitchedPtr err
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_d); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cd = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24137
 *     """
 *     cd = utils.HelperInputVoidPtr(d)
 *     cdef void* cd_ptr = <void*><void_ptr>cd.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaPitchedPtr err
 *     err = ccudart.make_cudaPitchedPtr(cd_ptr, p, xsz, ysz)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cd, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24137, __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(0, 24137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cd_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_2));

  /* "cuda/cudart.pyx":24139
 *     cdef void* cd_ptr = <void*><void_ptr>cd.cptr
 *     cdef ccudart.cudaPitchedPtr err
 *     err = ccudart.make_cudaPitchedPtr(cd_ptr, p, xsz, ysz)             # <<<<<<<<<<<<<<
 *     cdef cudaPitchedPtr wrapper = cudaPitchedPtr()
 *     wrapper._ptr[0] = err
 */
  __pyx_v_err = __pyx_f_4cuda_7ccudart_make_cudaPitchedPtr(__pyx_v_cd_ptr, __pyx_v_p, __pyx_v_xsz, __pyx_v_ysz);

  /* "cuda/cudart.pyx":24140
 *     cdef ccudart.cudaPitchedPtr err
 *     err = ccudart.make_cudaPitchedPtr(cd_ptr, p, xsz, ysz)
 *     cdef cudaPitchedPtr wrapper = cudaPitchedPtr()             # <<<<<<<<<<<<<<
 *     wrapper._ptr[0] = err
 *     return wrapper
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_wrapper = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24141
 *     err = ccudart.make_cudaPitchedPtr(cd_ptr, p, xsz, ysz)
 *     cdef cudaPitchedPtr wrapper = cudaPitchedPtr()
 *     wrapper._ptr[0] = err             # <<<<<<<<<<<<<<
 *     return wrapper
 * 
 */
  (__pyx_v_wrapper->_ptr[0]) = __pyx_v_err;

  /* "cuda/cudart.pyx":24142
 *     cdef cudaPitchedPtr wrapper = cudaPitchedPtr()
 *     wrapper._ptr[0] = err
 *     return wrapper             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_wrapper));
  __pyx_r = ((PyObject *)__pyx_v_wrapper);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24108
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPitchedPtr` based on input parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.make_cudaPitchedPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cd);
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24145
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPos` based on input parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_535make_cudaPos(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_534make_cudaPos[] = "make_cudaPos(size_t x, size_t y, size_t z)\n Returns a :py:obj:`~.cudaPos` based on input parameters.\n\n    Returns a :py:obj:`~.cudaPos` based on the specified input parameters\n    `x`, `y`, and `z`.\n\n    Parameters\n    ----------\n    x : size_t\n        X position\n    y : size_t\n        Y position\n    z : size_t\n        Z position\n\n    Returns\n    -------\n    cudaError_t.cudaSuccess\n        cudaError_t.cudaSuccess\n    :py:obj:`~.cudaPos`\n        :py:obj:`~.cudaPos` specified by `x`, `y`, and `z`\n\n    See Also\n    --------\n    make_cudaExtent, make_cudaPitchedPtr\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_535make_cudaPos = {"make_cudaPos", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_535make_cudaPos, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_534make_cudaPos};
static PyObject *__pyx_pw_4cuda_6cudart_535make_cudaPos(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_x;
  size_t __pyx_v_y;
  size_t __pyx_v_z;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("make_cudaPos (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x_2,&__pyx_n_s_y_2,&__pyx_n_s_z_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("make_cudaPos", 1, 3, 3, 1); __PYX_ERR(0, 24145, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("make_cudaPos", 1, 3, 3, 2); __PYX_ERR(0, 24145, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "make_cudaPos") < 0)) __PYX_ERR(0, 24145, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_x = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_x == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24145, __pyx_L3_error)
    __pyx_v_y = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_y == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24145, __pyx_L3_error)
    __pyx_v_z = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_z == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24145, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("make_cudaPos", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24145, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.make_cudaPos", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_534make_cudaPos(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_z);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_534make_cudaPos(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_x, size_t __pyx_v_y, size_t __pyx_v_z) {
  struct cudaPos __pyx_v_err;
  struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = 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__695)
  __Pyx_RefNannySetupContext("make_cudaPos", 0);
  __Pyx_TraceCall("make_cudaPos", __pyx_f[0], 24145, 0, __PYX_ERR(0, 24145, __pyx_L1_error));

  /* "cuda/cudart.pyx":24172
 *     """
 *     cdef ccudart.cudaPos err
 *     err = ccudart.make_cudaPos(x, y, z)             # <<<<<<<<<<<<<<
 *     cdef cudaPos wrapper = cudaPos()
 *     wrapper._ptr[0] = err
 */
  __pyx_v_err = __pyx_f_4cuda_7ccudart_make_cudaPos(__pyx_v_x, __pyx_v_y, __pyx_v_z);

  /* "cuda/cudart.pyx":24173
 *     cdef ccudart.cudaPos err
 *     err = ccudart.make_cudaPos(x, y, z)
 *     cdef cudaPos wrapper = cudaPos()             # <<<<<<<<<<<<<<
 *     wrapper._ptr[0] = err
 *     return wrapper
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_wrapper = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24174
 *     err = ccudart.make_cudaPos(x, y, z)
 *     cdef cudaPos wrapper = cudaPos()
 *     wrapper._ptr[0] = err             # <<<<<<<<<<<<<<
 *     return wrapper
 * 
 */
  (__pyx_v_wrapper->_ptr[0]) = __pyx_v_err;

  /* "cuda/cudart.pyx":24175
 *     cdef cudaPos wrapper = cudaPos()
 *     wrapper._ptr[0] = err
 *     return wrapper             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_wrapper));
  __pyx_r = ((PyObject *)__pyx_v_wrapper);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24145
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPos` based on input parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.make_cudaPos", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24178
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaExtent` based on input parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_537make_cudaExtent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_536make_cudaExtent[] = "make_cudaExtent(size_t w, size_t h, size_t d)\n Returns a :py:obj:`~.cudaExtent` based on input parameters.\n\n    Returns a :py:obj:`~.cudaExtent` based on the specified input\n    parameters `w`, `h`, and `d`.\n\n    Parameters\n    ----------\n    w : size_t\n        Width in elements when referring to array memory, in bytes when\n        referring to linear memory\n    h : size_t\n        Height in elements\n    d : size_t\n        Depth in elements\n\n    Returns\n    -------\n    cudaError_t.cudaSuccess\n        cudaError_t.cudaSuccess\n    :py:obj:`~.cudaExtent`\n        :py:obj:`~.cudaExtent` specified by `w`, `h`, and `d`\n\n    See Also\n    --------\n    make_cudaPitchedPtr, make_cudaPos\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_537make_cudaExtent = {"make_cudaExtent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_537make_cudaExtent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_536make_cudaExtent};
static PyObject *__pyx_pw_4cuda_6cudart_537make_cudaExtent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_w;
  size_t __pyx_v_h;
  size_t __pyx_v_d;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("make_cudaExtent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_w_2,&__pyx_n_s_h,&__pyx_n_s_d,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w_2)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("make_cudaExtent", 1, 3, 3, 1); __PYX_ERR(0, 24178, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_d)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("make_cudaExtent", 1, 3, 3, 2); __PYX_ERR(0, 24178, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "make_cudaExtent") < 0)) __PYX_ERR(0, 24178, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_w = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_w == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24178, __pyx_L3_error)
    __pyx_v_h = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_h == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24178, __pyx_L3_error)
    __pyx_v_d = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_d == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 24178, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("make_cudaExtent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24178, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.make_cudaExtent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_536make_cudaExtent(__pyx_self, __pyx_v_w, __pyx_v_h, __pyx_v_d);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_536make_cudaExtent(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_w, size_t __pyx_v_h, size_t __pyx_v_d) {
  struct cudaExtent __pyx_v_err;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = 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__696)
  __Pyx_RefNannySetupContext("make_cudaExtent", 0);
  __Pyx_TraceCall("make_cudaExtent", __pyx_f[0], 24178, 0, __PYX_ERR(0, 24178, __pyx_L1_error));

  /* "cuda/cudart.pyx":24206
 *     """
 *     cdef ccudart.cudaExtent err
 *     err = ccudart.make_cudaExtent(w, h, d)             # <<<<<<<<<<<<<<
 *     cdef cudaExtent wrapper = cudaExtent()
 *     wrapper._ptr[0] = err
 */
  __pyx_v_err = __pyx_f_4cuda_7ccudart_make_cudaExtent(__pyx_v_w, __pyx_v_h, __pyx_v_d);

  /* "cuda/cudart.pyx":24207
 *     cdef ccudart.cudaExtent err
 *     err = ccudart.make_cudaExtent(w, h, d)
 *     cdef cudaExtent wrapper = cudaExtent()             # <<<<<<<<<<<<<<
 *     wrapper._ptr[0] = err
 *     return wrapper
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_wrapper = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24208
 *     err = ccudart.make_cudaExtent(w, h, d)
 *     cdef cudaExtent wrapper = cudaExtent()
 *     wrapper._ptr[0] = err             # <<<<<<<<<<<<<<
 *     return wrapper
 * 
 */
  (__pyx_v_wrapper->_ptr[0]) = __pyx_v_err;

  /* "cuda/cudart.pyx":24209
 *     cdef cudaExtent wrapper = cudaExtent()
 *     wrapper._ptr[0] = err
 *     return wrapper             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_wrapper));
  __pyx_r = ((PyObject *)__pyx_v_wrapper);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24178
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaExtent` based on input parameters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.make_cudaExtent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24212
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerInitialize(char* configFile, char* outputFile, outputMode not None : cudaOutputMode_t):             # <<<<<<<<<<<<<<
 *     """ Initialize the CUDA profiler.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_539cudaProfilerInitialize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_538cudaProfilerInitialize[] = "cudaProfilerInitialize(char *configFile, char *outputFile, outputMode: cudaOutputMode_t)\n Initialize the CUDA profiler.\n\n    [Deprecated]\n\n    Using this API user can initialize the CUDA profiler by specifying the\n    configuration file, output file and output file format. This API is\n    generally used to profile different set of counters by looping the\n    kernel launch. The `configFile` parameter can be used to select\n    profiling options including profiler counters. Refer to the \"Compute\n    Command Line Profiler User Guide\" for supported profiler options and\n    counters.\n\n    Limitation: The CUDA profiler cannot be initialized with this API if\n    another profiling tool is already active, as indicated by the\n    :py:obj:`~.cudaErrorProfilerDisabled` return code.\n\n    Typical usage of the profiling APIs is as follows:\n\n    for each set of counters/options {\n    :py:obj:`~.cudaProfilerInitialize()`; //Initialize profiling,set the\n    counters/options in the config file   ...\n    :py:obj:`~.cudaProfilerStart()`;   // code to be profiled\n    :py:obj:`~.cudaProfilerStop()`;  ...  :py:obj:`~.cudaProfilerStart()`;\n    // code to be profiled   :py:obj:`~.cudaProfilerStop()`;  ... }\n\n    Parameters\n    ----------\n    configFile : bytes\n        Name of the config file that lists the counters/options for\n        profiling.\n    outputFile : bytes\n        Name of the outputFile where the profiling results will be stored.\n    outputMode : :py:obj:`~.cudaOutputMode_t`\n        outputMode, can be :py:obj:`~.cudaKeyValuePair` OR\n        :py:obj:`~.cudaCSV`.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorProfilerDisabled`\n\n    See Also\n    --------\n    :py:obj:`~.cudaProfilerStart`, :py:obj:`~.cudaProfilerStop`, :py:obj:`~.cuProfilerInitialize`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_539cudaProfilerInitialize = {"cudaProfilerInitialize", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_539cudaProfilerInitialize, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_538cudaProfilerInitialize};
static PyObject *__pyx_pw_4cuda_6cudart_539cudaProfilerInitialize(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char *__pyx_v_configFile;
  char *__pyx_v_outputFile;
  PyObject *__pyx_v_outputMode = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaProfilerInitialize (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_configFile,&__pyx_n_s_outputFile,&__pyx_n_s_outputMode,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_configFile)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outputFile)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaProfilerInitialize", 1, 3, 3, 1); __PYX_ERR(0, 24212, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outputMode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaProfilerInitialize", 1, 3, 3, 2); __PYX_ERR(0, 24212, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaProfilerInitialize") < 0)) __PYX_ERR(0, 24212, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_configFile = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_configFile) && PyErr_Occurred())) __PYX_ERR(0, 24212, __pyx_L3_error)
    __pyx_v_outputFile = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_outputFile) && PyErr_Occurred())) __PYX_ERR(0, 24212, __pyx_L3_error)
    __pyx_v_outputMode = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaProfilerInitialize", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24212, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaProfilerInitialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_outputMode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "outputMode"); __PYX_ERR(0, 24212, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_538cudaProfilerInitialize(__pyx_self, __pyx_v_configFile, __pyx_v_outputFile, __pyx_v_outputMode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_538cudaProfilerInitialize(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_configFile, char *__pyx_v_outputFile, PyObject *__pyx_v_outputMode) {
  cudaOutputMode_t __pyx_v_coutputMode;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  cudaOutputMode_t __pyx_t_2;
  cudaError_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__697)
  __Pyx_RefNannySetupContext("cudaProfilerInitialize", 0);
  __Pyx_TraceCall("cudaProfilerInitialize", __pyx_f[0], 24212, 0, __PYX_ERR(0, 24212, __pyx_L1_error));

  /* "cuda/cudart.pyx":24258
 *     :py:obj:`~.cudaProfilerStart`, :py:obj:`~.cudaProfilerStop`, :py:obj:`~.cuProfilerInitialize`
 *     """
 *     cdef ccudart.cudaOutputMode_t coutputMode = outputMode.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaProfilerInitialize(configFile, outputFile, coutputMode)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_outputMode, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaOutputMode)__Pyx_PyInt_As_enum__cudaOutputMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 24258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_coutputMode = __pyx_t_2;

  /* "cuda/cudart.pyx":24259
 *     """
 *     cdef ccudart.cudaOutputMode_t coutputMode = outputMode.value
 *     err = ccudart.cudaProfilerInitialize(configFile, outputFile, coutputMode)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaProfilerInitialize(__pyx_v_configFile, __pyx_v_outputFile, __pyx_v_coutputMode); if (unlikely(__pyx_t_3 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24259, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":24260
 *     cdef ccudart.cudaOutputMode_t coutputMode = outputMode.value
 *     err = ccudart.cudaProfilerInitialize(configFile, outputFile, coutputMode)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __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(0, 24260, __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(0, 24260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24212
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerInitialize(char* configFile, char* outputFile, outputMode not None : cudaOutputMode_t):             # <<<<<<<<<<<<<<
 *     """ Initialize the CUDA profiler.
 * 
 */

  /* 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.cudart.cudaProfilerInitialize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24263
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStart():             # <<<<<<<<<<<<<<
 *     """ Enable profiling.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_541cudaProfilerStart(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_540cudaProfilerStart[] = "cudaProfilerStart()\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:`~.cudaProfilerStart()` has no effect.\n\n    cudaProfilerStart and cudaProfilerStop APIs are used to\n    programmatically control the profiling granularity by allowing\n    profiling to be done only on selective pieces of code.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaProfilerInitialize`, :py:obj:`~.cudaProfilerStop`, :py:obj:`~.cuProfilerStart`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_541cudaProfilerStart = {"cudaProfilerStart", (PyCFunction)__pyx_pw_4cuda_6cudart_541cudaProfilerStart, METH_NOARGS, __pyx_doc_4cuda_6cudart_540cudaProfilerStart};
static PyObject *__pyx_pw_4cuda_6cudart_541cudaProfilerStart(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaProfilerStart (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_540cudaProfilerStart(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_540cudaProfilerStart(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__698)
  __Pyx_RefNannySetupContext("cudaProfilerStart", 0);
  __Pyx_TraceCall("cudaProfilerStart", __pyx_f[0], 24263, 0, __PYX_ERR(0, 24263, __pyx_L1_error));

  /* "cuda/cudart.pyx":24283
 *     :py:obj:`~.cudaProfilerInitialize`, :py:obj:`~.cudaProfilerStop`, :py:obj:`~.cuProfilerStart`
 *     """
 *     err = ccudart.cudaProfilerStart()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaProfilerStart(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24283, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":24284
 *     """
 *     err = ccudart.cudaProfilerStart()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 24284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24263
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStart():             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaProfilerStart", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24287
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStop():             # <<<<<<<<<<<<<<
 *     """ Disable profiling.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_543cudaProfilerStop(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_542cudaProfilerStop[] = "cudaProfilerStop()\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:`~.cudaProfilerStop()` has no effect.\n\n    cudaProfilerStart and cudaProfilerStop APIs are used to\n    programmatically control the profiling granularity by allowing\n    profiling to be done only on selective pieces of code.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`\n\n    See Also\n    --------\n    :py:obj:`~.cudaProfilerInitialize`, :py:obj:`~.cudaProfilerStart`, :py:obj:`~.cuProfilerStop`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_543cudaProfilerStop = {"cudaProfilerStop", (PyCFunction)__pyx_pw_4cuda_6cudart_543cudaProfilerStop, METH_NOARGS, __pyx_doc_4cuda_6cudart_542cudaProfilerStop};
static PyObject *__pyx_pw_4cuda_6cudart_543cudaProfilerStop(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaProfilerStop (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_542cudaProfilerStop(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_542cudaProfilerStop(CYTHON_UNUSED PyObject *__pyx_self) {
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  cudaError_t __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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__699)
  __Pyx_RefNannySetupContext("cudaProfilerStop", 0);
  __Pyx_TraceCall("cudaProfilerStop", __pyx_f[0], 24287, 0, __PYX_ERR(0, 24287, __pyx_L1_error));

  /* "cuda/cudart.pyx":24307
 *     :py:obj:`~.cudaProfilerInitialize`, :py:obj:`~.cudaProfilerStart`, :py:obj:`~.cuProfilerStop`
 *     """
 *     err = ccudart.cudaProfilerStop()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaProfilerStop(); if (unlikely(__pyx_t_1 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24307, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":24308
 *     """
 *     err = ccudart.cudaProfilerStop()
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
  __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(0, 24308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24287
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStop():             # <<<<<<<<<<<<<<
 *     """ 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.cudart.cudaProfilerStop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24311
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsEGLRegisterImage(image, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an EGL image.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_545cudaGraphicsEGLRegisterImage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_544cudaGraphicsEGLRegisterImage[] = "cudaGraphicsEGLRegisterImage(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:`~.cudaGraphicsResourceGetMappedEglFrame` 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:`~.cudaGraphicsRegisterFlagsNone`: 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:`~.cudaGraphicsRegisterFlagsReadOnly`: Specifies that CUDA\n      will not write to this resource.\n\n    - :py:obj:`~.cudaGraphicsRegisterFlagsWriteDiscard`: 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    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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidResourceHandle`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n    pCudaResource : :py:obj:`~.cudaGraphicsResource_t`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsUnregisterResource`, :py:obj:`~.cudaGraphicsResourceGetMappedEglFrame`, :py:obj:`~.cuGraphicsEGLRegisterImage`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_545cudaGraphicsEGLRegisterImage = {"cudaGraphicsEGLRegisterImage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_545cudaGraphicsEGLRegisterImage, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_544cudaGraphicsEGLRegisterImage};
static PyObject *__pyx_pw_4cuda_6cudart_545cudaGraphicsEGLRegisterImage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_image = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsEGLRegisterImage (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_image,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_image)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsEGLRegisterImage", 1, 2, 2, 1); __PYX_ERR(0, 24311, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsEGLRegisterImage") < 0)) __PYX_ERR(0, 24311, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 24311, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsEGLRegisterImage", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24311, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsEGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_544cudaGraphicsEGLRegisterImage(__pyx_self, __pyx_v_image, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_544cudaGraphicsEGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_EGLImageKHR __pyx_v_cimage;
  PyObject *__pyx_v_pimage = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_pCudaResource = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__700)
  __Pyx_RefNannySetupContext("cudaGraphicsEGLRegisterImage", 0);
  __Pyx_TraceCall("cudaGraphicsEGLRegisterImage", __pyx_f[0], 24311, 0, __PYX_ERR(0, 24311, __pyx_L1_error));

  /* "cuda/cudart.pyx":24369
 *     """
 *     cdef ccudart.EGLImageKHR cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR)):
 */
  __pyx_t_1 = (__pyx_v_image == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24370
 *     cdef ccudart.EGLImageKHR cimage
 *     if image is None:
 *         cimage = <ccudart.EGLImageKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(image, (EGLImageKHR)):
 *         pimage = int(image)
 */
    __pyx_v_cimage = ((__pyx_t_4cuda_7ccudart_EGLImageKHR)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24369
 *     """
 *     cdef ccudart.EGLImageKHR cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24371
 *     if image is None:
 *         cimage = <ccudart.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_image, __pyx_ptype_4cuda_6cudart_EGLImageKHR); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24372
 *         cimage = <ccudart.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR)):
 *         pimage = int(image)             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_image); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pimage = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24373
 *     elif isinstance(image, (EGLImageKHR)):
 *         pimage = int(image)
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     else:
 *         pimage = int(EGLImageKHR(image))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24373, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_7ccudart_EGLImageKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24371
 *     if image is None:
 *         cimage = <ccudart.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24375
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage
 *     else:
 *         pimage = int(EGLImageKHR(image))             # <<<<<<<<<<<<<<
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_EGLImageKHR), __pyx_v_image); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pimage = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24376
 *     else:
 *         pimage = int(EGLImageKHR(image))
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaGraphicsResource_t pCudaResource = cudaGraphicsResource_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24376, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_7ccudart_EGLImageKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24378
 *         cimage = <ccudart.EGLImageKHR><void_ptr>pimage
 * 
 *     cdef cudaGraphicsResource_t pCudaResource = cudaGraphicsResource_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsEGLRegisterImage(pCudaResource._ptr, cimage, flags)
 *     return (cudaError_t(err), pCudaResource)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":24379
 * 
 *     cdef cudaGraphicsResource_t pCudaResource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsEGLRegisterImage(pCudaResource._ptr, cimage, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pCudaResource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsEGLRegisterImage(__pyx_v_pCudaResource->_ptr, __pyx_v_cimage, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24379, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":24380
 *     cdef cudaGraphicsResource_t pCudaResource = cudaGraphicsResource_t()
 *     err = ccudart.cudaGraphicsEGLRegisterImage(pCudaResource._ptr, cimage, flags)
 *     return (cudaError_t(err), pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_pCudaResource));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pCudaResource));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pCudaResource));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24311
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsEGLRegisterImage(image, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an EGL image.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsEGLRegisterImage", __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/cudart.pyx":24383
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnect(eglStream):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_547cudaEGLStreamConsumerConnect(PyObject *__pyx_self, PyObject *__pyx_v_eglStream); /*proto*/
static char __pyx_doc_4cuda_6cudart_546cudaEGLStreamConsumerConnect[] = "cudaEGLStreamConsumerConnect(eglStream)\n Connect CUDA to EGLStream as a consumer.\n\n    Connect CUDA as a consumer to EGLStreamKHR specified by `eglStream`.\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    eglStream : :py:obj:`~.EGLStreamKHR`\n        EGLStreamKHR handle\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n    conn : :py:obj:`~.cudaEglStreamConnection`\n        Pointer to the returned connection handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamConsumerDisconnect`, :py:obj:`~.cudaEGLStreamConsumerAcquireFrame`, :py:obj:`~.cudaEGLStreamConsumerReleaseFrame`, :py:obj:`~.cuEGLStreamConsumerConnect`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_547cudaEGLStreamConsumerConnect = {"cudaEGLStreamConsumerConnect", (PyCFunction)__pyx_pw_4cuda_6cudart_547cudaEGLStreamConsumerConnect, METH_O, __pyx_doc_4cuda_6cudart_546cudaEGLStreamConsumerConnect};
static PyObject *__pyx_pw_4cuda_6cudart_547cudaEGLStreamConsumerConnect(PyObject *__pyx_self, PyObject *__pyx_v_eglStream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerConnect (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_546cudaEGLStreamConsumerConnect(__pyx_self, ((PyObject *)__pyx_v_eglStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_546cudaEGLStreamConsumerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglStream) {
  __pyx_t_4cuda_7ccudart_EGLStreamKHR __pyx_v_ceglStream;
  PyObject *__pyx_v_peglStream = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection *__pyx_v_conn = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__701)
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerConnect", 0);
  __Pyx_TraceCall("cudaEGLStreamConsumerConnect", __pyx_f[0], 24383, 0, __PYX_ERR(0, 24383, __pyx_L1_error));

  /* "cuda/cudart.pyx":24408
 *     """
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 */
  __pyx_t_1 = (__pyx_v_eglStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24409
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)
 */
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24408
 *     """
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24410
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):             # <<<<<<<<<<<<<<
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_eglStream, __pyx_ptype_4cuda_6cudart_EGLStreamKHR); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24411
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_eglStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_peglStream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24412
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream             # <<<<<<<<<<<<<<
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglStream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24412, __pyx_L1_error)
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24410
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):             # <<<<<<<<<<<<<<
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24414
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_EGLStreamKHR), __pyx_v_eglStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_peglStream = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24415
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglStream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24415, __pyx_L1_error)
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24417
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEGLStreamConsumerConnect(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream)
 *     return (cudaError_t(err), conn)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglStreamConnection)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_conn = ((struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":24418
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 *     err = ccudart.cudaEGLStreamConsumerConnect(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), conn)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerConnect(((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)__pyx_v_conn->__pyx_base._ptr), __pyx_v_ceglStream); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24418, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":24419
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 *     err = ccudart.cudaEGLStreamConsumerConnect(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream)
 *     return (cudaError_t(err), conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_conn));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_conn));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_conn));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24383
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnect(eglStream):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_peglStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_conn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24422
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnectWithFlags(eglStream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_549cudaEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_548cudaEGLStreamConsumerConnectWithFlags[] = "cudaEGLStreamConsumerConnectWithFlags(eglStream, 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 :py:obj:`~.cudaEglResourceLocationFlags`.\n\n    The flags specify whether the consumer wants to access frames from\n    system memory or video memory. Default is\n    :py:obj:`~.cudaEglResourceLocationVidmem`.\n\n    Parameters\n    ----------\n    eglStream : :py:obj:`~.EGLStreamKHR`\n        EGLStreamKHR handle\n    flags : unsigned int\n        Flags denote intended location - system or video.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n    conn : :py:obj:`~.cudaEglStreamConnection`\n        Pointer to the returned connection handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamConsumerDisconnect`, :py:obj:`~.cudaEGLStreamConsumerAcquireFrame`, :py:obj:`~.cudaEGLStreamConsumerReleaseFrame`, :py:obj:`~.cuEGLStreamConsumerConnectWithFlags`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_549cudaEGLStreamConsumerConnectWithFlags = {"cudaEGLStreamConsumerConnectWithFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_549cudaEGLStreamConsumerConnectWithFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_548cudaEGLStreamConsumerConnectWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_549cudaEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_eglStream = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerConnectWithFlags (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_eglStream,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eglStream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerConnectWithFlags", 1, 2, 2, 1); __PYX_ERR(0, 24422, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEGLStreamConsumerConnectWithFlags") < 0)) __PYX_ERR(0, 24422, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_eglStream = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 24422, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerConnectWithFlags", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24422, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerConnectWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_548cudaEGLStreamConsumerConnectWithFlags(__pyx_self, __pyx_v_eglStream, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_548cudaEGLStreamConsumerConnectWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglStream, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_EGLStreamKHR __pyx_v_ceglStream;
  PyObject *__pyx_v_peglStream = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection *__pyx_v_conn = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__702)
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerConnectWithFlags", 0);
  __Pyx_TraceCall("cudaEGLStreamConsumerConnectWithFlags", __pyx_f[0], 24422, 0, __PYX_ERR(0, 24422, __pyx_L1_error));

  /* "cuda/cudart.pyx":24451
 *     """
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 */
  __pyx_t_1 = (__pyx_v_eglStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24452
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)
 */
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24451
 *     """
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24453
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):             # <<<<<<<<<<<<<<
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_eglStream, __pyx_ptype_4cuda_6cudart_EGLStreamKHR); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24454
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_eglStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_peglStream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24455
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream             # <<<<<<<<<<<<<<
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglStream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24455, __pyx_L1_error)
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24453
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):             # <<<<<<<<<<<<<<
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24457
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_EGLStreamKHR), __pyx_v_eglStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_peglStream = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24458
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglStream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24458, __pyx_L1_error)
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24460
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEGLStreamConsumerConnectWithFlags(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream, flags)
 *     return (cudaError_t(err), conn)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglStreamConnection)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_conn = ((struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":24461
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 *     err = ccudart.cudaEGLStreamConsumerConnectWithFlags(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), conn)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerConnectWithFlags(((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)__pyx_v_conn->__pyx_base._ptr), __pyx_v_ceglStream, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24461, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":24462
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 *     err = ccudart.cudaEGLStreamConsumerConnectWithFlags(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream, flags)
 *     return (cudaError_t(err), conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_conn));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_conn));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_conn));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24422
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnectWithFlags(eglStream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerConnectWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_peglStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_conn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24465
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a consumer to EGLStream .
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_551cudaEGLStreamConsumerDisconnect(PyObject *__pyx_self, PyObject *__pyx_v_conn); /*proto*/
static char __pyx_doc_4cuda_6cudart_550cudaEGLStreamConsumerDisconnect[] = "cudaEGLStreamConsumerDisconnect(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:`~.cudaEglStreamConnection`\n        Conection to disconnect.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamConsumerConnect`, :py:obj:`~.cudaEGLStreamConsumerAcquireFrame`, :py:obj:`~.cudaEGLStreamConsumerReleaseFrame`, :py:obj:`~.cuEGLStreamConsumerDisconnect`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_551cudaEGLStreamConsumerDisconnect = {"cudaEGLStreamConsumerDisconnect", (PyCFunction)__pyx_pw_4cuda_6cudart_551cudaEGLStreamConsumerDisconnect, METH_O, __pyx_doc_4cuda_6cudart_550cudaEGLStreamConsumerDisconnect};
static PyObject *__pyx_pw_4cuda_6cudart_551cudaEGLStreamConsumerDisconnect(PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerDisconnect (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_550cudaEGLStreamConsumerDisconnect(__pyx_self, ((PyObject *)__pyx_v_conn));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_550cudaEGLStreamConsumerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  __pyx_t_4cuda_7ccudart_cudaEglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_7;
  cudaError_t __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("cudaEGLStreamConsumerDisconnect", 0);
  __Pyx_TraceCall("cudaEGLStreamConsumerDisconnect", __pyx_f[0], 24465, 0, __PYX_ERR(0, 24465, __pyx_L1_error));

  /* "cuda/cudart.pyx":24485
 *     """
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24486
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24485
 *     """
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24487
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_6cudart_cudaEglStreamConnection); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24488
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pconn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24489
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24489, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24487
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24490
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":24491
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24491, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24490
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24493
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEGLStreamConsumerDisconnect(cconn)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24493, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24495
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 * 
 *     err = ccudart.cudaEGLStreamConsumerDisconnect(cconn)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerDisconnect(__pyx_v_cconn); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24495, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":24496
 * 
 *     err = ccudart.cudaEGLStreamConsumerDisconnect(cconn)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24465
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a consumer to EGLStream .
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerDisconnect", __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/cudart.pyx":24499
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerAcquireFrame(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_6cudart_553cudaEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_552cudaEGLStreamConsumerAcquireFrame[] = "cudaEGLStreamConsumerAcquireFrame(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.\n    :py:obj:`~.cudaGraphicsResourceGetMappedEglFrame` can be called on\n    `pCudaResource` to get :py:obj:`~.cudaEglFrame`.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.cudaEglStreamConnection`\n        Connection on which to acquire\n    pCudaResource : :py:obj:`~.cudaGraphicsResource_t`\n        CUDA resource on which the EGLStream frame will be mapped for use.\n    pStream : :py:obj:`~.cudaStream_t`\n        CUDA stream for synchronization and any data migrations implied by\n        :py:obj:`~.cudaEglResourceLocationFlags`.\n    timeout : unsigned int\n        Desired timeout in usec.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`, :py:obj:`~.cudaErrorLaunchTimeout`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamConsumerConnect`, :py:obj:`~.cudaEGLStreamConsumerDisconnect`, :py:obj:`~.cudaEGLStreamConsumerReleaseFrame`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_553cudaEGLStreamConsumerAcquireFrame = {"cudaEGLStreamConsumerAcquireFrame", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_553cudaEGLStreamConsumerAcquireFrame, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_552cudaEGLStreamConsumerAcquireFrame};
static PyObject *__pyx_pw_4cuda_6cudart_553cudaEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_conn = 0;
  PyObject *__pyx_v_pCudaResource = 0;
  PyObject *__pyx_v_pStream = 0;
  unsigned int __pyx_v_timeout;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerAcquireFrame (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_pCudaResource,&__pyx_n_s_pStream,&__pyx_n_s_timeout,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_conn)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pCudaResource)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerAcquireFrame", 1, 4, 4, 1); __PYX_ERR(0, 24499, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pStream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerAcquireFrame", 1, 4, 4, 2); __PYX_ERR(0, 24499, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_timeout)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerAcquireFrame", 1, 4, 4, 3); __PYX_ERR(0, 24499, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEGLStreamConsumerAcquireFrame") < 0)) __PYX_ERR(0, 24499, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__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(0, 24499, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerAcquireFrame", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24499, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerAcquireFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_552cudaEGLStreamConsumerAcquireFrame(__pyx_self, __pyx_v_conn, __pyx_v_pCudaResource, __pyx_v_pStream, __pyx_v_timeout);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_552cudaEGLStreamConsumerAcquireFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream, unsigned int __pyx_v_timeout) {
  cudaStream_t *__pyx_v_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  cudaGraphicsResource_t *__pyx_v_cpCudaResource;
  PyObject *__pyx_v_ppCudaResource = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_7;
  cudaError_t __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__704)
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerAcquireFrame", 0);
  __Pyx_TraceCall("cudaEGLStreamConsumerAcquireFrame", __pyx_f[0], 24499, 0, __PYX_ERR(0, 24499, __pyx_L1_error));

  /* "cuda/cudart.pyx":24528
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24529
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24528
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24530
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24531
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_ppStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24532
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24532, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24530
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24533
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":24534
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24534, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24533
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24536
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cpCudaResource
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24536, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24539
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 */
  __pyx_t_2 = (__pyx_v_pCudaResource == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24540
 *     cdef ccudart.cudaGraphicsResource_t *cpCudaResource
 *     if pCudaResource is None:
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 *         ppCudaResource = pCudaResource.getPtr()
 */
    __pyx_v_cpCudaResource = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24539
 * 
 *     cdef ccudart.cudaGraphicsResource_t *cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24541
 *     if pCudaResource is None:
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>ppCudaResource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pCudaResource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24542
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 *         ppCudaResource = pCudaResource.getPtr()             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pCudaResource, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_ppCudaResource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24543
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (int)):
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>pCudaResource
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24543, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24541
 *     if pCudaResource is None:
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>ppCudaResource
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24544
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>pCudaResource
 *     else:
 */
  __pyx_t_2 = PyInt_Check(__pyx_v_pCudaResource); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (likely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":24545
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>pCudaResource             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(pCudaResource)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pCudaResource); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24545, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((cudaGraphicsResource_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24544
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>pCudaResource
 *     else:
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24547
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t*><void_ptr>pCudaResource
 *     else:
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, cudart.cudaGraphicsResource_t'>, found " + str(type(pCudaResource)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_pCudaResource))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_pCudaResource_is_not_in, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24547, __pyx_L1_error)
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":24550
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24551
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24550
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":24552
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_6cudart_cudaEglStreamConnection); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L8_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24553
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pconn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24554
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24554, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24552
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":24555
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":24556
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24556, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24555
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":24558
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEGLStreamConsumerAcquireFrame(cconn, cpCudaResource, cpStream, timeout)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24558, __pyx_L1_error)
  }
  __pyx_L7:;

  /* "cuda/cudart.pyx":24560
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 * 
 *     err = ccudart.cudaEGLStreamConsumerAcquireFrame(cconn, cpCudaResource, cpStream, timeout)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerAcquireFrame(__pyx_v_cconn, __pyx_v_cpCudaResource, __pyx_v_cpStream, __pyx_v_timeout); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24560, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":24561
 * 
 *     err = ccudart.cudaEGLStreamConsumerAcquireFrame(cconn, cpCudaResource, cpStream, timeout)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24499
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerAcquireFrame(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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerAcquireFrame", __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/cudart.pyx":24564
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):             # <<<<<<<<<<<<<<
 *     """ Releases the last frame acquired from the EGLStream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_555cudaEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_554cudaEGLStreamConsumerReleaseFrame[] = "cudaEGLStreamConsumerReleaseFrame(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.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.cudaEglStreamConnection`\n        Connection on which to release\n    pCudaResource : :py:obj:`~.cudaGraphicsResource_t`\n        CUDA resource whose corresponding frame is to be released\n    pStream : :py:obj:`~.cudaStream_t`\n        CUDA stream on which release will be done.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamConsumerConnect`, :py:obj:`~.cudaEGLStreamConsumerDisconnect`, :py:obj:`~.cudaEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_555cudaEGLStreamConsumerReleaseFrame = {"cudaEGLStreamConsumerReleaseFrame", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_555cudaEGLStreamConsumerReleaseFrame, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_554cudaEGLStreamConsumerReleaseFrame};
static PyObject *__pyx_pw_4cuda_6cudart_555cudaEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_conn = 0;
  PyObject *__pyx_v_pCudaResource = 0;
  PyObject *__pyx_v_pStream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerReleaseFrame (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_pCudaResource,&__pyx_n_s_pStream,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_conn)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pCudaResource)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerReleaseFrame", 1, 3, 3, 1); __PYX_ERR(0, 24564, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pStream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerReleaseFrame", 1, 3, 3, 2); __PYX_ERR(0, 24564, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEGLStreamConsumerReleaseFrame") < 0)) __PYX_ERR(0, 24564, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_conn = values[0];
    __pyx_v_pCudaResource = values[1];
    __pyx_v_pStream = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEGLStreamConsumerReleaseFrame", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24564, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerReleaseFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_554cudaEGLStreamConsumerReleaseFrame(__pyx_self, __pyx_v_conn, __pyx_v_pCudaResource, __pyx_v_pStream);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_554cudaEGLStreamConsumerReleaseFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream) {
  cudaStream_t *__pyx_v_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  cudaGraphicsResource_t __pyx_v_cpCudaResource;
  PyObject *__pyx_v_ppCudaResource = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_7;
  cudaError_t __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__705)
  __Pyx_RefNannySetupContext("cudaEGLStreamConsumerReleaseFrame", 0);
  __Pyx_TraceCall("cudaEGLStreamConsumerReleaseFrame", __pyx_f[0], 24564, 0, __PYX_ERR(0, 24564, __pyx_L1_error));

  /* "cuda/cudart.pyx":24589
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24590
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24589
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24591
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24592
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_ppStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24593
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24593, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24591
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24594
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":24595
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24595, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24594
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24597
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraphicsResource_t cpCudaResource
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24597, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24600
 * 
 *     cdef ccudart.cudaGraphicsResource_t cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 */
  __pyx_t_2 = (__pyx_v_pCudaResource == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24601
 *     cdef ccudart.cudaGraphicsResource_t cpCudaResource
 *     if pCudaResource is None:
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 *         ppCudaResource = int(pCudaResource)
 */
    __pyx_v_cpCudaResource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24600
 * 
 *     cdef ccudart.cudaGraphicsResource_t cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24602
 *     if pCudaResource is None:
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = int(pCudaResource)
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>ppCudaResource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pCudaResource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24603
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 *         ppCudaResource = int(pCudaResource)             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>ppCudaResource
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_pCudaResource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_ppCudaResource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24604
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):
 *         ppCudaResource = int(pCudaResource)
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 *     else:
 *         ppCudaResource = int(cudaGraphicsResource_t(pCudaResource))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24604, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24602
 *     if pCudaResource is None:
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(pCudaResource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = int(pCudaResource)
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>ppCudaResource
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24606
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>ppCudaResource
 *     else:
 *         ppCudaResource = int(cudaGraphicsResource_t(pCudaResource))             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>ppCudaResource
 * 
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), __pyx_v_pCudaResource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_ppCudaResource = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24607
 *     else:
 *         ppCudaResource = int(cudaGraphicsResource_t(pCudaResource))
 *         cpCudaResource = <ccudart.cudaGraphicsResource_t><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24607, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":24610
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
  __pyx_t_2 = (__pyx_v_conn == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24611
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24610
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":24612
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_6cudart_cudaEglStreamConnection); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L8_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24613
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_5 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pconn = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24614
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24614, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24612
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":24615
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_2 = PyInt_Check(__pyx_v_conn); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (likely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":24616
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24616, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24615
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L7;
  }

  /* "cuda/cudart.pyx":24618
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEGLStreamConsumerReleaseFrame(cconn, cpCudaResource, cpStream)
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24618, __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(0, 24618, __pyx_L1_error)
  }
  __pyx_L7:;

  /* "cuda/cudart.pyx":24620
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 * 
 *     err = ccudart.cudaEGLStreamConsumerReleaseFrame(cconn, cpCudaResource, cpStream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerReleaseFrame(__pyx_v_cconn, __pyx_v_cpCudaResource, __pyx_v_cpStream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24620, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":24621
 * 
 *     err = ccudart.cudaEGLStreamConsumerReleaseFrame(cconn, cpCudaResource, cpStream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24564
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):             # <<<<<<<<<<<<<<
 *     """ Releases the last frame acquired from the EGLStream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamConsumerReleaseFrame", __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/cudart.pyx":24624
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerConnect(eglStream, width, height):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a producer.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_557cudaEGLStreamProducerConnect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_556cudaEGLStreamProducerConnect[] = "cudaEGLStreamProducerConnect(eglStream, 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    eglStream : :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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n    conn : :py:obj:`~.cudaEglStreamConnection`\n        Pointer to the returned connection handle\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamProducerDisconnect`, :py:obj:`~.cudaEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerReturnFrame`, :py:obj:`~.cuEGLStreamProducerConnect`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_557cudaEGLStreamProducerConnect = {"cudaEGLStreamProducerConnect", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_557cudaEGLStreamProducerConnect, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_556cudaEGLStreamProducerConnect};
static PyObject *__pyx_pw_4cuda_6cudart_557cudaEGLStreamProducerConnect(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_eglStream = 0;
  PyObject *__pyx_v_width = 0;
  PyObject *__pyx_v_height = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerConnect (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_eglStream,&__pyx_n_s_width_2,&__pyx_n_s_height_2,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eglStream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerConnect", 1, 3, 3, 1); __PYX_ERR(0, 24624, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_height_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerConnect", 1, 3, 3, 2); __PYX_ERR(0, 24624, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEGLStreamProducerConnect") < 0)) __PYX_ERR(0, 24624, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_eglStream = values[0];
    __pyx_v_width = values[1];
    __pyx_v_height = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerConnect", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24624, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamProducerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_556cudaEGLStreamProducerConnect(__pyx_self, __pyx_v_eglStream, __pyx_v_width, __pyx_v_height);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_556cudaEGLStreamProducerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglStream, PyObject *__pyx_v_width, PyObject *__pyx_v_height) {
  __pyx_t_4cuda_7ccudart_EGLint __pyx_v_cheight;
  PyObject *__pyx_v_pheight = NULL;
  __pyx_t_4cuda_7ccudart_EGLint __pyx_v_cwidth;
  PyObject *__pyx_v_pwidth = NULL;
  __pyx_t_4cuda_7ccudart_EGLStreamKHR __pyx_v_ceglStream;
  PyObject *__pyx_v_peglStream = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection *__pyx_v_conn = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__706)
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerConnect", 0);
  __Pyx_TraceCall("cudaEGLStreamProducerConnect", __pyx_f[0], 24624, 0, __PYX_ERR(0, 24624, __pyx_L1_error));

  /* "cuda/cudart.pyx":24653
 *     """
 *     cdef ccudart.EGLint cheight
 *     if height is None:             # <<<<<<<<<<<<<<
 *         cheight = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint)):
 */
  __pyx_t_1 = (__pyx_v_height == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24654
 *     cdef ccudart.EGLint cheight
 *     if height is None:
 *         cheight = <ccudart.EGLint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(height, (EGLint)):
 *         pheight = int(height)
 */
    __pyx_v_cheight = ((__pyx_t_4cuda_7ccudart_EGLint)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24653
 *     """
 *     cdef ccudart.EGLint cheight
 *     if height is None:             # <<<<<<<<<<<<<<
 *         cheight = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24655
 *     if height is None:
 *         cheight = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint)):             # <<<<<<<<<<<<<<
 *         pheight = int(height)
 *         cheight = <ccudart.EGLint><void_ptr>pheight
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_height, __pyx_ptype_4cuda_6cudart_EGLint); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24656
 *         cheight = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint)):
 *         pheight = int(height)             # <<<<<<<<<<<<<<
 *         cheight = <ccudart.EGLint><void_ptr>pheight
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_height); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pheight = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24657
 *     elif isinstance(height, (EGLint)):
 *         pheight = int(height)
 *         cheight = <ccudart.EGLint><void_ptr>pheight             # <<<<<<<<<<<<<<
 *     else:
 *         pheight = int(EGLint(height))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pheight); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24657, __pyx_L1_error)
    __pyx_v_cheight = ((__pyx_t_4cuda_7ccudart_EGLint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24655
 *     if height is None:
 *         cheight = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint)):             # <<<<<<<<<<<<<<
 *         pheight = int(height)
 *         cheight = <ccudart.EGLint><void_ptr>pheight
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24659
 *         cheight = <ccudart.EGLint><void_ptr>pheight
 *     else:
 *         pheight = int(EGLint(height))             # <<<<<<<<<<<<<<
 *         cheight = <ccudart.EGLint><void_ptr>pheight
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_EGLint), __pyx_v_height); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pheight = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24660
 *     else:
 *         pheight = int(EGLint(height))
 *         cheight = <ccudart.EGLint><void_ptr>pheight             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.EGLint cwidth
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pheight); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24660, __pyx_L1_error)
    __pyx_v_cheight = ((__pyx_t_4cuda_7ccudart_EGLint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24663
 * 
 *     cdef ccudart.EGLint cwidth
 *     if width is None:             # <<<<<<<<<<<<<<
 *         cwidth = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint)):
 */
  __pyx_t_1 = (__pyx_v_width == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24664
 *     cdef ccudart.EGLint cwidth
 *     if width is None:
 *         cwidth = <ccudart.EGLint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(width, (EGLint)):
 *         pwidth = int(width)
 */
    __pyx_v_cwidth = ((__pyx_t_4cuda_7ccudart_EGLint)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24663
 * 
 *     cdef ccudart.EGLint cwidth
 *     if width is None:             # <<<<<<<<<<<<<<
 *         cwidth = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":24665
 *     if width is None:
 *         cwidth = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint)):             # <<<<<<<<<<<<<<
 *         pwidth = int(width)
 *         cwidth = <ccudart.EGLint><void_ptr>pwidth
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_width, __pyx_ptype_4cuda_6cudart_EGLint); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24666
 *         cwidth = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint)):
 *         pwidth = int(width)             # <<<<<<<<<<<<<<
 *         cwidth = <ccudart.EGLint><void_ptr>pwidth
 *     else:
 */
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_width); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_pwidth = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24667
 *     elif isinstance(width, (EGLint)):
 *         pwidth = int(width)
 *         cwidth = <ccudart.EGLint><void_ptr>pwidth             # <<<<<<<<<<<<<<
 *     else:
 *         pwidth = int(EGLint(width))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pwidth); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24667, __pyx_L1_error)
    __pyx_v_cwidth = ((__pyx_t_4cuda_7ccudart_EGLint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24665
 *     if width is None:
 *         cwidth = <ccudart.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint)):             # <<<<<<<<<<<<<<
 *         pwidth = int(width)
 *         cwidth = <ccudart.EGLint><void_ptr>pwidth
 */
    goto __pyx_L4;
  }

  /* "cuda/cudart.pyx":24669
 *         cwidth = <ccudart.EGLint><void_ptr>pwidth
 *     else:
 *         pwidth = int(EGLint(width))             # <<<<<<<<<<<<<<
 *         cwidth = <ccudart.EGLint><void_ptr>pwidth
 * 
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_EGLint), __pyx_v_width); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pwidth = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24670
 *     else:
 *         pwidth = int(EGLint(width))
 *         cwidth = <ccudart.EGLint><void_ptr>pwidth             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.EGLStreamKHR ceglStream
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pwidth); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24670, __pyx_L1_error)
    __pyx_v_cwidth = ((__pyx_t_4cuda_7ccudart_EGLint)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L4:;

  /* "cuda/cudart.pyx":24673
 * 
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 */
  __pyx_t_1 = (__pyx_v_eglStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24674
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)
 */
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24673
 * 
 *     cdef ccudart.EGLStreamKHR ceglStream
 *     if eglStream is None:             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cudart.pyx":24675
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):             # <<<<<<<<<<<<<<
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_eglStream, __pyx_ptype_4cuda_6cudart_EGLStreamKHR); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24676
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_eglStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_peglStream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24677
 *     elif isinstance(eglStream, (EGLStreamKHR)):
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream             # <<<<<<<<<<<<<<
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglStream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24677, __pyx_L1_error)
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24675
 *     if eglStream is None:
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>0
 *     elif isinstance(eglStream, (EGLStreamKHR)):             # <<<<<<<<<<<<<<
 *         peglStream = int(eglStream)
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 */
    goto __pyx_L5;
  }

  /* "cuda/cudart.pyx":24679
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))             # <<<<<<<<<<<<<<
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_EGLStreamKHR), __pyx_v_eglStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_peglStream = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24680
 *     else:
 *         peglStream = int(EGLStreamKHR(eglStream))
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglStream); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24680, __pyx_L1_error)
    __pyx_v_ceglStream = ((__pyx_t_4cuda_7ccudart_EGLStreamKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L5:;

  /* "cuda/cudart.pyx":24682
 *         ceglStream = <ccudart.EGLStreamKHR><void_ptr>peglStream
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEGLStreamProducerConnect(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream, cwidth, cheight)
 *     return (cudaError_t(err), conn)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglStreamConnection)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_conn = ((struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":24683
 * 
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 *     err = ccudart.cudaEGLStreamProducerConnect(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream, cwidth, cheight)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), conn)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEGLStreamProducerConnect(((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)__pyx_v_conn->__pyx_base._ptr), __pyx_v_ceglStream, __pyx_v_cwidth, __pyx_v_cheight); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24683, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":24684
 *     cdef cudaEglStreamConnection conn = cudaEglStreamConnection()
 *     err = ccudart.cudaEGLStreamProducerConnect(<ccudart.cudaEglStreamConnection*>conn._ptr, ceglStream, cwidth, cheight)
 *     return (cudaError_t(err), conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_conn));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_conn));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_conn));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24624
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerConnect(eglStream, width, height):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a producer.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamProducerConnect", __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_peglStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_conn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":24687
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a producer to EGLStream .
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_559cudaEGLStreamProducerDisconnect(PyObject *__pyx_self, PyObject *__pyx_v_conn); /*proto*/
static char __pyx_doc_4cuda_6cudart_558cudaEGLStreamProducerDisconnect[] = "cudaEGLStreamProducerDisconnect(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:`~.cudaEglStreamConnection`\n        Conection to disconnect.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamProducerConnect`, :py:obj:`~.cudaEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerReturnFrame`, :py:obj:`~.cuEGLStreamProducerDisconnect`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_559cudaEGLStreamProducerDisconnect = {"cudaEGLStreamProducerDisconnect", (PyCFunction)__pyx_pw_4cuda_6cudart_559cudaEGLStreamProducerDisconnect, METH_O, __pyx_doc_4cuda_6cudart_558cudaEGLStreamProducerDisconnect};
static PyObject *__pyx_pw_4cuda_6cudart_559cudaEGLStreamProducerDisconnect(PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerDisconnect (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_558cudaEGLStreamProducerDisconnect(__pyx_self, ((PyObject *)__pyx_v_conn));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_558cudaEGLStreamProducerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  __pyx_t_4cuda_7ccudart_cudaEglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_7;
  cudaError_t __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__707)
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerDisconnect", 0);
  __Pyx_TraceCall("cudaEGLStreamProducerDisconnect", __pyx_f[0], 24687, 0, __PYX_ERR(0, 24687, __pyx_L1_error));

  /* "cuda/cudart.pyx":24707
 *     """
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24708
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24707
 *     """
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24709
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_6cudart_cudaEglStreamConnection); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24710
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pconn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24711
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24711, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24709
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24712
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":24713
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24713, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24712
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24715
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEGLStreamProducerDisconnect(cconn)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24715, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24717
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 * 
 *     err = ccudart.cudaEGLStreamProducerDisconnect(cconn)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaEGLStreamProducerDisconnect(__pyx_v_cconn); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24717, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":24718
 * 
 *     err = ccudart.cudaEGLStreamProducerDisconnect(cconn)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24687
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a producer to EGLStream .
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamProducerDisconnect", __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/cudart.pyx":24721
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerPresentFrame(conn, eglframe not None : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_561cudaEGLStreamProducerPresentFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_560cudaEGLStreamProducerPresentFrame[] = "cudaEGLStreamProducerPresentFrame(conn, cudaEglFrame eglframe: cudaEglFrame, pStream)\n Present a CUDA eglFrame to the EGLStream with CUDA as a producer.\n\n    The :py:obj:`~.cudaEglFrame` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For :py:obj:`~.cudaEglFrame` of type :py:obj:`~.cudaEglFrameTypePitch`,\n    the application may present sub-region of a memory allocation. In that\n    case, :py:obj:`~.cudaPitchedPtr.ptr` will specify the start address of\n    the sub-region in the allocation and :py:obj:`~.cudaEglPlaneDesc` will\n    specify the dimensions of the sub-region.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.cudaEglStreamConnection`\n        Connection on which to present the CUDA array\n    eglframe : :py:obj:`~.cudaEglFrame`\n        CUDA Eglstream Proucer Frame handle to be sent to the consumer over\n        EglStream.\n    pStream : :py:obj:`~.cudaStream_t`\n        CUDA stream on which to present the frame.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamProducerConnect`, :py:obj:`~.cudaEGLStreamProducerDisconnect`, :py:obj:`~.cudaEGLStreamProducerReturnFrame`, :py:obj:`~.cuEGLStreamProducerPresentFrame`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_561cudaEGLStreamProducerPresentFrame = {"cudaEGLStreamProducerPresentFrame", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_561cudaEGLStreamProducerPresentFrame, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_560cudaEGLStreamProducerPresentFrame};
static PyObject *__pyx_pw_4cuda_6cudart_561cudaEGLStreamProducerPresentFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_conn = 0;
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame *__pyx_v_eglframe = 0;
  PyObject *__pyx_v_pStream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerPresentFrame (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_eglframe,&__pyx_n_s_pStream,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_conn)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eglframe)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerPresentFrame", 1, 3, 3, 1); __PYX_ERR(0, 24721, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pStream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerPresentFrame", 1, 3, 3, 2); __PYX_ERR(0, 24721, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEGLStreamProducerPresentFrame") < 0)) __PYX_ERR(0, 24721, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_conn = values[0];
    __pyx_v_eglframe = ((struct __pyx_obj_4cuda_6cudart_cudaEglFrame *)values[1]);
    __pyx_v_pStream = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerPresentFrame", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24721, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamProducerPresentFrame", __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_6cudart_cudaEglFrame, 0, "eglframe", 0))) __PYX_ERR(0, 24721, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_560cudaEGLStreamProducerPresentFrame(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_560cudaEGLStreamProducerPresentFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_6cudart_cudaEglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream) {
  cudaStream_t *__pyx_v_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_7;
  cudaError_t __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__708)
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerPresentFrame", 0);
  __Pyx_TraceCall("cudaEGLStreamProducerPresentFrame", __pyx_f[0], 24721, 0, __PYX_ERR(0, 24721, __pyx_L1_error));

  /* "cuda/cudart.pyx":24754
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24755
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24754
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24756
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24757
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_ppStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24758
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24758, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24756
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24759
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":24760
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24760, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24759
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24762
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24762, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24765
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
  __pyx_t_2 = (__pyx_v_conn == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24766
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24765
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24767
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_6cudart_cudaEglStreamConnection); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24768
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pconn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24769
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24769, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24767
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24770
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_2 = PyInt_Check(__pyx_v_conn); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (likely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":24771
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24771, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24770
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24773
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 * 
 *     err = ccudart.cudaEGLStreamProducerPresentFrame(cconn, eglframe._ptr[0], cpStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24773, __pyx_L1_error)
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":24775
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 * 
 *     err = ccudart.cudaEGLStreamProducerPresentFrame(cconn, eglframe._ptr[0], cpStream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaEGLStreamProducerPresentFrame(__pyx_v_cconn, (__pyx_v_eglframe->__pyx_base._ptr[0]), __pyx_v_cpStream); if (unlikely(__pyx_t_8 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24775, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":24776
 * 
 *     err = ccudart.cudaEGLStreamProducerPresentFrame(cconn, eglframe._ptr[0], cpStream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24721
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerPresentFrame(conn, eglframe not None : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamProducerPresentFrame", __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/cudart.pyx":24779
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerReturnFrame(conn, eglframe : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Return the CUDA eglFrame to the EGLStream last released by the consumer.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_563cudaEGLStreamProducerReturnFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_562cudaEGLStreamProducerReturnFrame[] = "cudaEGLStreamProducerReturnFrame(conn, cudaEglFrame eglframe: cudaEglFrame, pStream)\n Return the CUDA eglFrame to the EGLStream last released by the consumer.\n\n    This API can potentially return cudaErrorLaunchTimeout if the consumer\n    has not returned a frame to EGL stream. If timeout is returned the\n    application can retry.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.cudaEglStreamConnection`\n        Connection on which to present the CUDA array\n    eglframe : :py:obj:`~.cudaEglFrame`\n        CUDA Eglstream Proucer Frame handle returned from the consumer over\n        EglStream.\n    pStream : :py:obj:`~.cudaStream_t`\n        CUDA stream on which to return the frame.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorLaunchTimeout`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n\n    See Also\n    --------\n    :py:obj:`~.cudaEGLStreamProducerConnect`, :py:obj:`~.cudaEGLStreamProducerDisconnect`, :py:obj:`~.cudaEGLStreamProducerPresentFrame`, :py:obj:`~.cuEGLStreamProducerReturnFrame`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_563cudaEGLStreamProducerReturnFrame = {"cudaEGLStreamProducerReturnFrame", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_563cudaEGLStreamProducerReturnFrame, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_562cudaEGLStreamProducerReturnFrame};
static PyObject *__pyx_pw_4cuda_6cudart_563cudaEGLStreamProducerReturnFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_conn = 0;
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame *__pyx_v_eglframe = 0;
  PyObject *__pyx_v_pStream = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerReturnFrame (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_eglframe,&__pyx_n_s_pStream,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_conn)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eglframe)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerReturnFrame", 1, 3, 3, 1); __PYX_ERR(0, 24779, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pStream)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerReturnFrame", 1, 3, 3, 2); __PYX_ERR(0, 24779, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEGLStreamProducerReturnFrame") < 0)) __PYX_ERR(0, 24779, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_conn = values[0];
    __pyx_v_eglframe = ((struct __pyx_obj_4cuda_6cudart_cudaEglFrame *)values[1]);
    __pyx_v_pStream = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEGLStreamProducerReturnFrame", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24779, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamProducerReturnFrame", __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_6cudart_cudaEglFrame, 1, "eglframe", 0))) __PYX_ERR(0, 24779, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_562cudaEGLStreamProducerReturnFrame(__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:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_562cudaEGLStreamProducerReturnFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_6cudart_cudaEglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream) {
  cudaStream_t *__pyx_v_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  __pyx_t_4cuda_7ccudart_cudaEglFrame *__pyx_v_ceglframe_ptr;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_7;
  struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st *__pyx_t_8;
  cudaError_t __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__709)
  __Pyx_RefNannySetupContext("cudaEGLStreamProducerReturnFrame", 0);
  __Pyx_TraceCall("cudaEGLStreamProducerReturnFrame", __pyx_f[0], 24779, 0, __PYX_ERR(0, 24779, __pyx_L1_error));

  /* "cuda/cudart.pyx":24806
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24807
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24806
 *     """
 *     cdef ccudart.cudaStream_t *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24808
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_1 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_1 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_1;
  __pyx_L4_bool_binop_done:;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24809
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_ppStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24810
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24810, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24808
 *     if pStream is None:
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>NULL
 *     elif isinstance(pStream, (cudaStream_t,cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24811
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":24812
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24812, __pyx_L1_error)
    __pyx_v_cpStream = ((cudaStream_t *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24811
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24814
 *         cpStream = <ccudart.cudaStream_t*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cudart.cudaStream_t,cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24814, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24817
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
  __pyx_t_2 = (__pyx_v_conn == Py_None);
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24818
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)NULL));

    /* "cuda/cudart.pyx":24817
 * 
 *     cdef ccudart.cudaEglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24819
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_6cudart_cudaEglStreamConnection); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24820
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(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_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_pconn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":24821
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24821, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24819
 *     if conn is None:
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (cudaEglStreamConnection,cuda.CUeglStreamConnection)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24822
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_2 = PyInt_Check(__pyx_v_conn); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (likely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":24823
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24823, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_7));

    /* "cuda/cudart.pyx":24822
 *         pconn = conn.getPtr()
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L6;
  }

  /* "cuda/cudart.pyx":24825
 *         cconn = <ccudart.cudaEglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaEglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 24825, __pyx_L1_error)
  }
  __pyx_L6:;

  /* "cuda/cudart.pyx":24827
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cudart.cudaEglStreamConnection,cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 * 
 *     cdef ccudart.cudaEglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEGLStreamProducerReturnFrame(cconn, ceglframe_ptr, cpStream)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_eglframe), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24827, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 24827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_8 = __pyx_v_eglframe->__pyx_base._ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_ceglframe_ptr = __pyx_t_8;

  /* "cuda/cudart.pyx":24828
 * 
 *     cdef ccudart.cudaEglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL
 *     err = ccudart.cudaEGLStreamProducerReturnFrame(cconn, ceglframe_ptr, cpStream)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_9 = __pyx_f_4cuda_7ccudart_cudaEGLStreamProducerReturnFrame(__pyx_v_cconn, __pyx_v_ceglframe_ptr, __pyx_v_cpStream); if (unlikely(__pyx_t_9 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24828, __pyx_L1_error)
  __pyx_v_err = __pyx_t_9;

  /* "cuda/cudart.pyx":24829
 *     cdef ccudart.cudaEglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL
 *     err = ccudart.cudaEGLStreamProducerReturnFrame(cconn, ceglframe_ptr, cpStream)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && 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_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24779
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerReturnFrame(conn, eglframe : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Return the CUDA eglFrame to the EGLStream last released by the consumer.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaEGLStreamProducerReturnFrame", __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/cudart.pyx":24832
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedEglFrame(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_6cudart_565cudaGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_564cudaGraphicsResourceGetMappedEglFrame[] = "cudaGraphicsResourceGetMappedEglFrame(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 EGL graphics resources.\n\n    The :py:obj:`~.cudaEglFrame` is defined as\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.cudaGraphicsResource_t`\n        Registered resource to access.\n    index : unsigned int\n        Index for cubemap surfaces.\n    mipLevel : unsigned int\n        Mipmap level for the subresource to access.\n\n    Returns\n    -------\n    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorUnknown`\n    eglFrame : :py:obj:`~.cudaEglFrame`\n        Returned eglFrame.\n\n    See Also\n    --------\n    :py:obj:`~.cudaGraphicsSubResourceGetMappedArray`, :py:obj:`~.cudaGraphicsResourceGetMappedPointer`, :py:obj:`~.cuGraphicsResourceGetMappedEglFrame`\n\n    Notes\n    -----\n    Note that in case of multiplanar `*eglFrame`, pitch of only first plane (unsigned int :py:obj:`~.cudaEglPlaneDesc.pitch`) is to be considered by the application.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_565cudaGraphicsResourceGetMappedEglFrame = {"cudaGraphicsResourceGetMappedEglFrame", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_565cudaGraphicsResourceGetMappedEglFrame, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_564cudaGraphicsResourceGetMappedEglFrame};
static PyObject *__pyx_pw_4cuda_6cudart_565cudaGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_resource = 0;
  unsigned int __pyx_v_index;
  unsigned int __pyx_v_mipLevel;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedEglFrame (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource,&__pyx_n_s_index,&__pyx_n_s_mipLevel,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_resource)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsResourceGetMappedEglFrame", 1, 3, 3, 1); __PYX_ERR(0, 24832, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mipLevel)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphicsResourceGetMappedEglFrame", 1, 3, 3, 2); __PYX_ERR(0, 24832, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaGraphicsResourceGetMappedEglFrame") < 0)) __PYX_ERR(0, 24832, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__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(0, 24832, __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(0, 24832, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaGraphicsResourceGetMappedEglFrame", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24832, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceGetMappedEglFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_564cudaGraphicsResourceGetMappedEglFrame(__pyx_self, __pyx_v_resource, __pyx_v_index, __pyx_v_mipLevel);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_564cudaGraphicsResourceGetMappedEglFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_index, unsigned int __pyx_v_mipLevel) {
  cudaGraphicsResource_t __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame *__pyx_v_eglFrame = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__710)
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedEglFrame", 0);
  __Pyx_TraceCall("cudaGraphicsResourceGetMappedEglFrame", __pyx_f[0], 24832, 0, __PYX_ERR(0, 24832, __pyx_L1_error));

  /* "cuda/cudart.pyx":24868
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24869
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24868
 *     """
 *     cdef ccudart.cudaGraphicsResource_t cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24870
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24871
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_presource = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24872
 *     elif isinstance(resource, (cudaGraphicsResource_t)):
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24872, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24870
 *     if resource is None:
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>0
 *     elif isinstance(resource, (cudaGraphicsResource_t)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24874
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), __pyx_v_resource); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_presource = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24875
 *     else:
 *         presource = int(cudaGraphicsResource_t(resource))
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaEglFrame eglFrame = cudaEglFrame()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24875, __pyx_L1_error)
    __pyx_v_cresource = ((cudaGraphicsResource_t)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24877
 *         cresource = <ccudart.cudaGraphicsResource_t><void_ptr>presource
 * 
 *     cdef cudaEglFrame eglFrame = cudaEglFrame()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsResourceGetMappedEglFrame(eglFrame._ptr, cresource, index, mipLevel)
 *     return (cudaError_t(err), eglFrame)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglFrame)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_eglFrame = ((struct __pyx_obj_4cuda_6cudart_cudaEglFrame *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":24878
 * 
 *     cdef cudaEglFrame eglFrame = cudaEglFrame()
 *     err = ccudart.cudaGraphicsResourceGetMappedEglFrame(eglFrame._ptr, cresource, index, mipLevel)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), eglFrame)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedEglFrame(__pyx_v_eglFrame->__pyx_base._ptr, __pyx_v_cresource, __pyx_v_index, __pyx_v_mipLevel); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24878, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":24879
 *     cdef cudaEglFrame eglFrame = cudaEglFrame()
 *     err = ccudart.cudaGraphicsResourceGetMappedEglFrame(eglFrame._ptr, cresource, index, mipLevel)
 *     return (cudaError_t(err), eglFrame)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_eglFrame));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_eglFrame));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_eglFrame));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24832
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedEglFrame(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_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceGetMappedEglFrame", __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/cudart.pyx":24882
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateFromEGLSync(eglSync, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event from EGLSync object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_567cudaEventCreateFromEGLSync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_566cudaEventCreateFromEGLSync[] = "cudaEventCreateFromEGLSync(eglSync, unsigned int flags)\n Creates an event from EGLSync object.\n\n    Creates an event *phEvent from an EGLSyncKHR eglSync with the flages\n    specified via `flags`. Valid flags include:\n\n    - :py:obj:`~.cudaEventDefault`: Default event creation flag.\n\n    - :py:obj:`~.cudaEventBlockingSync`: Specifies that the created event\n      should use blocking synchronization. A CPU thread that uses\n      :py:obj:`~.cudaEventSynchronize()` to wait on an event created with\n      this flag will block until the event has actually been completed.\n\n    :py:obj:`~.cudaEventRecord` 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    cudaError_t\n        :py:obj:`~.cudaSuccess`, :py:obj:`~.cudaErrorInitializationError`, :py:obj:`~.cudaErrorInvalidValue`, :py:obj:`~.cudaErrorLaunchFailure`, :py:obj:`~.cudaErrorMemoryAllocation`\n    phEvent : :py:obj:`~.cudaEvent_t`\n        Returns newly created event\n\n    See Also\n    --------\n    :py:obj:`~.cudaEventQuery`, :py:obj:`~.cudaEventSynchronize`, :py:obj:`~.cudaEventDestroy`\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_567cudaEventCreateFromEGLSync = {"cudaEventCreateFromEGLSync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_567cudaEventCreateFromEGLSync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_566cudaEventCreateFromEGLSync};
static PyObject *__pyx_pw_4cuda_6cudart_567cudaEventCreateFromEGLSync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_eglSync = 0;
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventCreateFromEGLSync (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_eglSync,&__pyx_n_s_flags_2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eglSync)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags_2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaEventCreateFromEGLSync", 1, 2, 2, 1); __PYX_ERR(0, 24882, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cudaEventCreateFromEGLSync") < 0)) __PYX_ERR(0, 24882, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__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(0, 24882, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cudaEventCreateFromEGLSync", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 24882, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaEventCreateFromEGLSync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_566cudaEventCreateFromEGLSync(__pyx_self, __pyx_v_eglSync, __pyx_v_flags);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_566cudaEventCreateFromEGLSync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglSync, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_EGLSyncKHR __pyx_v_ceglSync;
  PyObject *__pyx_v_peglSync = NULL;
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_phEvent = 0;
  cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  cudaError_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_TraceFrameInit(__pyx_codeobj__711)
  __Pyx_RefNannySetupContext("cudaEventCreateFromEGLSync", 0);
  __Pyx_TraceCall("cudaEventCreateFromEGLSync", __pyx_f[0], 24882, 0, __PYX_ERR(0, 24882, __pyx_L1_error));

  /* "cuda/cudart.pyx":24920
 *     """
 *     cdef ccudart.EGLSyncKHR ceglSync
 *     if eglSync is None:             # <<<<<<<<<<<<<<
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR)):
 */
  __pyx_t_1 = (__pyx_v_eglSync == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24921
 *     cdef ccudart.EGLSyncKHR ceglSync
 *     if eglSync is None:
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(eglSync, (EGLSyncKHR)):
 *         peglSync = int(eglSync)
 */
    __pyx_v_ceglSync = ((__pyx_t_4cuda_7ccudart_EGLSyncKHR)((__pyx_t_4cuda_6cudart_void_ptr)0));

    /* "cuda/cudart.pyx":24920
 *     """
 *     cdef ccudart.EGLSyncKHR ceglSync
 *     if eglSync is None:             # <<<<<<<<<<<<<<
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24922
 *     if eglSync is None:
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR)):             # <<<<<<<<<<<<<<
 *         peglSync = int(eglSync)
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_eglSync, __pyx_ptype_4cuda_6cudart_EGLSyncKHR); 
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":24923
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR)):
 *         peglSync = int(eglSync)             # <<<<<<<<<<<<<<
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_eglSync); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_peglSync = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cudart.pyx":24924
 *     elif isinstance(eglSync, (EGLSyncKHR)):
 *         peglSync = int(eglSync)
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync             # <<<<<<<<<<<<<<
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglSync); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24924, __pyx_L1_error)
    __pyx_v_ceglSync = ((__pyx_t_4cuda_7ccudart_EGLSyncKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));

    /* "cuda/cudart.pyx":24922
 *     if eglSync is None:
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR)):             # <<<<<<<<<<<<<<
 *         peglSync = int(eglSync)
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":24926
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))             # <<<<<<<<<<<<<<
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync
 * 
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_6cudart_EGLSyncKHR), __pyx_v_eglSync); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_peglSync = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":24927
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync             # <<<<<<<<<<<<<<
 * 
 *     cdef cudaEvent_t phEvent = cudaEvent_t()
 */
    __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglSync); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 24927, __pyx_L1_error)
    __pyx_v_ceglSync = ((__pyx_t_4cuda_7ccudart_EGLSyncKHR)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_4));
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":24929
 *         ceglSync = <ccudart.EGLSyncKHR><void_ptr>peglSync
 * 
 *     cdef cudaEvent_t phEvent = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventCreateFromEGLSync(<ccudart.cudaEvent_t*>phEvent._ptr, ceglSync, flags)
 *     return (cudaError_t(err), phEvent)
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":24930
 * 
 *     cdef cudaEvent_t phEvent = cudaEvent_t()
 *     err = ccudart.cudaEventCreateFromEGLSync(<ccudart.cudaEvent_t*>phEvent._ptr, ceglSync, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), phEvent)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEventCreateFromEGLSync(((cudaEvent_t *)__pyx_v_phEvent->__pyx_base._ptr), __pyx_v_ceglSync, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((cudaError_t)cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 24930, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":24931
 *     cdef cudaEvent_t phEvent = cudaEvent_t()
 *     err = ccudart.cudaEventCreateFromEGLSync(<ccudart.cudaEvent_t*>phEvent._ptr, ceglSync, flags)
 *     return (cudaError_t(err), phEvent)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && 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 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 24931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_phEvent));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_phEvent));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phEvent));
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":24882
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateFromEGLSync(eglSync, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event from EGLSync object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEventCreateFromEGLSync", __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/cudart.pyx":24934
 * 
 * @cython.embedsignature(True)
 * def sizeof(objType):             # <<<<<<<<<<<<<<
 *     """ Returns the size of provided CUDA Python structure in bytes
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_569sizeof(PyObject *__pyx_self, PyObject *__pyx_v_objType); /*proto*/
static char __pyx_doc_4cuda_6cudart_568sizeof[] = "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_6cudart_569sizeof = {"sizeof", (PyCFunction)__pyx_pw_4cuda_6cudart_569sizeof, METH_O, __pyx_doc_4cuda_6cudart_568sizeof};
static PyObject *__pyx_pw_4cuda_6cudart_569sizeof(PyObject *__pyx_self, PyObject *__pyx_v_objType) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sizeof (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_568sizeof(__pyx_self, ((PyObject *)__pyx_v_objType));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_6cudart_568sizeof(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__712)
  __Pyx_RefNannySetupContext("sizeof", 0);
  __Pyx_TraceCall("sizeof", __pyx_f[0], 24934, 0, __PYX_ERR(0, 24934, __pyx_L1_error));

  /* "cuda/cudart.pyx":24947
 *         The size of `objType` in bytes
 *     """
 *     if objType == dim3:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.dim3)
 *     if objType == cudaChannelFormatDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_dim3), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24947, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24948
 *     """
 *     if objType == dim3:
 *         return sizeof(ccudart.dim3)             # <<<<<<<<<<<<<<
 *     if objType == cudaChannelFormatDesc:
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct dim3))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24947
 *         The size of `objType` in bytes
 *     """
 *     if objType == dim3:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.dim3)
 *     if objType == cudaChannelFormatDesc:
 */
  }

  /* "cuda/cudart.pyx":24949
 *     if objType == dim3:
 *         return sizeof(ccudart.dim3)
 *     if objType == cudaChannelFormatDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24949, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24950
 *         return sizeof(ccudart.dim3)
 *     if objType == cudaChannelFormatDesc:
 *         return sizeof(ccudart.cudaChannelFormatDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaArraySparseProperties:
 *         return sizeof(ccudart.cudaArraySparseProperties)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaChannelFormatDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24949
 *     if objType == dim3:
 *         return sizeof(ccudart.dim3)
 *     if objType == cudaChannelFormatDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:
 */
  }

  /* "cuda/cudart.pyx":24951
 *     if objType == cudaChannelFormatDesc:
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaArrayMemoryRequirements:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24951, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24952
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:
 *         return sizeof(ccudart.cudaArraySparseProperties)             # <<<<<<<<<<<<<<
 *     if objType == cudaArrayMemoryRequirements:
 *         return sizeof(ccudart.cudaArrayMemoryRequirements)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaArraySparseProperties))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24951
 *     if objType == cudaChannelFormatDesc:
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaArrayMemoryRequirements:
 */
  }

  /* "cuda/cudart.pyx":24953
 *     if objType == cudaArraySparseProperties:
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaArrayMemoryRequirements:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArrayMemoryRequirements)
 *     if objType == cudaPitchedPtr:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArrayMemoryRequirements), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24953, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24954
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaArrayMemoryRequirements:
 *         return sizeof(ccudart.cudaArrayMemoryRequirements)             # <<<<<<<<<<<<<<
 *     if objType == cudaPitchedPtr:
 *         return sizeof(ccudart.cudaPitchedPtr)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaArrayMemoryRequirements))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24953
 *     if objType == cudaArraySparseProperties:
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaArrayMemoryRequirements:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArrayMemoryRequirements)
 *     if objType == cudaPitchedPtr:
 */
  }

  /* "cuda/cudart.pyx":24955
 *     if objType == cudaArrayMemoryRequirements:
 *         return sizeof(ccudart.cudaArrayMemoryRequirements)
 *     if objType == cudaPitchedPtr:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPitchedPtr)
 *     if objType == cudaExtent:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24955, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24956
 *         return sizeof(ccudart.cudaArrayMemoryRequirements)
 *     if objType == cudaPitchedPtr:
 *         return sizeof(ccudart.cudaPitchedPtr)             # <<<<<<<<<<<<<<
 *     if objType == cudaExtent:
 *         return sizeof(ccudart.cudaExtent)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaPitchedPtr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24955
 *     if objType == cudaArrayMemoryRequirements:
 *         return sizeof(ccudart.cudaArrayMemoryRequirements)
 *     if objType == cudaPitchedPtr:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPitchedPtr)
 *     if objType == cudaExtent:
 */
  }

  /* "cuda/cudart.pyx":24957
 *     if objType == cudaPitchedPtr:
 *         return sizeof(ccudart.cudaPitchedPtr)
 *     if objType == cudaExtent:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExtent)
 *     if objType == cudaPos:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24957, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24958
 *         return sizeof(ccudart.cudaPitchedPtr)
 *     if objType == cudaExtent:
 *         return sizeof(ccudart.cudaExtent)             # <<<<<<<<<<<<<<
 *     if objType == cudaPos:
 *         return sizeof(ccudart.cudaPos)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExtent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24957
 *     if objType == cudaPitchedPtr:
 *         return sizeof(ccudart.cudaPitchedPtr)
 *     if objType == cudaExtent:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExtent)
 *     if objType == cudaPos:
 */
  }

  /* "cuda/cudart.pyx":24959
 *     if objType == cudaExtent:
 *         return sizeof(ccudart.cudaExtent)
 *     if objType == cudaPos:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPos)
 *     if objType == cudaMemcpy3DParms:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24959, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24960
 *         return sizeof(ccudart.cudaExtent)
 *     if objType == cudaPos:
 *         return sizeof(ccudart.cudaPos)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemcpy3DParms:
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaPos))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24959
 *     if objType == cudaExtent:
 *         return sizeof(ccudart.cudaExtent)
 *     if objType == cudaPos:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPos)
 *     if objType == cudaMemcpy3DParms:
 */
  }

  /* "cuda/cudart.pyx":24961
 *     if objType == cudaPos:
 *         return sizeof(ccudart.cudaPos)
 *     if objType == cudaMemcpy3DParms:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 *     if objType == cudaMemcpy3DPeerParms:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24961, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24962
 *         return sizeof(ccudart.cudaPos)
 *     if objType == cudaMemcpy3DParms:
 *         return sizeof(ccudart.cudaMemcpy3DParms)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemcpy3DPeerParms:
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemcpy3DParms))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24961
 *     if objType == cudaPos:
 *         return sizeof(ccudart.cudaPos)
 *     if objType == cudaMemcpy3DParms:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 *     if objType == cudaMemcpy3DPeerParms:
 */
  }

  /* "cuda/cudart.pyx":24963
 *     if objType == cudaMemcpy3DParms:
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 *     if objType == cudaMemcpy3DPeerParms:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 *     if objType == cudaMemsetParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24963, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24964
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 *     if objType == cudaMemcpy3DPeerParms:
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemsetParams:
 *         return sizeof(ccudart.cudaMemsetParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemcpy3DPeerParms))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24963
 *     if objType == cudaMemcpy3DParms:
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 *     if objType == cudaMemcpy3DPeerParms:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 *     if objType == cudaMemsetParams:
 */
  }

  /* "cuda/cudart.pyx":24965
 *     if objType == cudaMemcpy3DPeerParms:
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 *     if objType == cudaMemsetParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemsetParams)
 *     if objType == cudaAccessPolicyWindow:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemsetParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24965, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24966
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 *     if objType == cudaMemsetParams:
 *         return sizeof(ccudart.cudaMemsetParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaAccessPolicyWindow:
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemsetParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24965
 *     if objType == cudaMemcpy3DPeerParms:
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 *     if objType == cudaMemsetParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemsetParams)
 *     if objType == cudaAccessPolicyWindow:
 */
  }

  /* "cuda/cudart.pyx":24967
 *     if objType == cudaMemsetParams:
 *         return sizeof(ccudart.cudaMemsetParams)
 *     if objType == cudaAccessPolicyWindow:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24967, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24968
 *         return sizeof(ccudart.cudaMemsetParams)
 *     if objType == cudaAccessPolicyWindow:
 *         return sizeof(ccudart.cudaAccessPolicyWindow)             # <<<<<<<<<<<<<<
 *     if objType == cudaHostNodeParams:
 *         return sizeof(ccudart.cudaHostNodeParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaAccessPolicyWindow))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24967
 *     if objType == cudaMemsetParams:
 *         return sizeof(ccudart.cudaMemsetParams)
 *     if objType == cudaAccessPolicyWindow:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:
 */
  }

  /* "cuda/cudart.pyx":24969
 *     if objType == cudaAccessPolicyWindow:
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaResourceDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostNodeParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24969, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24970
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:
 *         return sizeof(ccudart.cudaHostNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaResourceDesc:
 *         return sizeof(ccudart.cudaResourceDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaHostNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24969
 *     if objType == cudaAccessPolicyWindow:
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaResourceDesc:
 */
  }

  /* "cuda/cudart.pyx":24971
 *     if objType == cudaHostNodeParams:
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaResourceDesc)
 *     if objType == cudaResourceViewDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24971, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24972
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaResourceDesc:
 *         return sizeof(ccudart.cudaResourceDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaResourceViewDesc:
 *         return sizeof(ccudart.cudaResourceViewDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaResourceDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24971
 *     if objType == cudaHostNodeParams:
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaResourceDesc)
 *     if objType == cudaResourceViewDesc:
 */
  }

  /* "cuda/cudart.pyx":24973
 *     if objType == cudaResourceDesc:
 *         return sizeof(ccudart.cudaResourceDesc)
 *     if objType == cudaResourceViewDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaResourceViewDesc)
 *     if objType == cudaPointerAttributes:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceViewDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24973, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24973, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24974
 *         return sizeof(ccudart.cudaResourceDesc)
 *     if objType == cudaResourceViewDesc:
 *         return sizeof(ccudart.cudaResourceViewDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaPointerAttributes:
 *         return sizeof(ccudart.cudaPointerAttributes)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaResourceViewDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24973
 *     if objType == cudaResourceDesc:
 *         return sizeof(ccudart.cudaResourceDesc)
 *     if objType == cudaResourceViewDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaResourceViewDesc)
 *     if objType == cudaPointerAttributes:
 */
  }

  /* "cuda/cudart.pyx":24975
 *     if objType == cudaResourceViewDesc:
 *         return sizeof(ccudart.cudaResourceViewDesc)
 *     if objType == cudaPointerAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPointerAttributes)
 *     if objType == cudaFuncAttributes:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPointerAttributes), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24975, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24976
 *         return sizeof(ccudart.cudaResourceViewDesc)
 *     if objType == cudaPointerAttributes:
 *         return sizeof(ccudart.cudaPointerAttributes)             # <<<<<<<<<<<<<<
 *     if objType == cudaFuncAttributes:
 *         return sizeof(ccudart.cudaFuncAttributes)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaPointerAttributes))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24975
 *     if objType == cudaResourceViewDesc:
 *         return sizeof(ccudart.cudaResourceViewDesc)
 *     if objType == cudaPointerAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPointerAttributes)
 *     if objType == cudaFuncAttributes:
 */
  }

  /* "cuda/cudart.pyx":24977
 *     if objType == cudaPointerAttributes:
 *         return sizeof(ccudart.cudaPointerAttributes)
 *     if objType == cudaFuncAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaFuncAttributes)
 *     if objType == cudaMemLocation:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaFuncAttributes), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24977, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24978
 *         return sizeof(ccudart.cudaPointerAttributes)
 *     if objType == cudaFuncAttributes:
 *         return sizeof(ccudart.cudaFuncAttributes)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemLocation:
 *         return sizeof(ccudart.cudaMemLocation)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaFuncAttributes))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24977
 *     if objType == cudaPointerAttributes:
 *         return sizeof(ccudart.cudaPointerAttributes)
 *     if objType == cudaFuncAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaFuncAttributes)
 *     if objType == cudaMemLocation:
 */
  }

  /* "cuda/cudart.pyx":24979
 *     if objType == cudaFuncAttributes:
 *         return sizeof(ccudart.cudaFuncAttributes)
 *     if objType == cudaMemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemLocation)
 *     if objType == cudaMemAccessDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemLocation), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24979, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24980
 *         return sizeof(ccudart.cudaFuncAttributes)
 *     if objType == cudaMemLocation:
 *         return sizeof(ccudart.cudaMemLocation)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemAccessDesc:
 *         return sizeof(ccudart.cudaMemAccessDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemLocation))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24979
 *     if objType == cudaFuncAttributes:
 *         return sizeof(ccudart.cudaFuncAttributes)
 *     if objType == cudaMemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemLocation)
 *     if objType == cudaMemAccessDesc:
 */
  }

  /* "cuda/cudart.pyx":24981
 *     if objType == cudaMemLocation:
 *         return sizeof(ccudart.cudaMemLocation)
 *     if objType == cudaMemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemAccessDesc)
 *     if objType == cudaMemPoolProps:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAccessDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24981, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24982
 *         return sizeof(ccudart.cudaMemLocation)
 *     if objType == cudaMemAccessDesc:
 *         return sizeof(ccudart.cudaMemAccessDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemPoolProps:
 *         return sizeof(ccudart.cudaMemPoolProps)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemAccessDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24981
 *     if objType == cudaMemLocation:
 *         return sizeof(ccudart.cudaMemLocation)
 *     if objType == cudaMemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemAccessDesc)
 *     if objType == cudaMemPoolProps:
 */
  }

  /* "cuda/cudart.pyx":24983
 *     if objType == cudaMemAccessDesc:
 *         return sizeof(ccudart.cudaMemAccessDesc)
 *     if objType == cudaMemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPoolProps)
 *     if objType == cudaMemPoolPtrExportData:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolProps), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24983, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24984
 *         return sizeof(ccudart.cudaMemAccessDesc)
 *     if objType == cudaMemPoolProps:
 *         return sizeof(ccudart.cudaMemPoolProps)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemPoolPtrExportData:
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemPoolProps))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24984, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24983
 *     if objType == cudaMemAccessDesc:
 *         return sizeof(ccudart.cudaMemAccessDesc)
 *     if objType == cudaMemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPoolProps)
 *     if objType == cudaMemPoolPtrExportData:
 */
  }

  /* "cuda/cudart.pyx":24985
 *     if objType == cudaMemPoolProps:
 *         return sizeof(ccudart.cudaMemPoolProps)
 *     if objType == cudaMemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 *     if objType == cudaMemAllocNodeParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24985, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24986
 *         return sizeof(ccudart.cudaMemPoolProps)
 *     if objType == cudaMemPoolPtrExportData:
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemAllocNodeParams:
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemPoolPtrExportData))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24985
 *     if objType == cudaMemPoolProps:
 *         return sizeof(ccudart.cudaMemPoolProps)
 *     if objType == cudaMemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 *     if objType == cudaMemAllocNodeParams:
 */
  }

  /* "cuda/cudart.pyx":24987
 *     if objType == cudaMemPoolPtrExportData:
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 *     if objType == cudaMemAllocNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 *     if objType == CUuuid_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24987, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24988
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 *     if objType == cudaMemAllocNodeParams:
 *         return sizeof(ccudart.cudaMemAllocNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == CUuuid_st:
 *         return sizeof(ccudart.CUuuid_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaMemAllocNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24987
 *     if objType == cudaMemPoolPtrExportData:
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 *     if objType == cudaMemAllocNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 *     if objType == CUuuid_st:
 */
  }

  /* "cuda/cudart.pyx":24989
 *     if objType == cudaMemAllocNodeParams:
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.CUuuid_st)
 *     if objType == cudaDeviceProp:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_CUuuid_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24989, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24990
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 *     if objType == CUuuid_st:
 *         return sizeof(ccudart.CUuuid_st)             # <<<<<<<<<<<<<<
 *     if objType == cudaDeviceProp:
 *         return sizeof(ccudart.cudaDeviceProp)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUuuid_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24989
 *     if objType == cudaMemAllocNodeParams:
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.CUuuid_st)
 *     if objType == cudaDeviceProp:
 */
  }

  /* "cuda/cudart.pyx":24991
 *     if objType == CUuuid_st:
 *         return sizeof(ccudart.CUuuid_st)
 *     if objType == cudaDeviceProp:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaDeviceProp)
 *     if objType == cudaIpcEventHandle_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaDeviceProp), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24991, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24992
 *         return sizeof(ccudart.CUuuid_st)
 *     if objType == cudaDeviceProp:
 *         return sizeof(ccudart.cudaDeviceProp)             # <<<<<<<<<<<<<<
 *     if objType == cudaIpcEventHandle_st:
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaDeviceProp))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24992, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24991
 *     if objType == CUuuid_st:
 *         return sizeof(ccudart.CUuuid_st)
 *     if objType == cudaDeviceProp:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaDeviceProp)
 *     if objType == cudaIpcEventHandle_st:
 */
  }

  /* "cuda/cudart.pyx":24993
 *     if objType == cudaDeviceProp:
 *         return sizeof(ccudart.cudaDeviceProp)
 *     if objType == cudaIpcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 *     if objType == cudaIpcMemHandle_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24993, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24994
 *         return sizeof(ccudart.cudaDeviceProp)
 *     if objType == cudaIpcEventHandle_st:
 *         return sizeof(ccudart.cudaIpcEventHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == cudaIpcMemHandle_st:
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaIpcEventHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24993
 *     if objType == cudaDeviceProp:
 *         return sizeof(ccudart.cudaDeviceProp)
 *     if objType == cudaIpcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 *     if objType == cudaIpcMemHandle_st:
 */
  }

  /* "cuda/cudart.pyx":24995
 *     if objType == cudaIpcEventHandle_st:
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 *     if objType == cudaIpcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 *     if objType == cudaExternalMemoryHandleDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24995, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24996
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 *     if objType == cudaIpcMemHandle_st:
 *         return sizeof(ccudart.cudaIpcMemHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalMemoryHandleDesc:
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaIpcMemHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24995
 *     if objType == cudaIpcEventHandle_st:
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 *     if objType == cudaIpcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 *     if objType == cudaExternalMemoryHandleDesc:
 */
  }

  /* "cuda/cudart.pyx":24997
 *     if objType == cudaIpcMemHandle_st:
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 *     if objType == cudaExternalMemoryHandleDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 *     if objType == cudaExternalMemoryBufferDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryHandleDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24997, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":24998
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 *     if objType == cudaExternalMemoryHandleDesc:
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalMemoryBufferDesc:
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalMemoryHandleDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24997
 *     if objType == cudaIpcMemHandle_st:
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 *     if objType == cudaExternalMemoryHandleDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 *     if objType == cudaExternalMemoryBufferDesc:
 */
  }

  /* "cuda/cudart.pyx":24999
 *     if objType == cudaExternalMemoryHandleDesc:
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 *     if objType == cudaExternalMemoryBufferDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryBufferDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24999, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 24999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25000
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 *     if objType == cudaExternalMemoryBufferDesc:
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalMemoryBufferDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":24999
 *     if objType == cudaExternalMemoryHandleDesc:
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 *     if objType == cudaExternalMemoryBufferDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 */
  }

  /* "cuda/cudart.pyx":25001
 *     if objType == cudaExternalMemoryBufferDesc:
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 *     if objType == cudaExternalSemaphoreHandleDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25001, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25001, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25002
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalSemaphoreHandleDesc:
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalMemoryMipmappedArrayDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25001
 *     if objType == cudaExternalMemoryBufferDesc:
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 *     if objType == cudaExternalSemaphoreHandleDesc:
 */
  }

  /* "cuda/cudart.pyx":25003
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 *     if objType == cudaExternalSemaphoreHandleDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 *     if objType == cudaExternalSemaphoreSignalParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreHandleDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25003, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25004
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 *     if objType == cudaExternalSemaphoreHandleDesc:
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalSemaphoreSignalParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalSemaphoreHandleDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25003
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 *     if objType == cudaExternalSemaphoreHandleDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 *     if objType == cudaExternalSemaphoreSignalParams:
 */
  }

  /* "cuda/cudart.pyx":25005
 *     if objType == cudaExternalSemaphoreHandleDesc:
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 *     if objType == cudaExternalSemaphoreSignalParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 *     if objType == cudaExternalSemaphoreWaitParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25005, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25006
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 *     if objType == cudaExternalSemaphoreSignalParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalSemaphoreWaitParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalSemaphoreSignalParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25005
 *     if objType == cudaExternalSemaphoreHandleDesc:
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 *     if objType == cudaExternalSemaphoreSignalParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 *     if objType == cudaExternalSemaphoreWaitParams:
 */
  }

  /* "cuda/cudart.pyx":25007
 *     if objType == cudaExternalSemaphoreSignalParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 *     if objType == cudaExternalSemaphoreWaitParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 *     if objType == cudaKernelNodeParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25007, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25008
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 *     if objType == cudaExternalSemaphoreWaitParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaKernelNodeParams:
 *         return sizeof(ccudart.cudaKernelNodeParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalSemaphoreWaitParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25007
 *     if objType == cudaExternalSemaphoreSignalParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 *     if objType == cudaExternalSemaphoreWaitParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 *     if objType == cudaKernelNodeParams:
 */
  }

  /* "cuda/cudart.pyx":25009
 *     if objType == cudaExternalSemaphoreWaitParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 *     if objType == cudaKernelNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaKernelNodeParams)
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25009, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25010
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 *     if objType == cudaKernelNodeParams:
 *         return sizeof(ccudart.cudaKernelNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaKernelNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25009
 *     if objType == cudaExternalSemaphoreWaitParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 *     if objType == cudaKernelNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaKernelNodeParams)
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 */
  }

  /* "cuda/cudart.pyx":25011
 *     if objType == cudaKernelNodeParams:
 *         return sizeof(ccudart.cudaKernelNodeParams)
 *     if objType == cudaExternalSemaphoreSignalNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25011, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25012
 *         return sizeof(ccudart.cudaKernelNodeParams)
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalSemaphoreSignalNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25011
 *     if objType == cudaKernelNodeParams:
 *         return sizeof(ccudart.cudaKernelNodeParams)
 *     if objType == cudaExternalSemaphoreSignalNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 */
  }

  /* "cuda/cudart.pyx":25013
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaLaunchAttributeValue:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25013, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25013, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25014
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaLaunchAttributeValue:
 *         return sizeof(ccudart.cudaLaunchAttributeValue)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaExternalSemaphoreWaitNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25013
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaLaunchAttributeValue:
 */
  }

  /* "cuda/cudart.pyx":25015
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaLaunchAttributeValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaLaunchAttributeValue)
 *     if objType == cudaLaunchAttribute_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25015, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25016
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaLaunchAttributeValue:
 *         return sizeof(ccudart.cudaLaunchAttributeValue)             # <<<<<<<<<<<<<<
 *     if objType == cudaLaunchAttribute_st:
 *         return sizeof(ccudart.cudaLaunchAttribute_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(union cudaLaunchAttributeValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25015
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaLaunchAttributeValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaLaunchAttributeValue)
 *     if objType == cudaLaunchAttribute_st:
 */
  }

  /* "cuda/cudart.pyx":25017
 *     if objType == cudaLaunchAttributeValue:
 *         return sizeof(ccudart.cudaLaunchAttributeValue)
 *     if objType == cudaLaunchAttribute_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaLaunchAttribute_st)
 *     if objType == cudaTextureDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttribute_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25017, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25018
 *         return sizeof(ccudart.cudaLaunchAttributeValue)
 *     if objType == cudaLaunchAttribute_st:
 *         return sizeof(ccudart.cudaLaunchAttribute_st)             # <<<<<<<<<<<<<<
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaLaunchAttribute_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25017
 *     if objType == cudaLaunchAttributeValue:
 *         return sizeof(ccudart.cudaLaunchAttributeValue)
 *     if objType == cudaLaunchAttribute_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaLaunchAttribute_st)
 *     if objType == cudaTextureDesc:
 */
  }

  /* "cuda/cudart.pyx":25019
 *     if objType == cudaLaunchAttribute_st:
 *         return sizeof(ccudart.cudaLaunchAttribute_st)
 *     if objType == cudaTextureDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaTextureDesc_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25019, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25020
 *         return sizeof(ccudart.cudaLaunchAttribute_st)
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaTextureDesc_v2:
 *         return sizeof(ccudart.cudaTextureDesc_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaTextureDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25019
 *     if objType == cudaLaunchAttribute_st:
 *         return sizeof(ccudart.cudaLaunchAttribute_st)
 *     if objType == cudaTextureDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaTextureDesc_v2:
 */
  }

  /* "cuda/cudart.pyx":25021
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaTextureDesc_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureDesc_v2)
 *     if objType == cudaEglPlaneDesc_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25021, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25022
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaTextureDesc_v2:
 *         return sizeof(ccudart.cudaTextureDesc_v2)             # <<<<<<<<<<<<<<
 *     if objType == cudaEglPlaneDesc_st:
 *         return sizeof(ccudart.cudaEglPlaneDesc_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct cudaTextureDesc_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25021
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaTextureDesc_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureDesc_v2)
 *     if objType == cudaEglPlaneDesc_st:
 */
  }

  /* "cuda/cudart.pyx":25023
 *     if objType == cudaTextureDesc_v2:
 *         return sizeof(ccudart.cudaTextureDesc_v2)
 *     if objType == cudaEglPlaneDesc_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglPlaneDesc_st)
 *     if objType == cudaEglFrame_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25023, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25024
 *         return sizeof(ccudart.cudaTextureDesc_v2)
 *     if objType == cudaEglPlaneDesc_st:
 *         return sizeof(ccudart.cudaEglPlaneDesc_st)             # <<<<<<<<<<<<<<
 *     if objType == cudaEglFrame_st:
 *         return sizeof(ccudart.cudaEglFrame_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaEglPlaneDesc_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25023
 *     if objType == cudaTextureDesc_v2:
 *         return sizeof(ccudart.cudaTextureDesc_v2)
 *     if objType == cudaEglPlaneDesc_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglPlaneDesc_st)
 *     if objType == cudaEglFrame_st:
 */
  }

  /* "cuda/cudart.pyx":25025
 *     if objType == cudaEglPlaneDesc_st:
 *         return sizeof(ccudart.cudaEglPlaneDesc_st)
 *     if objType == cudaEglFrame_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglFrame_st)
 *     if objType == cudaArray_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglFrame_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25025, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25025, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25026
 *         return sizeof(ccudart.cudaEglPlaneDesc_st)
 *     if objType == cudaEglFrame_st:
 *         return sizeof(ccudart.cudaEglFrame_st)             # <<<<<<<<<<<<<<
 *     if objType == cudaArray_t:
 *         return sizeof(ccudart.cudaArray_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaEglFrame_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25025
 *     if objType == cudaEglPlaneDesc_st:
 *         return sizeof(ccudart.cudaEglPlaneDesc_st)
 *     if objType == cudaEglFrame_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglFrame_st)
 *     if objType == cudaArray_t:
 */
  }

  /* "cuda/cudart.pyx":25027
 *     if objType == cudaEglFrame_st:
 *         return sizeof(ccudart.cudaEglFrame_st)
 *     if objType == cudaArray_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArray_t)
 *     if objType == cudaArray_const_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25027, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25028
 *         return sizeof(ccudart.cudaEglFrame_st)
 *     if objType == cudaArray_t:
 *         return sizeof(ccudart.cudaArray_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaArray_const_t:
 *         return sizeof(ccudart.cudaArray_const_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaArray_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25027
 *     if objType == cudaEglFrame_st:
 *         return sizeof(ccudart.cudaEglFrame_st)
 *     if objType == cudaArray_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArray_t)
 *     if objType == cudaArray_const_t:
 */
  }

  /* "cuda/cudart.pyx":25029
 *     if objType == cudaArray_t:
 *         return sizeof(ccudart.cudaArray_t)
 *     if objType == cudaArray_const_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArray_const_t)
 *     if objType == cudaMipmappedArray_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25029, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25030
 *         return sizeof(ccudart.cudaArray_t)
 *     if objType == cudaArray_const_t:
 *         return sizeof(ccudart.cudaArray_const_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaMipmappedArray_t:
 *         return sizeof(ccudart.cudaMipmappedArray_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaArray_const_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25029
 *     if objType == cudaArray_t:
 *         return sizeof(ccudart.cudaArray_t)
 *     if objType == cudaArray_const_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArray_const_t)
 *     if objType == cudaMipmappedArray_t:
 */
  }

  /* "cuda/cudart.pyx":25031
 *     if objType == cudaArray_const_t:
 *         return sizeof(ccudart.cudaArray_const_t)
 *     if objType == cudaMipmappedArray_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMipmappedArray_t)
 *     if objType == cudaMipmappedArray_const_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25031, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25032
 *         return sizeof(ccudart.cudaArray_const_t)
 *     if objType == cudaMipmappedArray_t:
 *         return sizeof(ccudart.cudaMipmappedArray_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaMipmappedArray_const_t:
 *         return sizeof(ccudart.cudaMipmappedArray_const_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaMipmappedArray_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25032, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25031
 *     if objType == cudaArray_const_t:
 *         return sizeof(ccudart.cudaArray_const_t)
 *     if objType == cudaMipmappedArray_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMipmappedArray_t)
 *     if objType == cudaMipmappedArray_const_t:
 */
  }

  /* "cuda/cudart.pyx":25033
 *     if objType == cudaMipmappedArray_t:
 *         return sizeof(ccudart.cudaMipmappedArray_t)
 *     if objType == cudaMipmappedArray_const_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMipmappedArray_const_t)
 *     if objType == cudaStream_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25033, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25034
 *         return sizeof(ccudart.cudaMipmappedArray_t)
 *     if objType == cudaMipmappedArray_const_t:
 *         return sizeof(ccudart.cudaMipmappedArray_const_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaStream_t:
 *         return sizeof(ccudart.cudaStream_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaMipmappedArray_const_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25033
 *     if objType == cudaMipmappedArray_t:
 *         return sizeof(ccudart.cudaMipmappedArray_t)
 *     if objType == cudaMipmappedArray_const_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMipmappedArray_const_t)
 *     if objType == cudaStream_t:
 */
  }

  /* "cuda/cudart.pyx":25035
 *     if objType == cudaMipmappedArray_const_t:
 *         return sizeof(ccudart.cudaMipmappedArray_const_t)
 *     if objType == cudaStream_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStream_t)
 *     if objType == cudaEvent_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStream_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25035, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25036
 *         return sizeof(ccudart.cudaMipmappedArray_const_t)
 *     if objType == cudaStream_t:
 *         return sizeof(ccudart.cudaStream_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaEvent_t:
 *         return sizeof(ccudart.cudaEvent_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaStream_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25035
 *     if objType == cudaMipmappedArray_const_t:
 *         return sizeof(ccudart.cudaMipmappedArray_const_t)
 *     if objType == cudaStream_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStream_t)
 *     if objType == cudaEvent_t:
 */
  }

  /* "cuda/cudart.pyx":25037
 *     if objType == cudaStream_t:
 *         return sizeof(ccudart.cudaStream_t)
 *     if objType == cudaEvent_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEvent_t)
 *     if objType == cudaGraphicsResource_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25037, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25038
 *         return sizeof(ccudart.cudaStream_t)
 *     if objType == cudaEvent_t:
 *         return sizeof(ccudart.cudaEvent_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaGraphicsResource_t:
 *         return sizeof(ccudart.cudaGraphicsResource_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaEvent_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25037
 *     if objType == cudaStream_t:
 *         return sizeof(ccudart.cudaStream_t)
 *     if objType == cudaEvent_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEvent_t)
 *     if objType == cudaGraphicsResource_t:
 */
  }

  /* "cuda/cudart.pyx":25039
 *     if objType == cudaEvent_t:
 *         return sizeof(ccudart.cudaEvent_t)
 *     if objType == cudaGraphicsResource_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphicsResource_t)
 *     if objType == cudaExternalMemory_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25039, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25040
 *         return sizeof(ccudart.cudaEvent_t)
 *     if objType == cudaGraphicsResource_t:
 *         return sizeof(ccudart.cudaGraphicsResource_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalMemory_t:
 *         return sizeof(ccudart.cudaExternalMemory_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphicsResource_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25039
 *     if objType == cudaEvent_t:
 *         return sizeof(ccudart.cudaEvent_t)
 *     if objType == cudaGraphicsResource_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphicsResource_t)
 *     if objType == cudaExternalMemory_t:
 */
  }

  /* "cuda/cudart.pyx":25041
 *     if objType == cudaGraphicsResource_t:
 *         return sizeof(ccudart.cudaGraphicsResource_t)
 *     if objType == cudaExternalMemory_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemory_t)
 *     if objType == cudaExternalSemaphore_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25041, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25042
 *         return sizeof(ccudart.cudaGraphicsResource_t)
 *     if objType == cudaExternalMemory_t:
 *         return sizeof(ccudart.cudaExternalMemory_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaExternalSemaphore_t:
 *         return sizeof(ccudart.cudaExternalSemaphore_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaExternalMemory_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25041
 *     if objType == cudaGraphicsResource_t:
 *         return sizeof(ccudart.cudaGraphicsResource_t)
 *     if objType == cudaExternalMemory_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemory_t)
 *     if objType == cudaExternalSemaphore_t:
 */
  }

  /* "cuda/cudart.pyx":25043
 *     if objType == cudaExternalMemory_t:
 *         return sizeof(ccudart.cudaExternalMemory_t)
 *     if objType == cudaExternalSemaphore_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphore_t)
 *     if objType == cudaGraph_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25043, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25044
 *         return sizeof(ccudart.cudaExternalMemory_t)
 *     if objType == cudaExternalSemaphore_t:
 *         return sizeof(ccudart.cudaExternalSemaphore_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaGraph_t:
 *         return sizeof(ccudart.cudaGraph_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25043
 *     if objType == cudaExternalMemory_t:
 *         return sizeof(ccudart.cudaExternalMemory_t)
 *     if objType == cudaExternalSemaphore_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphore_t)
 *     if objType == cudaGraph_t:
 */
  }

  /* "cuda/cudart.pyx":25045
 *     if objType == cudaExternalSemaphore_t:
 *         return sizeof(ccudart.cudaExternalSemaphore_t)
 *     if objType == cudaGraph_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraph_t)
 *     if objType == cudaGraphNode_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25045, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25046
 *         return sizeof(ccudart.cudaExternalSemaphore_t)
 *     if objType == cudaGraph_t:
 *         return sizeof(ccudart.cudaGraph_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaGraphNode_t:
 *         return sizeof(ccudart.cudaGraphNode_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraph_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25045
 *     if objType == cudaExternalSemaphore_t:
 *         return sizeof(ccudart.cudaExternalSemaphore_t)
 *     if objType == cudaGraph_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraph_t)
 *     if objType == cudaGraphNode_t:
 */
  }

  /* "cuda/cudart.pyx":25047
 *     if objType == cudaGraph_t:
 *         return sizeof(ccudart.cudaGraph_t)
 *     if objType == cudaGraphNode_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphNode_t)
 *     if objType == cudaUserObject_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25047, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25047, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25048
 *         return sizeof(ccudart.cudaGraph_t)
 *     if objType == cudaGraphNode_t:
 *         return sizeof(ccudart.cudaGraphNode_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaUserObject_t:
 *         return sizeof(ccudart.cudaUserObject_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25047
 *     if objType == cudaGraph_t:
 *         return sizeof(ccudart.cudaGraph_t)
 *     if objType == cudaGraphNode_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphNode_t)
 *     if objType == cudaUserObject_t:
 */
  }

  /* "cuda/cudart.pyx":25049
 *     if objType == cudaGraphNode_t:
 *         return sizeof(ccudart.cudaGraphNode_t)
 *     if objType == cudaUserObject_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaUserObject_t)
 *     if objType == cudaFunction_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUserObject_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25049, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25050
 *         return sizeof(ccudart.cudaGraphNode_t)
 *     if objType == cudaUserObject_t:
 *         return sizeof(ccudart.cudaUserObject_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaFunction_t:
 *         return sizeof(ccudart.cudaFunction_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaUserObject_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25049
 *     if objType == cudaGraphNode_t:
 *         return sizeof(ccudart.cudaGraphNode_t)
 *     if objType == cudaUserObject_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaUserObject_t)
 *     if objType == cudaFunction_t:
 */
  }

  /* "cuda/cudart.pyx":25051
 *     if objType == cudaUserObject_t:
 *         return sizeof(ccudart.cudaUserObject_t)
 *     if objType == cudaFunction_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaFunction_t)
 *     if objType == cudaMemPool_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaFunction_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25051, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25052
 *         return sizeof(ccudart.cudaUserObject_t)
 *     if objType == cudaFunction_t:
 *         return sizeof(ccudart.cudaFunction_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaMemPool_t:
 *         return sizeof(ccudart.cudaMemPool_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaFunction_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25051
 *     if objType == cudaUserObject_t:
 *         return sizeof(ccudart.cudaUserObject_t)
 *     if objType == cudaFunction_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaFunction_t)
 *     if objType == cudaMemPool_t:
 */
  }

  /* "cuda/cudart.pyx":25053
 *     if objType == cudaFunction_t:
 *         return sizeof(ccudart.cudaFunction_t)
 *     if objType == cudaMemPool_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPool_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25053, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25054
 *         return sizeof(ccudart.cudaFunction_t)
 *     if objType == cudaMemPool_t:
 *         return sizeof(ccudart.cudaMemPool_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaGraphExec_t:
 *         return sizeof(ccudart.cudaGraphExec_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaMemPool_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25053
 *     if objType == cudaFunction_t:
 *         return sizeof(ccudart.cudaFunction_t)
 *     if objType == cudaMemPool_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:
 */
  }

  /* "cuda/cudart.pyx":25055
 *     if objType == cudaMemPool_t:
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == EGLImageKHR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25055, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25056
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:
 *         return sizeof(ccudart.cudaGraphExec_t)             # <<<<<<<<<<<<<<
 *     if objType == EGLImageKHR:
 *         return sizeof(ccudart.EGLImageKHR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaGraphExec_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25055
 *     if objType == cudaMemPool_t:
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == EGLImageKHR:
 */
  }

  /* "cuda/cudart.pyx":25057
 *     if objType == cudaGraphExec_t:
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == EGLImageKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLImageKHR)
 *     if objType == EGLStreamKHR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_EGLImageKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25057, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25057, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25058
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == EGLImageKHR:
 *         return sizeof(ccudart.EGLImageKHR)             # <<<<<<<<<<<<<<
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccudart.EGLStreamKHR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_EGLImageKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25057
 *     if objType == cudaGraphExec_t:
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == EGLImageKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLImageKHR)
 *     if objType == EGLStreamKHR:
 */
  }

  /* "cuda/cudart.pyx":25059
 *     if objType == EGLImageKHR:
 *         return sizeof(ccudart.EGLImageKHR)
 *     if objType == EGLStreamKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLStreamKHR)
 *     if objType == EGLSyncKHR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_EGLStreamKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25059, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25059, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25060
 *         return sizeof(ccudart.EGLImageKHR)
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccudart.EGLStreamKHR)             # <<<<<<<<<<<<<<
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccudart.EGLSyncKHR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_EGLStreamKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25059
 *     if objType == EGLImageKHR:
 *         return sizeof(ccudart.EGLImageKHR)
 *     if objType == EGLStreamKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLStreamKHR)
 *     if objType == EGLSyncKHR:
 */
  }

  /* "cuda/cudart.pyx":25061
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccudart.EGLStreamKHR)
 *     if objType == EGLSyncKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLSyncKHR)
 *     if objType == cudaEglStreamConnection:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_EGLSyncKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25061, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25062
 *         return sizeof(ccudart.EGLStreamKHR)
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccudart.EGLSyncKHR)             # <<<<<<<<<<<<<<
 *     if objType == cudaEglStreamConnection:
 *         return sizeof(ccudart.cudaEglStreamConnection)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_EGLSyncKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25061
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccudart.EGLStreamKHR)
 *     if objType == EGLSyncKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLSyncKHR)
 *     if objType == cudaEglStreamConnection:
 */
  }

  /* "cuda/cudart.pyx":25063
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccudart.EGLSyncKHR)
 *     if objType == cudaEglStreamConnection:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglStreamConnection)
 *     if objType == cudaHostFn_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglStreamConnection), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25063, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25064
 *         return sizeof(ccudart.EGLSyncKHR)
 *     if objType == cudaEglStreamConnection:
 *         return sizeof(ccudart.cudaEglStreamConnection)             # <<<<<<<<<<<<<<
 *     if objType == cudaHostFn_t:
 *         return sizeof(ccudart.cudaHostFn_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaEglStreamConnection))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25063
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccudart.EGLSyncKHR)
 *     if objType == cudaEglStreamConnection:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglStreamConnection)
 *     if objType == cudaHostFn_t:
 */
  }

  /* "cuda/cudart.pyx":25065
 *     if objType == cudaEglStreamConnection:
 *         return sizeof(ccudart.cudaEglStreamConnection)
 *     if objType == cudaHostFn_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaHostFn_t)
 *     if objType == cudaStreamCallback_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostFn_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25065, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25066
 *         return sizeof(ccudart.cudaEglStreamConnection)
 *     if objType == cudaHostFn_t:
 *         return sizeof(ccudart.cudaHostFn_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaStreamCallback_t:
 *         return sizeof(ccudart.cudaStreamCallback_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaHostFn_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25065
 *     if objType == cudaEglStreamConnection:
 *         return sizeof(ccudart.cudaEglStreamConnection)
 *     if objType == cudaHostFn_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaHostFn_t)
 *     if objType == cudaStreamCallback_t:
 */
  }

  /* "cuda/cudart.pyx":25067
 *     if objType == cudaHostFn_t:
 *         return sizeof(ccudart.cudaHostFn_t)
 *     if objType == cudaStreamCallback_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStreamCallback_t)
 *     if objType == CUuuid:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStreamCallback_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25067, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25068
 *         return sizeof(ccudart.cudaHostFn_t)
 *     if objType == cudaStreamCallback_t:
 *         return sizeof(ccudart.cudaStreamCallback_t)             # <<<<<<<<<<<<<<
 *     if objType == CUuuid:
 *         return sizeof(ccudart.CUuuid)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaStreamCallback_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25067
 *     if objType == cudaHostFn_t:
 *         return sizeof(ccudart.cudaHostFn_t)
 *     if objType == cudaStreamCallback_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStreamCallback_t)
 *     if objType == CUuuid:
 */
  }

  /* "cuda/cudart.pyx":25069
 *     if objType == cudaStreamCallback_t:
 *         return sizeof(ccudart.cudaStreamCallback_t)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.CUuuid)
 *     if objType == cudaUUID_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_CUuuid), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25069, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25070
 *         return sizeof(ccudart.cudaStreamCallback_t)
 *     if objType == CUuuid:
 *         return sizeof(ccudart.CUuuid)             # <<<<<<<<<<<<<<
 *     if objType == cudaUUID_t:
 *         return sizeof(ccudart.cudaUUID_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUuuid))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25069
 *     if objType == cudaStreamCallback_t:
 *         return sizeof(ccudart.cudaStreamCallback_t)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.CUuuid)
 *     if objType == cudaUUID_t:
 */
  }

  /* "cuda/cudart.pyx":25071
 *     if objType == CUuuid:
 *         return sizeof(ccudart.CUuuid)
 *     if objType == cudaUUID_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaUUID_t)
 *     if objType == cudaIpcEventHandle_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUUID_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25071, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25072
 *         return sizeof(ccudart.CUuuid)
 *     if objType == cudaUUID_t:
 *         return sizeof(ccudart.cudaUUID_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaIpcEventHandle_t:
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaUUID_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25071
 *     if objType == CUuuid:
 *         return sizeof(ccudart.CUuuid)
 *     if objType == cudaUUID_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaUUID_t)
 *     if objType == cudaIpcEventHandle_t:
 */
  }

  /* "cuda/cudart.pyx":25073
 *     if objType == cudaUUID_t:
 *         return sizeof(ccudart.cudaUUID_t)
 *     if objType == cudaIpcEventHandle_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25073, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25074
 *         return sizeof(ccudart.cudaUUID_t)
 *     if objType == cudaIpcEventHandle_t:
 *         return sizeof(ccudart.cudaIpcEventHandle_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaIpcMemHandle_t:
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaIpcEventHandle_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25073
 *     if objType == cudaUUID_t:
 *         return sizeof(ccudart.cudaUUID_t)
 *     if objType == cudaIpcEventHandle_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:
 */
  }

  /* "cuda/cudart.pyx":25075
 *     if objType == cudaIpcEventHandle_t:
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaLaunchAttribute:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25075, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25076
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:
 *         return sizeof(ccudart.cudaIpcMemHandle_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaLaunchAttribute:
 *         return sizeof(ccudart.cudaLaunchAttribute)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaIpcMemHandle_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25075
 *     if objType == cudaIpcEventHandle_t:
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaLaunchAttribute:
 */
  }

  /* "cuda/cudart.pyx":25077
 *     if objType == cudaIpcMemHandle_t:
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaLaunchAttribute:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaLaunchAttribute)
 *     if objType == cudaStreamAttrValue:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttribute), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25077, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25078
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaLaunchAttribute:
 *         return sizeof(ccudart.cudaLaunchAttribute)             # <<<<<<<<<<<<<<
 *     if objType == cudaStreamAttrValue:
 *         return sizeof(ccudart.cudaStreamAttrValue)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaLaunchAttribute))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25077
 *     if objType == cudaIpcMemHandle_t:
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaLaunchAttribute:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaLaunchAttribute)
 *     if objType == cudaStreamAttrValue:
 */
  }

  /* "cuda/cudart.pyx":25079
 *     if objType == cudaLaunchAttribute:
 *         return sizeof(ccudart.cudaLaunchAttribute)
 *     if objType == cudaStreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStreamAttrValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25079, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25080
 *         return sizeof(ccudart.cudaLaunchAttribute)
 *     if objType == cudaStreamAttrValue:
 *         return sizeof(ccudart.cudaStreamAttrValue)             # <<<<<<<<<<<<<<
 *     if objType == cudaKernelNodeAttrValue:
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaStreamAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25079
 *     if objType == cudaLaunchAttribute:
 *         return sizeof(ccudart.cudaLaunchAttribute)
 *     if objType == cudaStreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:
 */
  }

  /* "cuda/cudart.pyx":25081
 *     if objType == cudaStreamAttrValue:
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaEglPlaneDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25081, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25082
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)             # <<<<<<<<<<<<<<
 *     if objType == cudaEglPlaneDesc:
 *         return sizeof(ccudart.cudaEglPlaneDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25081
 *     if objType == cudaStreamAttrValue:
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaEglPlaneDesc:
 */
  }

  /* "cuda/cudart.pyx":25083
 *     if objType == cudaKernelNodeAttrValue:
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaEglPlaneDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglPlaneDesc)
 *     if objType == cudaEglFrame:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25083, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25084
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaEglPlaneDesc:
 *         return sizeof(ccudart.cudaEglPlaneDesc)             # <<<<<<<<<<<<<<
 *     if objType == cudaEglFrame:
 *         return sizeof(ccudart.cudaEglFrame)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaEglPlaneDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25083
 *     if objType == cudaKernelNodeAttrValue:
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaEglPlaneDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglPlaneDesc)
 *     if objType == cudaEglFrame:
 */
  }

  /* "cuda/cudart.pyx":25085
 *     if objType == cudaEglPlaneDesc:
 *         return sizeof(ccudart.cudaEglPlaneDesc)
 *     if objType == cudaEglFrame:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglFrame)
 *     if objType == GLenum:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglFrame), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25085, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25086
 *         return sizeof(ccudart.cudaEglPlaneDesc)
 *     if objType == cudaEglFrame:
 *         return sizeof(ccudart.cudaEglFrame)             # <<<<<<<<<<<<<<
 *     if objType == GLenum:
 *         return sizeof(ccudart.GLenum)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaEglFrame))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25085
 *     if objType == cudaEglPlaneDesc:
 *         return sizeof(ccudart.cudaEglPlaneDesc)
 *     if objType == cudaEglFrame:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaEglFrame)
 *     if objType == GLenum:
 */
  }

  /* "cuda/cudart.pyx":25087
 *     if objType == cudaEglFrame:
 *         return sizeof(ccudart.cudaEglFrame)
 *     if objType == GLenum:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.GLenum)
 *     if objType == GLuint:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_GLenum), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25087, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25088
 *         return sizeof(ccudart.cudaEglFrame)
 *     if objType == GLenum:
 *         return sizeof(ccudart.GLenum)             # <<<<<<<<<<<<<<
 *     if objType == GLuint:
 *         return sizeof(ccudart.GLuint)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_GLenum))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25088, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25087
 *     if objType == cudaEglFrame:
 *         return sizeof(ccudart.cudaEglFrame)
 *     if objType == GLenum:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.GLenum)
 *     if objType == GLuint:
 */
  }

  /* "cuda/cudart.pyx":25089
 *     if objType == GLenum:
 *         return sizeof(ccudart.GLenum)
 *     if objType == GLuint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.GLuint)
 *     if objType == EGLint:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_GLuint), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25089, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25090
 *         return sizeof(ccudart.GLenum)
 *     if objType == GLuint:
 *         return sizeof(ccudart.GLuint)             # <<<<<<<<<<<<<<
 *     if objType == EGLint:
 *         return sizeof(ccudart.EGLint)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_GLuint))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25089
 *     if objType == GLenum:
 *         return sizeof(ccudart.GLenum)
 *     if objType == GLuint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.GLuint)
 *     if objType == EGLint:
 */
  }

  /* "cuda/cudart.pyx":25091
 *     if objType == GLuint:
 *         return sizeof(ccudart.GLuint)
 *     if objType == EGLint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLint)
 *     if objType == VdpDevice:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_EGLint), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25091, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25092
 *         return sizeof(ccudart.GLuint)
 *     if objType == EGLint:
 *         return sizeof(ccudart.EGLint)             # <<<<<<<<<<<<<<
 *     if objType == VdpDevice:
 *         return sizeof(ccudart.VdpDevice)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_EGLint))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25091
 *     if objType == GLuint:
 *         return sizeof(ccudart.GLuint)
 *     if objType == EGLint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.EGLint)
 *     if objType == VdpDevice:
 */
  }

  /* "cuda/cudart.pyx":25093
 *     if objType == EGLint:
 *         return sizeof(ccudart.EGLint)
 *     if objType == VdpDevice:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpDevice)
 *     if objType == VdpGetProcAddress:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_VdpDevice), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25093, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25094
 *         return sizeof(ccudart.EGLint)
 *     if objType == VdpDevice:
 *         return sizeof(ccudart.VdpDevice)             # <<<<<<<<<<<<<<
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccudart.VdpGetProcAddress)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_VdpDevice))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25093
 *     if objType == EGLint:
 *         return sizeof(ccudart.EGLint)
 *     if objType == VdpDevice:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpDevice)
 *     if objType == VdpGetProcAddress:
 */
  }

  /* "cuda/cudart.pyx":25095
 *     if objType == VdpDevice:
 *         return sizeof(ccudart.VdpDevice)
 *     if objType == VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_VdpGetProcAddress), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25095, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25096
 *         return sizeof(ccudart.VdpDevice)
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccudart.VdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccudart.VdpVideoSurface)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_VdpGetProcAddress))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25095
 *     if objType == VdpDevice:
 *         return sizeof(ccudart.VdpDevice)
 *     if objType == VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
 */
  }

  /* "cuda/cudart.pyx":25097
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccudart.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_VdpVideoSurface), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25097, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25098
 *         return sizeof(ccudart.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccudart.VdpVideoSurface)             # <<<<<<<<<<<<<<
 *     if objType == VdpOutputSurface:
 *         return sizeof(ccudart.VdpOutputSurface)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_VdpVideoSurface))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25097
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccudart.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
 */
  }

  /* "cuda/cudart.pyx":25099
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccudart.VdpVideoSurface)
 *     if objType == VdpOutputSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpOutputSurface)
 *     if objType == cudaSurfaceObject_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_VdpOutputSurface), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25099, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25099, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25100
 *         return sizeof(ccudart.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
 *         return sizeof(ccudart.VdpOutputSurface)             # <<<<<<<<<<<<<<
 *     if objType == cudaSurfaceObject_t:
 *         return sizeof(ccudart.cudaSurfaceObject_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_VdpOutputSurface))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25099
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccudart.VdpVideoSurface)
 *     if objType == VdpOutputSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.VdpOutputSurface)
 *     if objType == cudaSurfaceObject_t:
 */
  }

  /* "cuda/cudart.pyx":25101
 *     if objType == VdpOutputSurface:
 *         return sizeof(ccudart.VdpOutputSurface)
 *     if objType == cudaSurfaceObject_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaSurfaceObject_t)
 *     if objType == cudaTextureObject_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25101, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25102
 *         return sizeof(ccudart.VdpOutputSurface)
 *     if objType == cudaSurfaceObject_t:
 *         return sizeof(ccudart.cudaSurfaceObject_t)             # <<<<<<<<<<<<<<
 *     if objType == cudaTextureObject_t:
 *         return sizeof(ccudart.cudaTextureObject_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaSurfaceObject_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25101
 *     if objType == VdpOutputSurface:
 *         return sizeof(ccudart.VdpOutputSurface)
 *     if objType == cudaSurfaceObject_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaSurfaceObject_t)
 *     if objType == cudaTextureObject_t:
 */
  }

  /* "cuda/cudart.pyx":25103
 *     if objType == cudaSurfaceObject_t:
 *         return sizeof(ccudart.cudaSurfaceObject_t)
 *     if objType == cudaTextureObject_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureObject_t)
 *     raise TypeError("Unknown type: " + str(objType))
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25103, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 25103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":25104
 *         return sizeof(ccudart.cudaSurfaceObject_t)
 *     if objType == cudaTextureObject_t:
 *         return sizeof(ccudart.cudaTextureObject_t)             # <<<<<<<<<<<<<<
 *     raise TypeError("Unknown type: " + str(objType))
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cudaTextureObject_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":25103
 *     if objType == cudaSurfaceObject_t:
 *         return sizeof(ccudart.cudaSurfaceObject_t)
 *     if objType == cudaTextureObject_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureObject_t)
 *     raise TypeError("Unknown type: " + str(objType))
 */
  }

  /* "cuda/cudart.pyx":25105
 *     if objType == cudaTextureObject_t:
 *         return sizeof(ccudart.cudaTextureObject_t)
 *     raise TypeError("Unknown type: " + str(objType))             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_objType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Unknown_type, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25105, __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(0, 25105, __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(0, 25105, __pyx_L1_error)

  /* "cuda/cudart.pyx":24934
 * 
 * @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.cudart.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;
}

/* "carray.to_py":112
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_to_py_unsigned_int", __pyx_f[1], 112, 0, __PYX_ERR(1, 112, __pyx_L1_error));

  /* "carray.to_py":115
 *     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(1, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":116
 *     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":117
 *     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(1, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":118
 *     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":119
 *         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":120
 *         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":112
 * 
 * @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":124
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_unsigned_int", __pyx_f[1], 124, 0, __PYX_ERR(1, 124, __pyx_L1_error));

  /* "carray.to_py":127
 *     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(1, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":128
 *     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":129
 *     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(1, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":130
 *     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":131
 *         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":132
 *         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":124
 * 
 * @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":77
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_from_py_unsigned_int", __pyx_f[1], 77, 0, __PYX_ERR(1, 77, __pyx_L1_error));

  /* "carray.from_py":78
 * @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":79
 * 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":80
 *     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(1, 80, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":79
 * 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":81
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "carray.from_py":79
 * 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_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":83
 *     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) != 0);
  if (__pyx_t_6) {

    /* "carray.from_py":84
 *         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(1, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 84, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __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(1, 84, __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":85
 *     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) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":86
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
 */
        goto __pyx_L11_break;

        /* "carray.from_py":85
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
 */
      }

      /* "carray.from_py":87
 *             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(1, 87, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    }
    /*else*/ {

      /* "carray.from_py":89
 *             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":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      __pyx_t_6 = ((__pyx_v_i == __pyx_v_length) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":91
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
 */
        __pyx_r = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L0;

        /* "carray.from_py":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      }
    }

    /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

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

  /* "carray.from_py":96
 *         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)
 */
  if (((__pyx_v_i >= __pyx_v_length) != 0)) {
    __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":93
 *                 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(1, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

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

static int __Pyx_carray_from_py_char(PyObject *__pyx_v_o, char *__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 __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_char", 0);
  __Pyx_TraceCall("__Pyx_carray_from_py_char", __pyx_f[1], 77, 0, __PYX_ERR(1, 77, __pyx_L1_error));

  /* "carray.from_py":78
 * @cname("__Pyx_carray_from_py_char")
 * cdef int __Pyx_carray_from_py_char(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":79
 * cdef int __Pyx_carray_from_py_char(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":80
 *     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(1, 80, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":79
 * cdef int __Pyx_carray_from_py_char(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":81
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "carray.from_py":79
 * cdef int __Pyx_carray_from_py_char(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_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":83
 *     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) != 0);
  if (__pyx_t_6) {

    /* "carray.from_py":84
 *         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(1, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 84, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __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(1, 84, __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":85
 *     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) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":86
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
 */
        goto __pyx_L11_break;

        /* "carray.from_py":85
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
 */
      }

      /* "carray.from_py":87
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
 */
      __pyx_t_11 = __Pyx_PyInt_As_char(__pyx_v_item); if (unlikely((__pyx_t_11 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 87, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    }
    /*else*/ {

      /* "carray.from_py":89
 *             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":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      __pyx_t_6 = ((__pyx_v_i == __pyx_v_length) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":91
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
 */
        __pyx_r = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L0;

        /* "carray.from_py":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      }
    }

    /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

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

  /* "carray.from_py":96
 *         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)
 */
  if (((__pyx_v_i >= __pyx_v_length) != 0)) {
    __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":93
 *                 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(1, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":77
 * 
 * @cname("__Pyx_carray_from_py_char")
 * cdef int __Pyx_carray_from_py_char(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_char", __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":112
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_to_py_int", __pyx_f[1], 112, 0, __PYX_ERR(1, 112, __pyx_L1_error));

  /* "carray.to_py":115
 *     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(1, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":116
 *     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":117
 *     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(1, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":118
 *     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":119
 *         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":120
 *         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":112
 * 
 * @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":124
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_int", __pyx_f[1], 124, 0, __PYX_ERR(1, 124, __pyx_L1_error));

  /* "carray.to_py":127
 *     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(1, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":128
 *     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":129
 *     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(1, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":130
 *     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":131
 *         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":132
 *         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":124
 * 
 * @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":77
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_from_py_int", __pyx_f[1], 77, 0, __PYX_ERR(1, 77, __pyx_L1_error));

  /* "carray.from_py":78
 * @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":79
 * 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":80
 *     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(1, 80, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":79
 * 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":81
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "carray.from_py":79
 * 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_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":83
 *     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) != 0);
  if (__pyx_t_6) {

    /* "carray.from_py":84
 *         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(1, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 84, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __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(1, 84, __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":85
 *     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) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":86
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
 */
        goto __pyx_L11_break;

        /* "carray.from_py":85
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
 */
      }

      /* "carray.from_py":87
 *             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(1, 87, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_5;

      /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    }
    /*else*/ {

      /* "carray.from_py":89
 *             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":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      __pyx_t_6 = ((__pyx_v_i == __pyx_v_length) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":91
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
 */
        __pyx_r = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L0;

        /* "carray.from_py":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      }
    }

    /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

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

  /* "carray.from_py":96
 *         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)
 */
  if (((__pyx_v_i >= __pyx_v_length) != 0)) {
    __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":93
 *                 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(1, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":77
 * 
 * @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":112
 * 
 * @cname("__Pyx_carray_to_py_enum__cudaTextureAddressMode")
 * cdef inline list __Pyx_carray_to_py_enum__cudaTextureAddressMode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_enum__cudaTextureAddressMode(enum cudaTextureAddressMode *__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_enum__cudaTextureAddressMode", 0);
  __Pyx_TraceCall("__Pyx_carray_to_py_enum__cudaTextureAddressMode", __pyx_f[1], 112, 0, __PYX_ERR(1, 112, __pyx_L1_error));

  /* "carray.to_py":115
 *     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(1, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":116
 *     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":117
 *     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__cudaTextureAddressMode((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":118
 *     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":119
 *         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":120
 *         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":112
 * 
 * @cname("__Pyx_carray_to_py_enum__cudaTextureAddressMode")
 * cdef inline list __Pyx_carray_to_py_enum__cudaTextureAddressMode(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_enum__cudaTextureAddressMode", __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":124
 * 
 * @cname("__Pyx_carray_to_tuple_enum__cudaTextureAddressMode")
 * cdef inline tuple __Pyx_carray_to_tuple_enum__cudaTextureAddressMode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_enum__cudaTextureAddressMode(enum cudaTextureAddressMode *__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_enum__cudaTextureAddressMode", 0);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_enum__cudaTextureAddressMode", __pyx_f[1], 124, 0, __PYX_ERR(1, 124, __pyx_L1_error));

  /* "carray.to_py":127
 *     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(1, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":128
 *     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":129
 *     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__cudaTextureAddressMode((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":130
 *     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":131
 *         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":132
 *         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":124
 * 
 * @cname("__Pyx_carray_to_tuple_enum__cudaTextureAddressMode")
 * cdef inline tuple __Pyx_carray_to_tuple_enum__cudaTextureAddressMode(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_enum__cudaTextureAddressMode", __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":77
 * 
 * @cname("__Pyx_carray_from_py_enum__cudaTextureAddressMode")
 * cdef int __Pyx_carray_from_py_enum__cudaTextureAddressMode(object o, base_type *v, Py_ssize_t length) except -1:             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t i = length
 *     try:
 */

static int __Pyx_carray_from_py_enum__cudaTextureAddressMode(PyObject *__pyx_v_o, enum cudaTextureAddressMode *__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;
  enum cudaTextureAddressMode __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_enum__cudaTextureAddressMode", 0);
  __Pyx_TraceCall("__Pyx_carray_from_py_enum__cudaTextureAddressMode", __pyx_f[1], 77, 0, __PYX_ERR(1, 77, __pyx_L1_error));

  /* "carray.from_py":78
 * @cname("__Pyx_carray_from_py_enum__cudaTextureAddressMode")
 * cdef int __Pyx_carray_from_py_enum__cudaTextureAddressMode(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":79
 * cdef int __Pyx_carray_from_py_enum__cudaTextureAddressMode(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":80
 *     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(1, 80, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":79
 * cdef int __Pyx_carray_from_py_enum__cudaTextureAddressMode(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":81
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "carray.from_py":79
 * cdef int __Pyx_carray_from_py_enum__cudaTextureAddressMode(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_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":83
 *     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) != 0);
  if (__pyx_t_6) {

    /* "carray.from_py":84
 *         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(1, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 84, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __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(1, 84, __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":85
 *     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) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":86
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
 */
        goto __pyx_L11_break;

        /* "carray.from_py":85
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
 */
      }

      /* "carray.from_py":87
 *             if i >= length:
 *                 break
 *             v[i] = item             # <<<<<<<<<<<<<<
 *         else:
 *             i += 1  # convert index to length
 */
      __pyx_t_11 = ((enum cudaTextureAddressMode)__Pyx_PyInt_As_enum__cudaTextureAddressMode(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 87, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    }
    /*else*/ {

      /* "carray.from_py":89
 *             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":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      __pyx_t_6 = ((__pyx_v_i == __pyx_v_length) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":91
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
 */
        __pyx_r = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L0;

        /* "carray.from_py":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      }
    }

    /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

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

  /* "carray.from_py":96
 *         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)
 */
  if (((__pyx_v_i >= __pyx_v_length) != 0)) {
    __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":93
 *                 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(1, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":77
 * 
 * @cname("__Pyx_carray_from_py_enum__cudaTextureAddressMode")
 * cdef int __Pyx_carray_from_py_enum__cudaTextureAddressMode(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_enum__cudaTextureAddressMode", __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":112
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_to_py_float", __pyx_f[1], 112, 0, __PYX_ERR(1, 112, __pyx_L1_error));

  /* "carray.to_py":115
 *     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(1, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":116
 *     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":117
 *     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(1, 117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":118
 *     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":119
 *         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":120
 *         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":112
 * 
 * @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":124
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_float", __pyx_f[1], 124, 0, __PYX_ERR(1, 124, __pyx_L1_error));

  /* "carray.to_py":127
 *     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(1, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":128
 *     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":129
 *     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(1, 129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":130
 *     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":131
 *         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":132
 *         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":124
 * 
 * @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":77
 * 
 * @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", 0);
  __Pyx_TraceCall("__Pyx_carray_from_py_float", __pyx_f[1], 77, 0, __PYX_ERR(1, 77, __pyx_L1_error));

  /* "carray.from_py":78
 * @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":79
 * 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":80
 *     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(1, 80, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":79
 * 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":81
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "carray.from_py":79
 * 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_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":83
 *     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) != 0);
  if (__pyx_t_6) {

    /* "carray.from_py":84
 *         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(1, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 84, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_7))) {
          if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_7)) 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(1, 84, __pyx_L1_error)
          #else
          __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __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(1, 84, __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":85
 *     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) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":86
 *         for i, item in enumerate(o):
 *             if i >= length:
 *                 break             # <<<<<<<<<<<<<<
 *             v[i] = item
 *         else:
 */
        goto __pyx_L11_break;

        /* "carray.from_py":85
 *     if i == length:
 *         for i, item in enumerate(o):
 *             if i >= length:             # <<<<<<<<<<<<<<
 *                 break
 *             v[i] = item
 */
      }

      /* "carray.from_py":87
 *             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(1, 87, __pyx_L1_error)
      (__pyx_v_v[__pyx_v_i]) = __pyx_t_11;

      /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    }
    /*else*/ {

      /* "carray.from_py":89
 *             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":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      __pyx_t_6 = ((__pyx_v_i == __pyx_v_length) != 0);
      if (__pyx_t_6) {

        /* "carray.from_py":91
 *             i += 1  # convert index to length
 *             if i == length:
 *                 return 0             # <<<<<<<<<<<<<<
 * 
 *     PyErr_Format(
 */
        __pyx_r = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L0;

        /* "carray.from_py":90
 *         else:
 *             i += 1  # convert index to length
 *             if i == length:             # <<<<<<<<<<<<<<
 *                 return 0
 * 
 */
      }
    }

    /* "carray.from_py":84
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

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

  /* "carray.from_py":96
 *         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)
 */
  if (((__pyx_v_i >= __pyx_v_length) != 0)) {
    __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":93
 *                 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(1, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

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

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

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_TraceDeclarations
  __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", 0);
  __Pyx_TraceCall("__pyx_convert_vector_from_py_size_t", __pyx_f[1], 45, 0, __PYX_ERR(1, 45, __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
 */
  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(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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(1, 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(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((size_t)__pyx_t_5));

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

static std::vector<enum cudaMemRangeAttribute>  __pyx_convert_vector_from_py_enum__cudaMemRangeAttribute(PyObject *__pyx_v_o) {
  std::vector<enum cudaMemRangeAttribute>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<enum cudaMemRangeAttribute>  __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  enum cudaMemRangeAttribute __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_enum__cudaMemRangeAttribute", 0);
  __Pyx_TraceCall("__pyx_convert_vector_from_py_enum__cudaMemRangeAttribute", __pyx_f[1], 45, 0, __PYX_ERR(1, 45, __pyx_L1_error));

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_enum__cudaMemRangeAttribute(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(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) 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(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) 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(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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(1, 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 cudaMemRangeAttribute)__Pyx_PyInt_As_enum__cudaMemRangeAttribute(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((enum cudaMemRangeAttribute)__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_enum__cudaMemRangeAttribute(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_enum__cudaMemRangeAttribute")
 * cdef vector[X] __pyx_convert_vector_from_py_enum__cudaMemRangeAttribute(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_enum__cudaMemRangeAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArray_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_11cudaArray_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_6cudart_cudaArray_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaArray_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_11cudaArray_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaArray_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_nonzero*/
  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_6cudart_11cudaArray_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_11cudaArray_t_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_6cudart_11cudaArray_t_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_6cudart_cudaArray_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaArray_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaArray_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaArray_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_6cudart_11cudaArray_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaArray_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*/
  "cudaArray_t(*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_6cudart_cudaArray_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_11cudaArray_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaArray_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArray_const_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_17cudaArray_const_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_6cudart_cudaArray_const_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaArray_const_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaArray_const_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_nonzero*/
  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_6cudart_17cudaArray_const_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_17cudaArray_const_t_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_6cudart_17cudaArray_const_t_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_6cudart_cudaArray_const_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaArray_const_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaArray_const_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_6cudart_17cudaArray_const_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaArray_const_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*/
  "cudaArray_const_t(*args, **kwargs)\n\n\n    CUDA array (as source copy argument)\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_6cudart_cudaArray_const_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_17cudaArray_const_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaArray_const_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMipmappedArray_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_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_6cudart_cudaMipmappedArray_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMipmappedArray_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaMipmappedArray_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_nonzero*/
  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_6cudart_20cudaMipmappedArray_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_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_6cudart_20cudaMipmappedArray_t_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_6cudart_cudaMipmappedArray_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMipmappedArray_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMipmappedArray_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_6cudart_20cudaMipmappedArray_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaMipmappedArray_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*/
  "cudaMipmappedArray_t(*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_6cudart_cudaMipmappedArray_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMipmappedArray_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMipmappedArray_const_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_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_6cudart_cudaMipmappedArray_const_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMipmappedArray_const_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaMipmappedArray_const_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_nonzero*/
  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_6cudart_26cudaMipmappedArray_const_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_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_6cudart_26cudaMipmappedArray_const_t_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_6cudart_cudaMipmappedArray_const_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMipmappedArray_const_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMipmappedArray_const_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_6cudart_26cudaMipmappedArray_const_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaMipmappedArray_const_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*/
  "cudaMipmappedArray_const_t(*args, **kwargs)\n\n\n    CUDA mipmapped array (as source argument)\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_6cudart_cudaMipmappedArray_const_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMipmappedArray_const_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraphicsResource_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_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_6cudart_cudaGraphicsResource_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaGraphicsResource_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaGraphicsResource_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_nonzero*/
  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_6cudart_22cudaGraphicsResource_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_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_6cudart_22cudaGraphicsResource_t_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_6cudart_cudaGraphicsResource_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaGraphicsResource_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaGraphicsResource_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_6cudart_22cudaGraphicsResource_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaGraphicsResource_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*/
  "cudaGraphicsResource_t(*args, **kwargs)\n\n\n    CUDA graphics resource types\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_6cudart_cudaGraphicsResource_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaGraphicsResource_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemory_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_20cudaExternalMemory_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_6cudart_cudaExternalMemory_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalMemory_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaExternalMemory_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_nonzero*/
  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_6cudart_20cudaExternalMemory_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_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_6cudart_20cudaExternalMemory_t_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_6cudart_cudaExternalMemory_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalMemory_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalMemory_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_6cudart_20cudaExternalMemory_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaExternalMemory_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*/
  "cudaExternalMemory_t(*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_6cudart_cudaExternalMemory_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalMemory_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphore_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_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_6cudart_cudaExternalSemaphore_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalSemaphore_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaExternalSemaphore_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_nonzero*/
  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_6cudart_23cudaExternalSemaphore_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_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_6cudart_23cudaExternalSemaphore_t_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_6cudart_cudaExternalSemaphore_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalSemaphore_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphore_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_6cudart_23cudaExternalSemaphore_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaExternalSemaphore_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*/
  "cudaExternalSemaphore_t(*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_6cudart_cudaExternalSemaphore_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalSemaphore_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_EGLImageKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_EGLImageKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_EGLImageKHR[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_11EGLImageKHR_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_11EGLImageKHR_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11EGLImageKHR_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_11EGLImageKHR_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11EGLImageKHR_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_11EGLImageKHR_14__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_11EGLImageKHR_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_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_6cudart_EGLImageKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.EGLImageKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_EGLImageKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "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_6cudart_EGLImageKHR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_11EGLImageKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_EGLStreamKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_EGLStreamKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_EGLStreamKHR[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_12EGLStreamKHR_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_12EGLStreamKHR_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12EGLStreamKHR_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_12EGLStreamKHR_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12EGLStreamKHR_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_12EGLStreamKHR_14__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_12EGLStreamKHR_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_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_6cudart_EGLStreamKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.EGLStreamKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_EGLStreamKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "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_6cudart_EGLStreamKHR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_12EGLStreamKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_EGLSyncKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_EGLSyncKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_EGLSyncKHR[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_10EGLSyncKHR_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_10EGLSyncKHR_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10EGLSyncKHR_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_10EGLSyncKHR_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10EGLSyncKHR_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_10EGLSyncKHR_14__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_10EGLSyncKHR_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_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_6cudart_EGLSyncKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.EGLSyncKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_EGLSyncKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "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_6cudart_EGLSyncKHR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_10EGLSyncKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaHostFn_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_12cudaHostFn_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_6cudart_cudaHostFn_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaHostFn_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaHostFn_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_nonzero*/
  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_6cudart_12cudaHostFn_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_12cudaHostFn_t_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_6cudart_12cudaHostFn_t_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_6cudart_cudaHostFn_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaHostFn_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaHostFn_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_6cudart_12cudaHostFn_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaHostFn_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*/
  "cudaHostFn_t(*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_6cudart_cudaHostFn_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_12cudaHostFn_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaHostFn_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaStreamCallback_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_20cudaStreamCallback_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_6cudart_cudaStreamCallback_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaStreamCallback_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_11getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_10getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_13__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_15__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_14__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaStreamCallback_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_nonzero*/
  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_6cudart_20cudaStreamCallback_t_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_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_6cudart_20cudaStreamCallback_t_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_6cudart_cudaStreamCallback_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaStreamCallback_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaStreamCallback_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_6cudart_20cudaStreamCallback_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaStreamCallback_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*/
  "cudaStreamCallback_t(*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_6cudart_cudaStreamCallback_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaStreamCallback_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_dim3(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_4dim3_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_dim3(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_4dim3_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_4dim3_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_4dim3_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_4dim3_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_4dim3_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_4dim3_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_4dim3_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_4dim3_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_4dim3_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_4dim3_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_4dim3_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_4dim3_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_4dim3_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_dim3[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_4dim3_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_4dim3_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_4dim3_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_4dim3_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_4dim3_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_4dim3_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_dim3[] = {
  {(char *)"x", __pyx_getprop_4cuda_6cudart_4dim3_x, __pyx_setprop_4cuda_6cudart_4dim3_x, (char *)0, 0},
  {(char *)"y", __pyx_getprop_4cuda_6cudart_4dim3_y, __pyx_setprop_4cuda_6cudart_4dim3_y, (char *)0, 0},
  {(char *)"z", __pyx_getprop_4cuda_6cudart_4dim3_z, __pyx_setprop_4cuda_6cudart_4dim3_z, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_dim3 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.dim3", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_dim3), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_dim3, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_4dim3_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "dim3(void_ptr _ptr=0)\n\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_6cudart_dim3, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_dim3, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_4dim3_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_dim3, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaChannelFormatDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaChannelFormatDesc(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_21cudaChannelFormatDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_w(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1w_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_w(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1w_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_f(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1f_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_f(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_1f_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaChannelFormatDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaChannelFormatDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaChannelFormatDesc[] = {
  {(char *)"x", __pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_x, __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_x, (char *)0, 0},
  {(char *)"y", __pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_y, __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_y, (char *)0, 0},
  {(char *)"z", __pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_z, __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_z, (char *)0, 0},
  {(char *)"w", __pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_w, __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_w, (char *)0, 0},
  {(char *)"f", __pyx_getprop_4cuda_6cudart_21cudaChannelFormatDesc_f, __pyx_setprop_4cuda_6cudart_21cudaChannelFormatDesc_f, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaChannelFormatDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaChannelFormatDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaChannelFormatDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_21cudaChannelFormatDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaChannelFormatDesc(void_ptr _ptr=0)\n\n    CUDA Channel format descriptor\n\n    Attributes\n    ----------\n    x : int\n        x\n    y : int\n        y\n    z : int\n        z\n    w : int\n        w\n    f : cudaChannelFormatKind\n        Channel format kind\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_6cudart_cudaChannelFormatDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaChannelFormatDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_21cudaChannelFormatDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaChannelFormatDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s[] = {
  {(char *)"width", __pyx_getprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_width, __pyx_setprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_height, __pyx_setprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_height, (char *)0, 0},
  {(char *)"depth", __pyx_getprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_depth, __pyx_setprop_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_depth, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaArraySparseProperties_tileExtent_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_39_cudaArraySparseProperties_tileExtent_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "_cudaArraySparseProperties_tileExtent_s(void_ptr _ptr)\n\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_6cudart__cudaArraySparseProperties_tileExtent_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArraySparseProperties(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)o);
  p->_tileExtent = ((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaArraySparseProperties(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *p = (struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_25cudaArraySparseProperties_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_tileExtent);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaArraySparseProperties(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *p = (struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)o;
  if (p->_tileExtent) {
    e = (*v)(((PyObject *)p->_tileExtent), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaArraySparseProperties(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *p = (struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)o;
  tmp = ((PyObject*)p->_tileExtent);
  p->_tileExtent = ((struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_tileExtent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_tileExtent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_10tileExtent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_miptailFirstLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_miptailFirstLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_17miptailFirstLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_miptailSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_miptailSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11miptailSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaArraySparseProperties[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_25cudaArraySparseProperties_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaArraySparseProperties[] = {
  {(char *)"tileExtent", __pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_tileExtent, __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_tileExtent, (char *)0, 0},
  {(char *)"miptailFirstLevel", __pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_miptailFirstLevel, __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_miptailFirstLevel, (char *)0, 0},
  {(char *)"miptailSize", __pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_miptailSize, __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_miptailSize, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_flags, __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_25cudaArraySparseProperties_reserved, __pyx_setprop_4cuda_6cudart_25cudaArraySparseProperties_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaArraySparseProperties = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaArraySparseProperties", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaArraySparseProperties, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_25cudaArraySparseProperties_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaArraySparseProperties(void_ptr _ptr=0)\n\n    Sparse CUDA array and CUDA mipmapped array properties\n\n    Attributes\n    ----------\n    tileExtent : _cudaArraySparseProperties_tileExtent_s\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 cudaArraySparsePropertiesSingleMipTail\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_6cudart_cudaArraySparseProperties, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaArraySparseProperties, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaArraySparseProperties, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaArraySparseProperties, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_25cudaArraySparseProperties_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaArraySparseProperties, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaArrayMemoryRequirements(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaArrayMemoryRequirements(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_27cudaArrayMemoryRequirements_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_27cudaArrayMemoryRequirements_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_27cudaArrayMemoryRequirements_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_27cudaArrayMemoryRequirements_alignment(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_27cudaArrayMemoryRequirements_alignment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_9alignment_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_27cudaArrayMemoryRequirements_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_27cudaArrayMemoryRequirements_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaArrayMemoryRequirements[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_27cudaArrayMemoryRequirements_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaArrayMemoryRequirements[] = {
  {(char *)"size", __pyx_getprop_4cuda_6cudart_27cudaArrayMemoryRequirements_size, __pyx_setprop_4cuda_6cudart_27cudaArrayMemoryRequirements_size, (char *)0, 0},
  {(char *)"alignment", __pyx_getprop_4cuda_6cudart_27cudaArrayMemoryRequirements_alignment, __pyx_setprop_4cuda_6cudart_27cudaArrayMemoryRequirements_alignment, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_27cudaArrayMemoryRequirements_reserved, __pyx_setprop_4cuda_6cudart_27cudaArrayMemoryRequirements_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaArrayMemoryRequirements", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaArrayMemoryRequirements), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaArrayMemoryRequirements, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_27cudaArrayMemoryRequirements_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaArrayMemoryRequirements(void_ptr _ptr=0)\n\n    CUDA array and CUDA mipmapped array memory requirements\n\n    Attributes\n    ----------\n    size : size_t\n        Total size of the array.\n    alignment : size_t\n        Alignment necessary for mapping the array.\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_6cudart_cudaArrayMemoryRequirements, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaArrayMemoryRequirements, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_27cudaArrayMemoryRequirements_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaArrayMemoryRequirements, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaPitchedPtr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)o);
  p->_cptr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaPitchedPtr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *p = (struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_14cudaPitchedPtr_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_cptr);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaPitchedPtr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *p = (struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)o;
  if (p->_cptr) {
    e = (*v)(((PyObject *)p->_cptr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaPitchedPtr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *p = (struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)o;
  tmp = ((PyObject*)p->_cptr);
  p->_cptr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_ptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3ptr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_ptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3ptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_xsize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5xsize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_xsize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5xsize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_ysize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5ysize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_ysize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_5ysize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaPitchedPtr[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaPitchedPtr_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_14cudaPitchedPtr_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaPitchedPtr[] = {
  {(char *)"ptr", __pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_ptr, __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_ptr, (char *)0, 0},
  {(char *)"pitch", __pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_pitch, __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_pitch, (char *)0, 0},
  {(char *)"xsize", __pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_xsize, __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_xsize, (char *)0, 0},
  {(char *)"ysize", __pyx_getprop_4cuda_6cudart_14cudaPitchedPtr_ysize, __pyx_setprop_4cuda_6cudart_14cudaPitchedPtr_ysize, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaPitchedPtr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaPitchedPtr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaPitchedPtr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_14cudaPitchedPtr_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaPitchedPtr(void_ptr _ptr=0)\n\n    CUDA Pitched memory pointer  ::make_cudaPitchedPtr\n\n    Attributes\n    ----------\n    ptr : Any\n        Pointer to allocated memory\n    pitch : size_t\n        Pitch of allocated memory in bytes\n    xsize : size_t\n        Logical width of allocation in elements\n    ysize : size_t\n        Logical height of allocation in elements\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaPitchedPtr, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaPitchedPtr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaPitchedPtr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaPitchedPtr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_14cudaPitchedPtr_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaPitchedPtr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExtent(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_10cudaExtent_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExtent(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_10cudaExtent_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_10cudaExtent_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_10cudaExtent_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_10cudaExtent_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_10cudaExtent_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_10cudaExtent_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_10cudaExtent_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_10cudaExtent_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_10cudaExtent_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_10cudaExtent_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_10cudaExtent_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_10cudaExtent_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_10cudaExtent_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExtent[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_10cudaExtent_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_10cudaExtent_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10cudaExtent_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_10cudaExtent_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_10cudaExtent_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_10cudaExtent_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExtent[] = {
  {(char *)"width", __pyx_getprop_4cuda_6cudart_10cudaExtent_width, __pyx_setprop_4cuda_6cudart_10cudaExtent_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_6cudart_10cudaExtent_height, __pyx_setprop_4cuda_6cudart_10cudaExtent_height, (char *)0, 0},
  {(char *)"depth", __pyx_getprop_4cuda_6cudart_10cudaExtent_depth, __pyx_setprop_4cuda_6cudart_10cudaExtent_depth, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExtent = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExtent", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExtent), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExtent, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_10cudaExtent_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaExtent(void_ptr _ptr=0)\n\n    CUDA extent  ::make_cudaExtent\n\n    Attributes\n    ----------\n    width : size_t\n        Width in elements when referring to array memory, in bytes when\n        referring to linear memory\n    height : size_t\n        Height in elements\n    depth : size_t\n        Depth in elements\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_6cudart_cudaExtent, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExtent, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_10cudaExtent_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExtent, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaPos(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_7cudaPos_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaPos(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_7cudaPos_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_7cudaPos_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_7cudaPos_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_7cudaPos_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_7cudaPos_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_7cudaPos_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_7cudaPos_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_7cudaPos_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_7cudaPos_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_7cudaPos_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_7cudaPos_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_7cudaPos_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_7cudaPos_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaPos[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_7cudaPos_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_7cudaPos_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_7cudaPos_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_7cudaPos_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_7cudaPos_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_7cudaPos_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaPos[] = {
  {(char *)"x", __pyx_getprop_4cuda_6cudart_7cudaPos_x, __pyx_setprop_4cuda_6cudart_7cudaPos_x, (char *)0, 0},
  {(char *)"y", __pyx_getprop_4cuda_6cudart_7cudaPos_y, __pyx_setprop_4cuda_6cudart_7cudaPos_y, (char *)0, 0},
  {(char *)"z", __pyx_getprop_4cuda_6cudart_7cudaPos_z, __pyx_setprop_4cuda_6cudart_7cudaPos_z, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaPos = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaPos", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaPos), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaPos, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_7cudaPos_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaPos(void_ptr _ptr=0)\n\n    CUDA 3D position  ::make_cudaPos\n\n    Attributes\n    ----------\n    x : size_t\n        x\n    y : size_t\n        y\n    z : size_t\n        z\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_6cudart_cudaPos, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaPos, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_7cudaPos_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaPos, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemcpy3DParms(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)o);
  p->_srcArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  p->_srcPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  p->_srcPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  p->_dstPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  p->_dstPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  p->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemcpy3DParms(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *p = (struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_17cudaMemcpy3DParms_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_srcPos);
  Py_CLEAR(p->_srcPtr);
  Py_CLEAR(p->_dstArray);
  Py_CLEAR(p->_dstPos);
  Py_CLEAR(p->_dstPtr);
  Py_CLEAR(p->_extent);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaMemcpy3DParms(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *p = (struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)o;
  if (p->_srcArray) {
    e = (*v)(((PyObject *)p->_srcArray), a); if (e) return e;
  }
  if (p->_srcPos) {
    e = (*v)(((PyObject *)p->_srcPos), a); if (e) return e;
  }
  if (p->_srcPtr) {
    e = (*v)(((PyObject *)p->_srcPtr), a); if (e) return e;
  }
  if (p->_dstArray) {
    e = (*v)(((PyObject *)p->_dstArray), a); if (e) return e;
  }
  if (p->_dstPos) {
    e = (*v)(((PyObject *)p->_dstPos), a); if (e) return e;
  }
  if (p->_dstPtr) {
    e = (*v)(((PyObject *)p->_dstPtr), a); if (e) return e;
  }
  if (p->_extent) {
    e = (*v)(((PyObject *)p->_extent), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaMemcpy3DParms(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *p = (struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)o;
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcPos);
  p->_srcPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcPtr);
  p->_srcPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstPos);
  p->_dstPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstPtr);
  p->_dstPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_extent);
  p->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPos_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6srcPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPos_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6dstPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_extent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6extent_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_extent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_6extent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_kind(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_4kind_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_kind(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_4kind_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemcpy3DParms[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaMemcpy3DParms_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemcpy3DParms[] = {
  {(char *)"srcArray", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_srcArray, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_srcArray, (char *)0, 0},
  {(char *)"srcPos", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPos, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPos, (char *)0, 0},
  {(char *)"srcPtr", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPtr, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_srcPtr, (char *)0, 0},
  {(char *)"dstArray", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_dstArray, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_dstArray, (char *)0, 0},
  {(char *)"dstPos", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPos, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPos, (char *)0, 0},
  {(char *)"dstPtr", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPtr, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_dstPtr, (char *)0, 0},
  {(char *)"extent", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_extent, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_extent, (char *)0, 0},
  {(char *)"kind", __pyx_getprop_4cuda_6cudart_17cudaMemcpy3DParms_kind, __pyx_setprop_4cuda_6cudart_17cudaMemcpy3DParms_kind, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemcpy3DParms = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemcpy3DParms", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemcpy3DParms, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_17cudaMemcpy3DParms_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaMemcpy3DParms(void_ptr _ptr=0)\n\n    CUDA 3D memory copying parameters\n\n    Attributes\n    ----------\n    srcArray : cudaArray_t\n        Source memory address\n    srcPos : cudaPos\n        Source position offset\n    srcPtr : cudaPitchedPtr\n        Pitched source memory address\n    dstArray : cudaArray_t\n        Destination memory address\n    dstPos : cudaPos\n        Destination position offset\n    dstPtr : cudaPitchedPtr\n        Pitched destination memory address\n    extent : cudaExtent\n        Requested memory copy size\n    kind : cudaMemcpyKind\n        Type of transfer\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaMemcpy3DParms, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaMemcpy3DParms, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaMemcpy3DParms, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemcpy3DParms, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_17cudaMemcpy3DParms_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemcpy3DParms, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemcpy3DPeerParms(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)o);
  p->_srcArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  p->_srcPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  p->_srcPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  p->_dstPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  p->_dstPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  p->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemcpy3DPeerParms(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *p = (struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_21cudaMemcpy3DPeerParms_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_srcPos);
  Py_CLEAR(p->_srcPtr);
  Py_CLEAR(p->_dstArray);
  Py_CLEAR(p->_dstPos);
  Py_CLEAR(p->_dstPtr);
  Py_CLEAR(p->_extent);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaMemcpy3DPeerParms(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *p = (struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)o;
  if (p->_srcArray) {
    e = (*v)(((PyObject *)p->_srcArray), a); if (e) return e;
  }
  if (p->_srcPos) {
    e = (*v)(((PyObject *)p->_srcPos), a); if (e) return e;
  }
  if (p->_srcPtr) {
    e = (*v)(((PyObject *)p->_srcPtr), a); if (e) return e;
  }
  if (p->_dstArray) {
    e = (*v)(((PyObject *)p->_dstArray), a); if (e) return e;
  }
  if (p->_dstPos) {
    e = (*v)(((PyObject *)p->_dstPos), a); if (e) return e;
  }
  if (p->_dstPtr) {
    e = (*v)(((PyObject *)p->_dstPtr), a); if (e) return e;
  }
  if (p->_extent) {
    e = (*v)(((PyObject *)p->_extent), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaMemcpy3DPeerParms(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *p = (struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)o;
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcPos);
  p->_srcPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcPtr);
  p->_srcPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstPos);
  p->_dstPos = ((struct __pyx_obj_4cuda_6cudart_cudaPos *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstPtr);
  p->_dstPtr = ((struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_extent);
  p->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPos_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6srcPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9srcDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPos(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPos_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6dstPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_9dstDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_extent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_extent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_6extent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemcpy3DPeerParms[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaMemcpy3DPeerParms_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemcpy3DPeerParms[] = {
  {(char *)"srcArray", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcArray, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcArray, (char *)0, 0},
  {(char *)"srcPos", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPos, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPos, (char *)0, 0},
  {(char *)"srcPtr", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPtr, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcPtr, (char *)0, 0},
  {(char *)"srcDevice", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcDevice, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_srcDevice, (char *)0, 0},
  {(char *)"dstArray", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstArray, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstArray, (char *)0, 0},
  {(char *)"dstPos", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPos, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPos, (char *)0, 0},
  {(char *)"dstPtr", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPtr, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstPtr, (char *)0, 0},
  {(char *)"dstDevice", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstDevice, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_dstDevice, (char *)0, 0},
  {(char *)"extent", __pyx_getprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_extent, __pyx_setprop_4cuda_6cudart_21cudaMemcpy3DPeerParms_extent, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemcpy3DPeerParms", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemcpy3DPeerParms, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_21cudaMemcpy3DPeerParms_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaMemcpy3DPeerParms(void_ptr _ptr=0)\n\n    CUDA 3D cross-device memory copying parameters\n\n    Attributes\n    ----------\n    srcArray : cudaArray_t\n        Source memory address\n    srcPos : cudaPos\n        Source position offset\n    srcPtr : cudaPitchedPtr\n        Pitched source memory address\n    srcDevice : int\n        Source device\n    dstArray : cudaArray_t\n        Destination memory address\n    dstPos : cudaPos\n        Destination position offset\n    dstPtr : cudaPitchedPtr\n        Pitched destination memory address\n    dstDevice : int\n        Destination device\n    extent : cudaExtent\n        Requested memory copy size\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaMemcpy3DPeerParms, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaMemcpy3DPeerParms, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaMemcpy3DPeerParms, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemcpy3DPeerParms, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_21cudaMemcpy3DPeerParms_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemcpy3DPeerParms, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemsetParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)o);
  p->_cdst = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_16cudaMemsetParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemsetParams(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *p = (struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_16cudaMemsetParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_cdst);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaMemsetParams(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *p = (struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)o;
  if (p->_cdst) {
    e = (*v)(((PyObject *)p->_cdst), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaMemsetParams(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *p = (struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)o;
  tmp = ((PyObject*)p->_cdst);
  p->_cdst = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemsetParams_dst(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_3dst_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_dst(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_3dst_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemsetParams_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemsetParams_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemsetParams_elementSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_11elementSize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_elementSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_11elementSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemsetParams_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemsetParams_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemsetParams_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemsetParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemsetParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemsetParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemsetParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemsetParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemsetParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16cudaMemsetParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemsetParams[] = {
  {(char *)"dst", __pyx_getprop_4cuda_6cudart_16cudaMemsetParams_dst, __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_dst, (char *)0, 0},
  {(char *)"pitch", __pyx_getprop_4cuda_6cudart_16cudaMemsetParams_pitch, __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_pitch, (char *)0, 0},
  {(char *)"value", __pyx_getprop_4cuda_6cudart_16cudaMemsetParams_value, __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_value, (char *)0, 0},
  {(char *)"elementSize", __pyx_getprop_4cuda_6cudart_16cudaMemsetParams_elementSize, __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_elementSize, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_6cudart_16cudaMemsetParams_width, __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_6cudart_16cudaMemsetParams_height, __pyx_setprop_4cuda_6cudart_16cudaMemsetParams_height, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemsetParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemsetParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemsetParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_16cudaMemsetParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaMemsetParams(void_ptr _ptr=0)\n\n    CUDA Memset node parameters\n\n    Attributes\n    ----------\n    dst : Any\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_6cudart_cudaMemsetParams, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaMemsetParams, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaMemsetParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemsetParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_16cudaMemsetParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemsetParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaAccessPolicyWindow(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)o);
  p->_cbase_ptr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaAccessPolicyWindow(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *p = (struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_22cudaAccessPolicyWindow_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_cbase_ptr);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaAccessPolicyWindow(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *p = (struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)o;
  if (p->_cbase_ptr) {
    e = (*v)(((PyObject *)p->_cbase_ptr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaAccessPolicyWindow(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *p = (struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)o;
  tmp = ((PyObject*)p->_cbase_ptr);
  p->_cbase_ptr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_base_ptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_base_ptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8base_ptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_num_bytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_num_bytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_9num_bytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitRatio(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitRatio(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8hitRatio_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitProp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitProp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7hitProp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_missProp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_missProp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_8missProp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaAccessPolicyWindow[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaAccessPolicyWindow_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaAccessPolicyWindow[] = {
  {(char *)"base_ptr", __pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_base_ptr, __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_base_ptr, (char *)0, 0},
  {(char *)"num_bytes", __pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_num_bytes, __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_num_bytes, (char *)0, 0},
  {(char *)"hitRatio", __pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitRatio, __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitRatio, (char *)0, 0},
  {(char *)"hitProp", __pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitProp, __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_hitProp, (char *)0, 0},
  {(char *)"missProp", __pyx_getprop_4cuda_6cudart_22cudaAccessPolicyWindow_missProp, __pyx_setprop_4cuda_6cudart_22cudaAccessPolicyWindow_missProp, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaAccessPolicyWindow = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaAccessPolicyWindow", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaAccessPolicyWindow, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_22cudaAccessPolicyWindow_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaAccessPolicyWindow(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    Partition into many segments and assign segments such that. sum of\n    \"hit segments\" / window == approx. ratio. sum of \"miss segments\" /\n    window == approx 1-ratio. Segments and ratio specifications are\n    fitted to the capabilities of the architecture. Accesses in a hit\n    segment apply the hitProp access policy. Accesses in a miss segment\n    apply the 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 : cudaAccessProperty\n        ::CUaccessProperty set for hit.\n    missProp : cudaAccessProperty\n        ::CUaccessProperty set for miss. Must be either NORMAL or\n        STREAMING.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaAccessPolicyWindow, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaAccessPolicyWindow, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaAccessPolicyWindow, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaAccessPolicyWindow, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_22cudaAccessPolicyWindow_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaAccessPolicyWindow, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaHostNodeParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)o);
  p->_fn = ((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)Py_None); Py_INCREF(Py_None);
  p->_cuserData = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaHostNodeParams(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_18cudaHostNodeParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_fn);
  Py_CLEAR(p->_cuserData);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaHostNodeParams(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)o;
  if (p->_fn) {
    e = (*v)(((PyObject *)p->_fn), a); if (e) return e;
  }
  if (p->_cuserData) {
    e = (*v)(((PyObject *)p->_cuserData), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaHostNodeParams(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)o;
  tmp = ((PyObject*)p->_fn);
  p->_fn = ((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cuserData);
  p->_cuserData = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaHostNodeParams_fn(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_2fn_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaHostNodeParams_fn(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_2fn_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaHostNodeParams_userData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_8userData_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaHostNodeParams_userData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_8userData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaHostNodeParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaHostNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_18cudaHostNodeParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaHostNodeParams[] = {
  {(char *)"fn", __pyx_getprop_4cuda_6cudart_18cudaHostNodeParams_fn, __pyx_setprop_4cuda_6cudart_18cudaHostNodeParams_fn, (char *)0, 0},
  {(char *)"userData", __pyx_getprop_4cuda_6cudart_18cudaHostNodeParams_userData, __pyx_setprop_4cuda_6cudart_18cudaHostNodeParams_userData, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaHostNodeParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaHostNodeParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaHostNodeParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_18cudaHostNodeParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaHostNodeParams(void_ptr _ptr=0)\n\n    CUDA host node parameters\n\n    Attributes\n    ----------\n    fn : cudaHostFn_t\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_6cudart_cudaHostNodeParams, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaHostNodeParams, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaHostNodeParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaHostNodeParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_18cudaHostNodeParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaHostNodeParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_array_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)o);
  p->_array = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_array_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_array);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_res_array_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)o;
  if (p->_array) {
    e = (*v)(((PyObject *)p->_array), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_array_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)o;
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_array_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_array_s[] = {
  {(char *)"array", __pyx_getprop_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_array, __pyx_setprop_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_array, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaResourceDesc_res_res_array_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_array_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_33_cudaResourceDesc_res_res_array_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaResourceDesc_res_res_array_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    array : cudaArray_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_res_array_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_array_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_array_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_array_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_array_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)o);
  p->_mipmap = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_mipmap);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)o;
  if (p->_mipmap) {
    e = (*v)(((PyObject *)p->_mipmap), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)o;
  tmp = ((PyObject*)p->_mipmap);
  p->_mipmap = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_mipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_mipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s[] = {
  {(char *)"mipmap", __pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_mipmap, __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_mipmap, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaResourceDesc_res_res_mipmap_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_34_cudaResourceDesc_res_res_mipmap_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaResourceDesc_res_res_mipmap_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    mipmap : cudaMipmappedArray_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_linear_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)o);
  p->_cdevPtr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  p->_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_linear_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_cdevPtr);
  Py_CLEAR(p->_desc);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_res_linear_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)o;
  if (p->_cdevPtr) {
    e = (*v)(((PyObject *)p->_cdevPtr), a); if (e) return e;
  }
  if (p->_desc) {
    e = (*v)(((PyObject *)p->_desc), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_linear_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)o;
  tmp = ((PyObject*)p->_cdevPtr);
  p->_cdevPtr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_desc);
  p->_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_devPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_devPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_6devPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_desc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_desc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4desc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_sizeInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_sizeInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11sizeInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_linear_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_linear_s[] = {
  {(char *)"devPtr", __pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_devPtr, __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_devPtr, (char *)0, 0},
  {(char *)"desc", __pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_desc, __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_desc, (char *)0, 0},
  {(char *)"sizeInBytes", __pyx_getprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_sizeInBytes, __pyx_setprop_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_sizeInBytes, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaResourceDesc_res_res_linear_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_linear_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_34_cudaResourceDesc_res_res_linear_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaResourceDesc_res_res_linear_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    devPtr : void\n\n    desc : cudaChannelFormatDesc\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_6cudart__cudaResourceDesc_res_res_linear_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_linear_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_linear_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_linear_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_linear_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)o);
  p->_cdevPtr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  p->_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_cdevPtr);
  Py_CLEAR(p->_desc);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)o;
  if (p->_cdevPtr) {
    e = (*v)(((PyObject *)p->_cdevPtr), a); if (e) return e;
  }
  if (p->_desc) {
    e = (*v)(((PyObject *)p->_desc), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)o;
  tmp = ((PyObject*)p->_cdevPtr);
  p->_cdevPtr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_desc);
  p->_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_devPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_devPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6devPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_desc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_desc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4desc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_pitchInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_pitchInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_12pitchInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s[] = {
  {(char *)"devPtr", __pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_devPtr, __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_devPtr, (char *)0, 0},
  {(char *)"desc", __pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_desc, __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_desc, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_width, __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_height, __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_height, (char *)0, 0},
  {(char *)"pitchInBytes", __pyx_getprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_pitchInBytes, __pyx_setprop_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_pitchInBytes, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaResourceDesc_res_res_pitch2D_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaResourceDesc_res_res_pitch2D_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    devPtr : void\n\n    desc : cudaChannelFormatDesc\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_6cudart__cudaResourceDesc_res_res_pitch2D_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_u(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)o);
  p->_array = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)Py_None); Py_INCREF(Py_None);
  p->_mipmap = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)Py_None); Py_INCREF(Py_None);
  p->_linear = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)Py_None); Py_INCREF(Py_None);
  p->_pitch2D = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_u(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_array);
  Py_CLEAR(p->_mipmap);
  Py_CLEAR(p->_linear);
  Py_CLEAR(p->_pitch2D);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_u(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)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;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_u(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *p = (struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)o;
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_mipmap);
  p->_mipmap = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_linear);
  p->_linear = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_linear_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_pitch2D);
  p->_pitch2D = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_mipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_mipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6mipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_linear(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_linear(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_6linear_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_pitch2D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_pitch2D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_7pitch2D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_u[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23_cudaResourceDesc_res_u_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_u[] = {
  {(char *)"array", __pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_array, __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_array, (char *)0, 0},
  {(char *)"mipmap", __pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_mipmap, __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_mipmap, (char *)0, 0},
  {(char *)"linear", __pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_linear, __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_linear, (char *)0, 0},
  {(char *)"pitch2D", __pyx_getprop_4cuda_6cudart_23_cudaResourceDesc_res_u_pitch2D, __pyx_setprop_4cuda_6cudart_23_cudaResourceDesc_res_u_pitch2D, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaResourceDesc_res_u = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaResourceDesc_res_u", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaResourceDesc_res_u, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_23_cudaResourceDesc_res_u_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaResourceDesc_res_u(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    array : _cudaResourceDesc_res_res_array_s\n\n    mipmap : _cudaResourceDesc_res_res_mipmap_s\n\n    linear : _cudaResourceDesc_res_res_linear_s\n\n    pitch2D : _cudaResourceDesc_res_res_pitch2D_s\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaResourceDesc_res_u, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaResourceDesc_res_u, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaResourceDesc_res_u, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaResourceDesc_res_u, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_23_cudaResourceDesc_res_u_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaResourceDesc_res_u, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaResourceDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)o);
  p->_res = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_16cudaResourceDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaResourceDesc(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_16cudaResourceDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_res);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaResourceDesc(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)o;
  if (p->_res) {
    e = (*v)(((PyObject *)p->_res), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaResourceDesc(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)o;
  tmp = ((PyObject*)p->_res);
  p->_res = ((struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaResourceDesc_resType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaResourceDesc_7resType_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaResourceDesc_resType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaResourceDesc_7resType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaResourceDesc_res(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaResourceDesc_3res_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaResourceDesc_res(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaResourceDesc_3res_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaResourceDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaResourceDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaResourceDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaResourceDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaResourceDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaResourceDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16cudaResourceDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaResourceDesc[] = {
  {(char *)"resType", __pyx_getprop_4cuda_6cudart_16cudaResourceDesc_resType, __pyx_setprop_4cuda_6cudart_16cudaResourceDesc_resType, (char *)0, 0},
  {(char *)"res", __pyx_getprop_4cuda_6cudart_16cudaResourceDesc_res, __pyx_setprop_4cuda_6cudart_16cudaResourceDesc_res, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaResourceDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaResourceDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaResourceDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_16cudaResourceDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaResourceDesc(void_ptr _ptr=0)\n\n    CUDA resource descriptor\n\n    Attributes\n    ----------\n    resType : cudaResourceType\n        Resource type\n    res : _cudaResourceDesc_res_u\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaResourceDesc, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaResourceDesc, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaResourceDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaResourceDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_16cudaResourceDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaResourceDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaResourceViewDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaResourceViewDesc(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_20cudaResourceViewDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6format_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_firstMipmapLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_firstMipmapLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_16firstMipmapLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_lastMipmapLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_lastMipmapLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_15lastMipmapLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_firstLayer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_firstLayer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_10firstLayer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_lastLayer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_lastLayer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_9lastLayer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaResourceViewDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaResourceViewDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaResourceViewDesc[] = {
  {(char *)"format", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_format, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_format, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_width, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_height, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_height, (char *)0, 0},
  {(char *)"depth", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_depth, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_depth, (char *)0, 0},
  {(char *)"firstMipmapLevel", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_firstMipmapLevel, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_firstMipmapLevel, (char *)0, 0},
  {(char *)"lastMipmapLevel", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_lastMipmapLevel, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_lastMipmapLevel, (char *)0, 0},
  {(char *)"firstLayer", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_firstLayer, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_firstLayer, (char *)0, 0},
  {(char *)"lastLayer", __pyx_getprop_4cuda_6cudart_20cudaResourceViewDesc_lastLayer, __pyx_setprop_4cuda_6cudart_20cudaResourceViewDesc_lastLayer, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaResourceViewDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaResourceViewDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaResourceViewDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_20cudaResourceViewDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaResourceViewDesc(void_ptr _ptr=0)\n\n    CUDA resource view descriptor\n\n    Attributes\n    ----------\n    format : cudaResourceViewFormat\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\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_6cudart_cudaResourceViewDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaResourceViewDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_20cudaResourceViewDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaResourceViewDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaPointerAttributes(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)o);
  p->_cdevicePointer = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  p->_chostPointer = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaPointerAttributes(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *p = (struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_21cudaPointerAttributes_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_cdevicePointer);
  Py_CLEAR(p->_chostPointer);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaPointerAttributes(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *p = (struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)o;
  if (p->_cdevicePointer) {
    e = (*v)(((PyObject *)p->_cdevicePointer), a); if (e) return e;
  }
  if (p->_chostPointer) {
    e = (*v)(((PyObject *)p->_chostPointer), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaPointerAttributes(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *p = (struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *)o;
  tmp = ((PyObject*)p->_cdevicePointer);
  p->_cdevicePointer = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_chostPointer);
  p->_chostPointer = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_device(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_6device_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_device(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_6device_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_devicePointer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_devicePointer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13devicePointer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_hostPointer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_hostPointer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11hostPointer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaPointerAttributes[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaPointerAttributes_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaPointerAttributes_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaPointerAttributes[] = {
  {(char *)"type", __pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_type, __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_type, (char *)0, 0},
  {(char *)"device", __pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_device, __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_device, (char *)0, 0},
  {(char *)"devicePointer", __pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_devicePointer, __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_devicePointer, (char *)0, 0},
  {(char *)"hostPointer", __pyx_getprop_4cuda_6cudart_21cudaPointerAttributes_hostPointer, __pyx_setprop_4cuda_6cudart_21cudaPointerAttributes_hostPointer, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaPointerAttributes = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaPointerAttributes", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaPointerAttributes, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_21cudaPointerAttributes_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaPointerAttributes(void_ptr _ptr=0)\n\n    CUDA pointer attributes\n\n    Attributes\n    ----------\n    type : cudaMemoryType\n        The type of memory - cudaMemoryTypeUnregistered,\n        cudaMemoryTypeHost, cudaMemoryTypeDevice or cudaMemoryTypeManaged.\n    device : int\n        The device against which the memory was allocated or registered. If\n        the memory type is cudaMemoryTypeDevice then this identifies the\n        device on which the memory referred physically resides. If the\n        memory type is cudaMemoryTypeHost or::cudaMemoryTypeManaged then\n        this identifies the device which was current when the memory was\n        allocated or registered (and if that device is deinitialized then\n        this allocation will vanish with that device's state).\n    devicePointer : Any\n        The address which may be dereferenced on the current device to\n        access the memory or NULL if no such address exists.\n    hostPointer : Any\n        The address which may be dereferenced on the host to access the\n        memory or NULL if no such address exists.  CUDA doesn't check if\n        unregistered memory is allocated so this field may contain invalid\n        pointer if an invalid pointer has been passed to CUDA.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaPointerAttributes, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaPointerAttributes, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaPointerAttributes, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaPointerAttributes, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_21cudaPointerAttributes_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaPointerAttributes, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaFuncAttributes(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaFuncAttributes(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_18cudaFuncAttributes_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_sharedSizeBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_sharedSizeBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_15sharedSizeBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_constSizeBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_constSizeBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14constSizeBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_localSizeBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_localSizeBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_14localSizeBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_maxThreadsPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_maxThreadsPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_18maxThreadsPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_numRegs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7numRegs_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_numRegs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7numRegs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_ptxVersion(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_ptxVersion(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_10ptxVersion_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_binaryVersion(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_binaryVersion(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13binaryVersion_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_cacheModeCA(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_cacheModeCA(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11cacheModeCA_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_maxDynamicSharedSizeBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_maxDynamicSharedSizeBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_25maxDynamicSharedSizeBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_preferredShmemCarveout(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_preferredShmemCarveout(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_22preferredShmemCarveout_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaFuncAttributes[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaFuncAttributes_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_18cudaFuncAttributes_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaFuncAttributes[] = {
  {(char *)"sharedSizeBytes", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_sharedSizeBytes, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_sharedSizeBytes, (char *)0, 0},
  {(char *)"constSizeBytes", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_constSizeBytes, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_constSizeBytes, (char *)0, 0},
  {(char *)"localSizeBytes", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_localSizeBytes, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_localSizeBytes, (char *)0, 0},
  {(char *)"maxThreadsPerBlock", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_maxThreadsPerBlock, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_maxThreadsPerBlock, (char *)0, 0},
  {(char *)"numRegs", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_numRegs, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_numRegs, (char *)0, 0},
  {(char *)"ptxVersion", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_ptxVersion, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_ptxVersion, (char *)0, 0},
  {(char *)"binaryVersion", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_binaryVersion, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_binaryVersion, (char *)0, 0},
  {(char *)"cacheModeCA", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_cacheModeCA, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_cacheModeCA, (char *)0, 0},
  {(char *)"maxDynamicSharedSizeBytes", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_maxDynamicSharedSizeBytes, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_maxDynamicSharedSizeBytes, (char *)0, 0},
  {(char *)"preferredShmemCarveout", __pyx_getprop_4cuda_6cudart_18cudaFuncAttributes_preferredShmemCarveout, __pyx_setprop_4cuda_6cudart_18cudaFuncAttributes_preferredShmemCarveout, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaFuncAttributes = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaFuncAttributes", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaFuncAttributes, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_18cudaFuncAttributes_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaFuncAttributes(void_ptr _ptr=0)\n\n    CUDA function attributes\n\n    Attributes\n    ----------\n    sharedSizeBytes : size_t\n        The size in bytes of statically-allocated shared memory per block\n        required by this function. This does not include dynamically-\n        allocated shared memory requested by the user at runtime.\n    constSizeBytes : size_t\n        The size in bytes of user-allocated constant memory required by\n        this function.\n    localSizeBytes : size_t\n        The size in bytes of local memory used by each thread of this\n        function.\n    maxThreadsPerBlock : int\n        The maximum number of threads per block, beyond which a launch of\n        the function would fail. This number depends on both the function\n        and the device on which the function is currently loaded.\n    numRegs : int\n        The number of registers used by each thread of this function.\n    ptxVersion : int\n        The PTX virtual architecture version for which the function was\n        compiled. This value is the major PTX version * 10 + the minor PTX\n        version, so a PTX version 1.3 function would return the value 13.\n    binaryVersion : int\n        The binary architecture version for which the function was\n        compiled. This value is the major binary version * 10 + the minor\n        binary version, so a binary version 1.3 function would return the\n        value 13.\n    cacheModeCA : int\n        The attribute to indicate whether the function has been compiled\n        with user specified option \"-Xptxas --dlcm=ca\" set.\n    maxDynamicSharedSizeBytes : int\n        The maximum size in bytes of dynamic shared memory per block for\n        this function. Any launch must have a dynamic shared memory size\n        smaller than this value.\n    preferredShmemCarveout : int\n        On devices where the L1 cache and shared memory use the same\n        hardware resources, this sets the shared memory carveout\n        prefere""nce, in percent of the maximum shared memory. Refer to\n        cudaDevAttrMaxSharedMemoryPerMultiprocessor. This is only a hint,\n        and the driver can choose a different ratio if required to execute\n        the function. See cudaFuncSetAttribute\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_6cudart_cudaFuncAttributes, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaFuncAttributes, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_18cudaFuncAttributes_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaFuncAttributes, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemLocation(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_15cudaMemLocation_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemLocation(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_15cudaMemLocation_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaMemLocation_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaMemLocation_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaMemLocation_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaMemLocation_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaMemLocation_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaMemLocation_2id_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaMemLocation_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaMemLocation_2id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemLocation[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaMemLocation_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaMemLocation_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaMemLocation_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaMemLocation_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaMemLocation_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15cudaMemLocation_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemLocation[] = {
  {(char *)"type", __pyx_getprop_4cuda_6cudart_15cudaMemLocation_type, __pyx_setprop_4cuda_6cudart_15cudaMemLocation_type, (char *)0, 0},
  {(char *)"id", __pyx_getprop_4cuda_6cudart_15cudaMemLocation_id, __pyx_setprop_4cuda_6cudart_15cudaMemLocation_id, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemLocation = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemLocation", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemLocation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemLocation, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_15cudaMemLocation_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaMemLocation(void_ptr _ptr=0)\n\n    Specifies a memory location.  To specify a gpu, set type =\n    cudaMemLocationTypeDevice and set id = the gpu's device ordinal.\n\n    Attributes\n    ----------\n    type : cudaMemLocationType\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_6cudart_cudaMemLocation, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemLocation, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_15cudaMemLocation_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemLocation, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemAccessDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)o);
  p->_location = ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemAccessDesc(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_17cudaMemAccessDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_location);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaMemAccessDesc(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)o;
  if (p->_location) {
    e = (*v)(((PyObject *)p->_location), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaMemAccessDesc(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemAccessDesc_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemAccessDesc_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_17cudaMemAccessDesc_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_17cudaMemAccessDesc_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemAccessDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaMemAccessDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemAccessDesc[] = {
  {(char *)"location", __pyx_getprop_4cuda_6cudart_17cudaMemAccessDesc_location, __pyx_setprop_4cuda_6cudart_17cudaMemAccessDesc_location, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_17cudaMemAccessDesc_flags, __pyx_setprop_4cuda_6cudart_17cudaMemAccessDesc_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemAccessDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemAccessDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemAccessDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_17cudaMemAccessDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaMemAccessDesc(void_ptr _ptr=0)\n\n    Memory access descriptor\n\n    Attributes\n    ----------\n    location : cudaMemLocation\n        Location on which the request is to change it's accessibility\n    flags : cudaMemAccessFlags\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_6cudart_cudaMemAccessDesc, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaMemAccessDesc, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaMemAccessDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemAccessDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_17cudaMemAccessDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemAccessDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemPoolProps(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)o);
  p->_location = ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)Py_None); Py_INCREF(Py_None);
  p->_cwin32SecurityAttributes = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemPoolProps(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *p = (struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_16cudaMemPoolProps_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_location);
  Py_CLEAR(p->_cwin32SecurityAttributes);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaMemPoolProps(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *p = (struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)o;
  if (p->_location) {
    e = (*v)(((PyObject *)p->_location), a); if (e) return e;
  }
  if (p->_cwin32SecurityAttributes) {
    e = (*v)(((PyObject *)p->_cwin32SecurityAttributes), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaMemPoolProps(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *p = (struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_6cudart_cudaMemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cwin32SecurityAttributes);
  p->_cwin32SecurityAttributes = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_allocType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_9allocType_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_allocType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_9allocType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_handleTypes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_handleTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11handleTypes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_win32SecurityAttributes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_win32SecurityAttributes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_23win32SecurityAttributes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemPoolProps[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16cudaMemPoolProps_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16cudaMemPoolProps_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemPoolProps[] = {
  {(char *)"allocType", __pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_allocType, __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_allocType, (char *)0, 0},
  {(char *)"handleTypes", __pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_handleTypes, __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_handleTypes, (char *)0, 0},
  {(char *)"location", __pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_location, __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_location, (char *)0, 0},
  {(char *)"win32SecurityAttributes", __pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_win32SecurityAttributes, __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_win32SecurityAttributes, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_16cudaMemPoolProps_reserved, __pyx_setprop_4cuda_6cudart_16cudaMemPoolProps_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemPoolProps = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemPoolProps", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemPoolProps, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_16cudaMemPoolProps_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaMemPoolProps(void_ptr _ptr=0)\n\n    Specifies the properties of allocations made from the pool.\n\n    Attributes\n    ----------\n    allocType : cudaMemAllocationType\n        Allocation type. Currently must be specified as\n        cudaMemAllocationTypePinned\n    handleTypes : cudaMemAllocationHandleType\n        Handle types that will be supported by allocations from the pool.\n    location : cudaMemLocation\n        Location allocations should reside.\n    win32SecurityAttributes : Any\n        Windows-specific LPSECURITYATTRIBUTES required when\n        cudaMemHandleTypeWin32 is specified. This security attribute\n        defines the scope of which exported allocations may be tranferred\n        to other processes. In all other cases, this field is required to\n        be zero.\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_6cudart_cudaMemPoolProps, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaMemPoolProps, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaMemPoolProps, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemPoolProps, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_16cudaMemPoolProps_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemPoolProps, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemPoolPtrExportData(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemPoolPtrExportData(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_24cudaMemPoolPtrExportData_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaMemPoolPtrExportData_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaMemPoolPtrExportData_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemPoolPtrExportData[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_24cudaMemPoolPtrExportData_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemPoolPtrExportData[] = {
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_24cudaMemPoolPtrExportData_reserved, __pyx_setprop_4cuda_6cudart_24cudaMemPoolPtrExportData_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemPoolPtrExportData", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemPoolPtrExportData, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_24cudaMemPoolPtrExportData_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaMemPoolPtrExportData(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_6cudart_cudaMemPoolPtrExportData, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemPoolPtrExportData, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_24cudaMemPoolPtrExportData_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemPoolPtrExportData, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemAllocNodeParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)o);
  p->_poolProps = ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)Py_None); Py_INCREF(Py_None);
  p->_cdptr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemAllocNodeParams(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_22cudaMemAllocNodeParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_poolProps);
  Py_CLEAR(p->_cdptr);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaMemAllocNodeParams(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)o;
  if (p->_poolProps) {
    e = (*v)(((PyObject *)p->_poolProps), a); if (e) return e;
  }
  if (p->_cdptr) {
    e = (*v)(((PyObject *)p->_cdptr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaMemAllocNodeParams(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)o;
  tmp = ((PyObject*)p->_poolProps);
  p->_poolProps = ((struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cdptr);
  p->_cdptr = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_poolProps(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_poolProps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_9poolProps_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11accessDescs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_15accessDescCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_bytesize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_bytesize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_8bytesize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_dptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_dptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_4dptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaMemAllocNodeParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaMemAllocNodeParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaMemAllocNodeParams[] = {
  {(char *)"poolProps", __pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_poolProps, __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_poolProps, (char *)0, 0},
  {(char *)"accessDescs", __pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescs, __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescs, (char *)0, 0},
  {(char *)"accessDescCount", __pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescCount, __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_accessDescCount, (char *)0, 0},
  {(char *)"bytesize", __pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_bytesize, __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_bytesize, (char *)0, 0},
  {(char *)"dptr", __pyx_getprop_4cuda_6cudart_22cudaMemAllocNodeParams_dptr, __pyx_setprop_4cuda_6cudart_22cudaMemAllocNodeParams_dptr, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemAllocNodeParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemAllocNodeParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemAllocNodeParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_22cudaMemAllocNodeParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaMemAllocNodeParams(void_ptr _ptr=0)\n\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : cudaMemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be cudaMemHandleTypeNone. IPC is\n        not supported. in: array of memory access descriptors. Used to\n        describe peer GPU access\n    accessDescs : cudaMemAccessDesc\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    accessDescCount : size_t\n        in: Number of `accessDescs`s\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : Any\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_6cudart_cudaMemAllocNodeParams, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaMemAllocNodeParams, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaMemAllocNodeParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaMemAllocNodeParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_22cudaMemAllocNodeParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemAllocNodeParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_CUuuid_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_CUuuid_st(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_9CUuuid_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_9CUuuid_st_bytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_9CUuuid_st_5bytes_1__get__(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_CUuuid_st[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_9CUuuid_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_9CUuuid_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9CUuuid_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_9CUuuid_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9CUuuid_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_9CUuuid_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_CUuuid_st[] = {
  {(char *)"bytes", __pyx_getprop_4cuda_6cudart_9CUuuid_st_bytes, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_CUuuid_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.CUuuid_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_CUuuid_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "CUuuid_st(void_ptr _ptr=0)\n\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_6cudart_CUuuid_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_CUuuid_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_9CUuuid_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaDeviceProp(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)o);
  p->_uuid = ((struct __pyx_obj_4cuda_6cudart_cudaUUID_t *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_14cudaDeviceProp_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaDeviceProp(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *p = (struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_14cudaDeviceProp_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_uuid);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaDeviceProp(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *p = (struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)o;
  if (p->_uuid) {
    e = (*v)(((PyObject *)p->_uuid), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaDeviceProp(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *p = (struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *)o;
  tmp = ((PyObject*)p->_uuid);
  p->_uuid = ((struct __pyx_obj_4cuda_6cudart_cudaUUID_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4name_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_uuid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4uuid_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_uuid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4uuid_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_luid(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4luid_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_luid(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_4luid_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_luidDeviceNodeMask(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_luidDeviceNodeMask(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18luidDeviceNodeMask_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_totalGlobalMem(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_totalGlobalMem(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14totalGlobalMem_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17sharedMemPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_regsPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_regsPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12regsPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_warpSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8warpSize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_warpSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8warpSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_memPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8memPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_memPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8memPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxThreadsPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13maxThreadsDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxGridSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxGridSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11maxGridSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_clockRate(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9clockRate_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_clockRate(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9clockRate_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_totalConstMem(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_totalConstMem(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13totalConstMem_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_major(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5major_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_major(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5major_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_minor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5minor_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_minor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_5minor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_textureAlignment(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_textureAlignment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16textureAlignment_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_texturePitchAlignment(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_texturePitchAlignment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21texturePitchAlignment_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_deviceOverlap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_deviceOverlap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13deviceOverlap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_multiProcessorCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_multiProcessorCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19multiProcessorCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_kernelExecTimeoutEnabled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_kernelExecTimeoutEnabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24kernelExecTimeoutEnabled_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_integrated(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10integrated_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_integrated(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10integrated_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_canMapHostMemory(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_canMapHostMemory(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16canMapHostMemory_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_computeMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11computeMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_computeMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11computeMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture1D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DMipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DMipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DMipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLinear(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLinear(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture1DLinear_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture2D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DMipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DMipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DMipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLinear(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLinear(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DLinear_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DGather(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DGather(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_18maxTexture2DGather_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxTexture3D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3DAlt(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3DAlt(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15maxTexture3DAlt_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxTextureCubemap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLayered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLayered(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture1DLayered_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLayered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLayered(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxTexture2DLayered_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemapLayered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemapLayered(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxTextureCubemapLayered_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface1D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface2D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface3D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface3D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_12maxSurface3D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1DLayered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1DLayered(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface1DLayered_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2DLayered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2DLayered(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_19maxSurface2DLayered_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17maxSurfaceCubemap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemapLayered(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemapLayered(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24maxSurfaceCubemapLayered_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_surfaceAlignment(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_surfaceAlignment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16surfaceAlignment_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_concurrentKernels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_concurrentKernels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17concurrentKernels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_ECCEnabled(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_ECCEnabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_10ECCEnabled_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pciBusID(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8pciBusID_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pciBusID(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_8pciBusID_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pciDeviceID(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pciDeviceID(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDeviceID_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pciDomainID(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pciDomainID(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11pciDomainID_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_tccDriver(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9tccDriver_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_tccDriver(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_9tccDriver_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_asyncEngineCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_asyncEngineCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_16asyncEngineCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_unifiedAddressing(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_unifiedAddressing(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17unifiedAddressing_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_memoryClockRate(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_memoryClockRate(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15memoryClockRate_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_memoryBusWidth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_memoryBusWidth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_14memoryBusWidth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_l2CacheSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_l2CacheSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_11l2CacheSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_persistingL2CacheMaxSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_persistingL2CacheMaxSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_24persistingL2CacheMaxSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerMultiProcessor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerMultiProcessor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_27maxThreadsPerMultiProcessor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_streamPrioritiesSupported(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_streamPrioritiesSupported(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25streamPrioritiesSupported_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_globalL1CacheSupported(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_globalL1CacheSupported(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22globalL1CacheSupported_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_localL1CacheSupported(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_localL1CacheSupported(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21localL1CacheSupported_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerMultiprocessor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerMultiprocessor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26sharedMemPerMultiprocessor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_regsPerMultiprocessor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_regsPerMultiprocessor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_21regsPerMultiprocessor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_managedMemory(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13managedMemory_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_managedMemory(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_13managedMemory_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_isMultiGpuBoard(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_isMultiGpuBoard(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_15isMultiGpuBoard_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_multiGpuBoardGroupID(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_multiGpuBoardGroupID(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20multiGpuBoardGroupID_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_hostNativeAtomicSupported(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_hostNativeAtomicSupported(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25hostNativeAtomicSupported_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_singleToDoublePrecisionPerfRatio(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_singleToDoublePrecisionPerfRatio(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_32singleToDoublePrecisionPerfRatio_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccess(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccess(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_20pageableMemoryAccess_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_concurrentManagedAccess(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_concurrentManagedAccess(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_23concurrentManagedAccess_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_computePreemptionSupported(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_computePreemptionSupported(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26computePreemptionSupported_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_canUseHostPointerForRegisteredMem(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_canUseHostPointerForRegisteredMem(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_33canUseHostPointerForRegisteredMem_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_cooperativeLaunch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_cooperativeLaunch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_17cooperativeLaunch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_cooperativeMultiDeviceLaunch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_cooperativeMultiDeviceLaunch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_28cooperativeMultiDeviceLaunch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlockOptin(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlockOptin(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_22sharedMemPerBlockOptin_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccessUsesHostPageTables(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccessUsesHostPageTables(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_38pageableMemoryAccessUsesHostPageTables_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_directManagedMemAccessFromHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_directManagedMemAccessFromHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_30directManagedMemAccessFromHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxBlocksPerMultiProcessor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxBlocksPerMultiProcessor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_26maxBlocksPerMultiProcessor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_accessPolicyMaxWindowSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_accessPolicyMaxWindowSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25accessPolicyMaxWindowSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_14cudaDeviceProp_reservedSharedMemPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_reservedSharedMemPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_14cudaDeviceProp_25reservedSharedMemPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaDeviceProp[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaDeviceProp_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaDeviceProp_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaDeviceProp_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_14cudaDeviceProp_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_14cudaDeviceProp_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_14cudaDeviceProp_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaDeviceProp[] = {
  {(char *)"name", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_name, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_name, (char *)0, 0},
  {(char *)"uuid", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_uuid, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_uuid, (char *)0, 0},
  {(char *)"luid", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_luid, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_luid, (char *)0, 0},
  {(char *)"luidDeviceNodeMask", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_luidDeviceNodeMask, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_luidDeviceNodeMask, (char *)0, 0},
  {(char *)"totalGlobalMem", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_totalGlobalMem, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_totalGlobalMem, (char *)0, 0},
  {(char *)"sharedMemPerBlock", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlock, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlock, (char *)0, 0},
  {(char *)"regsPerBlock", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_regsPerBlock, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_regsPerBlock, (char *)0, 0},
  {(char *)"warpSize", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_warpSize, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_warpSize, (char *)0, 0},
  {(char *)"memPitch", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_memPitch, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_memPitch, (char *)0, 0},
  {(char *)"maxThreadsPerBlock", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerBlock, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerBlock, (char *)0, 0},
  {(char *)"maxThreadsDim", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsDim, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsDim, (char *)0, 0},
  {(char *)"maxGridSize", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxGridSize, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxGridSize, (char *)0, 0},
  {(char *)"clockRate", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_clockRate, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_clockRate, (char *)0, 0},
  {(char *)"totalConstMem", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_totalConstMem, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_totalConstMem, (char *)0, 0},
  {(char *)"major", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_major, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_major, (char *)0, 0},
  {(char *)"minor", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_minor, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_minor, (char *)0, 0},
  {(char *)"textureAlignment", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_textureAlignment, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_textureAlignment, (char *)0, 0},
  {(char *)"texturePitchAlignment", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_texturePitchAlignment, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_texturePitchAlignment, (char *)0, 0},
  {(char *)"deviceOverlap", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_deviceOverlap, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_deviceOverlap, (char *)0, 0},
  {(char *)"multiProcessorCount", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_multiProcessorCount, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_multiProcessorCount, (char *)0, 0},
  {(char *)"kernelExecTimeoutEnabled", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_kernelExecTimeoutEnabled, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_kernelExecTimeoutEnabled, (char *)0, 0},
  {(char *)"integrated", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_integrated, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_integrated, (char *)0, 0},
  {(char *)"canMapHostMemory", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_canMapHostMemory, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_canMapHostMemory, (char *)0, 0},
  {(char *)"computeMode", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_computeMode, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_computeMode, (char *)0, 0},
  {(char *)"maxTexture1D", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1D, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1D, (char *)0, 0},
  {(char *)"maxTexture1DMipmap", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DMipmap, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DMipmap, (char *)0, 0},
  {(char *)"maxTexture1DLinear", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLinear, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLinear, (char *)0, 0},
  {(char *)"maxTexture2D", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2D, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2D, (char *)0, 0},
  {(char *)"maxTexture2DMipmap", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DMipmap, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DMipmap, (char *)0, 0},
  {(char *)"maxTexture2DLinear", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLinear, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLinear, (char *)0, 0},
  {(char *)"maxTexture2DGather", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DGather, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DGather, (char *)0, 0},
  {(char *)"maxTexture3D", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3D, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3D, (char *)0, 0},
  {(char *)"maxTexture3DAlt", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3DAlt, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture3DAlt, (char *)0, 0},
  {(char *)"maxTextureCubemap", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemap, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemap, (char *)0, 0},
  {(char *)"maxTexture1DLayered", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLayered, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture1DLayered, (char *)0, 0},
  {(char *)"maxTexture2DLayered", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLayered, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTexture2DLayered, (char *)0, 0},
  {(char *)"maxTextureCubemapLayered", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemapLayered, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxTextureCubemapLayered, (char *)0, 0},
  {(char *)"maxSurface1D", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1D, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1D, (char *)0, 0},
  {(char *)"maxSurface2D", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2D, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2D, (char *)0, 0},
  {(char *)"maxSurface3D", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface3D, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface3D, (char *)0, 0},
  {(char *)"maxSurface1DLayered", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1DLayered, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface1DLayered, (char *)0, 0},
  {(char *)"maxSurface2DLayered", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2DLayered, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurface2DLayered, (char *)0, 0},
  {(char *)"maxSurfaceCubemap", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemap, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemap, (char *)0, 0},
  {(char *)"maxSurfaceCubemapLayered", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemapLayered, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxSurfaceCubemapLayered, (char *)0, 0},
  {(char *)"surfaceAlignment", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_surfaceAlignment, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_surfaceAlignment, (char *)0, 0},
  {(char *)"concurrentKernels", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_concurrentKernels, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_concurrentKernels, (char *)0, 0},
  {(char *)"ECCEnabled", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_ECCEnabled, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_ECCEnabled, (char *)0, 0},
  {(char *)"pciBusID", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pciBusID, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pciBusID, (char *)0, 0},
  {(char *)"pciDeviceID", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pciDeviceID, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pciDeviceID, (char *)0, 0},
  {(char *)"pciDomainID", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pciDomainID, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pciDomainID, (char *)0, 0},
  {(char *)"tccDriver", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_tccDriver, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_tccDriver, (char *)0, 0},
  {(char *)"asyncEngineCount", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_asyncEngineCount, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_asyncEngineCount, (char *)0, 0},
  {(char *)"unifiedAddressing", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_unifiedAddressing, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_unifiedAddressing, (char *)0, 0},
  {(char *)"memoryClockRate", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_memoryClockRate, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_memoryClockRate, (char *)0, 0},
  {(char *)"memoryBusWidth", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_memoryBusWidth, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_memoryBusWidth, (char *)0, 0},
  {(char *)"l2CacheSize", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_l2CacheSize, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_l2CacheSize, (char *)0, 0},
  {(char *)"persistingL2CacheMaxSize", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_persistingL2CacheMaxSize, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_persistingL2CacheMaxSize, (char *)0, 0},
  {(char *)"maxThreadsPerMultiProcessor", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerMultiProcessor, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxThreadsPerMultiProcessor, (char *)0, 0},
  {(char *)"streamPrioritiesSupported", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_streamPrioritiesSupported, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_streamPrioritiesSupported, (char *)0, 0},
  {(char *)"globalL1CacheSupported", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_globalL1CacheSupported, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_globalL1CacheSupported, (char *)0, 0},
  {(char *)"localL1CacheSupported", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_localL1CacheSupported, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_localL1CacheSupported, (char *)0, 0},
  {(char *)"sharedMemPerMultiprocessor", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerMultiprocessor, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerMultiprocessor, (char *)0, 0},
  {(char *)"regsPerMultiprocessor", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_regsPerMultiprocessor, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_regsPerMultiprocessor, (char *)0, 0},
  {(char *)"managedMemory", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_managedMemory, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_managedMemory, (char *)0, 0},
  {(char *)"isMultiGpuBoard", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_isMultiGpuBoard, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_isMultiGpuBoard, (char *)0, 0},
  {(char *)"multiGpuBoardGroupID", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_multiGpuBoardGroupID, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_multiGpuBoardGroupID, (char *)0, 0},
  {(char *)"hostNativeAtomicSupported", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_hostNativeAtomicSupported, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_hostNativeAtomicSupported, (char *)0, 0},
  {(char *)"singleToDoublePrecisionPerfRatio", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_singleToDoublePrecisionPerfRatio, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_singleToDoublePrecisionPerfRatio, (char *)0, 0},
  {(char *)"pageableMemoryAccess", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccess, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccess, (char *)0, 0},
  {(char *)"concurrentManagedAccess", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_concurrentManagedAccess, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_concurrentManagedAccess, (char *)0, 0},
  {(char *)"computePreemptionSupported", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_computePreemptionSupported, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_computePreemptionSupported, (char *)0, 0},
  {(char *)"canUseHostPointerForRegisteredMem", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_canUseHostPointerForRegisteredMem, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_canUseHostPointerForRegisteredMem, (char *)0, 0},
  {(char *)"cooperativeLaunch", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_cooperativeLaunch, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_cooperativeLaunch, (char *)0, 0},
  {(char *)"cooperativeMultiDeviceLaunch", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_cooperativeMultiDeviceLaunch, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_cooperativeMultiDeviceLaunch, (char *)0, 0},
  {(char *)"sharedMemPerBlockOptin", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlockOptin, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_sharedMemPerBlockOptin, (char *)0, 0},
  {(char *)"pageableMemoryAccessUsesHostPageTables", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccessUsesHostPageTables, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_pageableMemoryAccessUsesHostPageTables, (char *)0, 0},
  {(char *)"directManagedMemAccessFromHost", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_directManagedMemAccessFromHost, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_directManagedMemAccessFromHost, (char *)0, 0},
  {(char *)"maxBlocksPerMultiProcessor", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_maxBlocksPerMultiProcessor, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_maxBlocksPerMultiProcessor, (char *)0, 0},
  {(char *)"accessPolicyMaxWindowSize", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_accessPolicyMaxWindowSize, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_accessPolicyMaxWindowSize, (char *)0, 0},
  {(char *)"reservedSharedMemPerBlock", __pyx_getprop_4cuda_6cudart_14cudaDeviceProp_reservedSharedMemPerBlock, __pyx_setprop_4cuda_6cudart_14cudaDeviceProp_reservedSharedMemPerBlock, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaDeviceProp = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaDeviceProp", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaDeviceProp, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_14cudaDeviceProp_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaDeviceProp(void_ptr _ptr=0)\n\n    CUDA device properties\n\n    Attributes\n    ----------\n    name : List[char]\n        ASCII string identifying device\n    uuid : cudaUUID_t\n        16-byte unique identifier\n    luid : bytes\n        8-byte locally unique identifier. Value is undefined on TCC and\n        non-Windows platforms\n    luidDeviceNodeMask : unsigned int\n        LUID device node mask. Value is undefined on TCC and non-Windows\n        platforms\n    totalGlobalMem : size_t\n        Global memory available on device in bytes\n    sharedMemPerBlock : size_t\n        Shared memory available per block in bytes\n    regsPerBlock : int\n        32-bit registers available per block\n    warpSize : int\n        Warp size in threads\n    memPitch : size_t\n        Maximum pitch in bytes allowed by memory copies\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    clockRate : int\n        Clock frequency in kilohertz\n    totalConstMem : size_t\n        Constant memory available on device in bytes\n    major : int\n        Major compute capability\n    minor : int\n        Minor compute capability\n    textureAlignment : size_t\n        Alignment requirement for textures\n    texturePitchAlignment : size_t\n        Pitch alignment requirement for texture references bound to pitched\n        memory\n    deviceOverlap : int\n        Device can concurrently copy memory and execute a kernel.\n        Deprecated. Use instead asyncEngineCount.\n    multiProcessorCount : int\n        Number of multiprocessors on device\n    kernelExecTimeoutEnabled : int\n        Specified whether there is a run time limit on kernels\n    integrated : int\n        Device is integrated as opposed to discrete\n    canMapHostMemory : int\n        Device can map host memory with\n        cudaHost""Alloc/cudaHostGetDevicePointer\n    computeMode : int\n        Compute mode (See cudaComputeMode)\n    maxTexture1D : int\n        Maximum 1D texture size\n    maxTexture1DMipmap : int\n        Maximum 1D mipmapped texture size\n    maxTexture1DLinear : int\n        Deprecated, do not use. Use cudaDeviceGetTexture1DLinearMaxWidth()\n        or cuDeviceGetTexture1DLinearMaxWidth() instead.\n    maxTexture2D : List[int]\n        Maximum 2D texture dimensions\n    maxTexture2DMipmap : List[int]\n        Maximum 2D mipmapped texture dimensions\n    maxTexture2DLinear : List[int]\n        Maximum dimensions (width, height, pitch) for 2D textures bound to\n        pitched memory\n    maxTexture2DGather : List[int]\n        Maximum 2D texture dimensions if texture gather operations have to\n        be performed\n    maxTexture3D : List[int]\n        Maximum 3D texture dimensions\n    maxTexture3DAlt : List[int]\n        Maximum alternate 3D texture dimensions\n    maxTextureCubemap : int\n        Maximum Cubemap texture dimensions\n    maxTexture1DLayered : List[int]\n        Maximum 1D layered texture dimensions\n    maxTexture2DLayered : List[int]\n        Maximum 2D layered texture dimensions\n    maxTextureCubemapLayered : List[int]\n        Maximum Cubemap layered texture dimensions\n    maxSurface1D : int\n        Maximum 1D surface size\n    maxSurface2D : List[int]\n        Maximum 2D surface dimensions\n    maxSurface3D : List[int]\n        Maximum 3D surface dimensions\n    maxSurface1DLayered : List[int]\n        Maximum 1D layered surface dimensions\n    maxSurface2DLayered : List[int]\n        Maximum 2D layered surface dimensions\n    maxSurfaceCubemap : int\n        Maximum Cubemap surface dimensions\n    maxSurfaceCubemapLayered : List[int]\n        Maximum Cubemap layered surface dimensions\n    surfaceAlignment : size_t\n        Alignment requirements for surfaces\n    concurrentKernels : int\n        Device can possibly execute multiple kernels concurren""tly\n    ECCEnabled : int\n        Device has ECC support enabled\n    pciBusID : int\n        PCI bus ID of the device\n    pciDeviceID : int\n        PCI device ID of the device\n    pciDomainID : int\n        PCI domain ID of the device\n    tccDriver : int\n        1 if device is a Tesla device using TCC driver, 0 otherwise\n    asyncEngineCount : int\n        Number of asynchronous engines\n    unifiedAddressing : int\n        Device shares a unified address space with the host\n    memoryClockRate : int\n        Peak memory clock frequency in kilohertz\n    memoryBusWidth : int\n        Global memory bus width in bits\n    l2CacheSize : int\n        Size of L2 cache in bytes\n    persistingL2CacheMaxSize : int\n        Device's maximum l2 persisting lines capacity setting in bytes\n    maxThreadsPerMultiProcessor : int\n        Maximum resident threads per multiprocessor\n    streamPrioritiesSupported : int\n        Device supports stream priorities\n    globalL1CacheSupported : int\n        Device supports caching globals in L1\n    localL1CacheSupported : int\n        Device supports caching locals in L1\n    sharedMemPerMultiprocessor : size_t\n        Shared memory available per multiprocessor in bytes\n    regsPerMultiprocessor : int\n        32-bit registers available per multiprocessor\n    managedMemory : int\n        Device supports allocating managed memory on this system\n    isMultiGpuBoard : int\n        Device is on a multi-GPU board\n    multiGpuBoardGroupID : int\n        Unique identifier for a group of devices on the same multi-GPU\n        board\n    hostNativeAtomicSupported : int\n        Link between the device and the host supports native atomic\n        operations\n    singleToDoublePrecisionPerfRatio : int\n        Ratio of single precision performance (in floating-point operations\n        per second) to double precision performance\n    pageableMemoryAccess : int\n        Device supports coherently accessing pageable memory without""\n        calling cudaHostRegister on it\n    concurrentManagedAccess : int\n        Device can coherently access managed memory concurrently with the\n        CPU\n    computePreemptionSupported : int\n        Device supports Compute Preemption\n    canUseHostPointerForRegisteredMem : int\n        Device can access host registered memory at the same virtual\n        address as the CPU\n    cooperativeLaunch : int\n        Device supports launching cooperative kernels via\n        cudaLaunchCooperativeKernel\n    cooperativeMultiDeviceLaunch : int\n        Deprecated, cudaLaunchCooperativeKernelMultiDevice is deprecated.\n    sharedMemPerBlockOptin : size_t\n        Per device maximum shared memory per block usable by special opt in\n    pageableMemoryAccessUsesHostPageTables : int\n        Device accesses pageable memory via the host's page tables\n    directManagedMemAccessFromHost : int\n        Host can directly access managed memory on the device without\n        migration.\n    maxBlocksPerMultiProcessor : int\n        Maximum number of resident blocks per multiprocessor\n    accessPolicyMaxWindowSize : int\n        The maximum value of cudaAccessPolicyWindow::num_bytes.\n    reservedSharedMemPerBlock : size_t\n        Shared memory reserved by CUDA driver per block in bytes\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaDeviceProp, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaDeviceProp, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaDeviceProp, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaDeviceProp, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_14cudaDeviceProp_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaDeviceProp, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcEventHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_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_6cudart_cudaIpcEventHandle_st(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_21cudaIpcEventHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_21cudaIpcEventHandle_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_21cudaIpcEventHandle_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaIpcEventHandle_st[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_21cudaIpcEventHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaIpcEventHandle_st[] = {
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_21cudaIpcEventHandle_st_reserved, __pyx_setprop_4cuda_6cudart_21cudaIpcEventHandle_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaIpcEventHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaIpcEventHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaIpcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_21cudaIpcEventHandle_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*/
  "cudaIpcEventHandle_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_6cudart_cudaIpcEventHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaIpcEventHandle_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaIpcEventHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcMemHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_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_6cudart_cudaIpcMemHandle_st(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_19cudaIpcMemHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaIpcMemHandle_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaIpcMemHandle_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaIpcMemHandle_st[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaIpcMemHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaIpcMemHandle_st[] = {
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_19cudaIpcMemHandle_st_reserved, __pyx_setprop_4cuda_6cudart_19cudaIpcMemHandle_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaIpcMemHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaIpcMemHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaIpcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_19cudaIpcMemHandle_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*/
  "cudaIpcMemHandle_st(void_ptr _ptr=0)\n\n    CUDA IPC memory 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_6cudart_cudaIpcMemHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaIpcMemHandle_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaIpcMemHandle_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)o);
  p->_chandle = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  p->_cname = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_chandle);
  Py_CLEAR(p->_cname);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)o;
  if (p->_chandle) {
    e = (*v)(((PyObject *)p->_chandle), a); if (e) return e;
  }
  if (p->_cname) {
    e = (*v)(((PyObject *)p->_cname), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)o;
  tmp = ((PyObject*)p->_chandle);
  p->_chandle = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cname);
  p->_cname = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s[] = {
  {(char *)"handle", __pyx_getprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_handle, __pyx_setprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_handle, (char *)0, 0},
  {(char *)"name", __pyx_getprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_name, __pyx_setprop_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_name, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalMemoryHandleDesc_handle_handle_win32_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalMemoryHandleDesc_handle_handle_win32_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    handle : void\n\n    name : void\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)o);
  p->_win32 = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)Py_None); Py_INCREF(Py_None);
  p->_cnvSciBufObject = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_win32);
  Py_CLEAR(p->_cnvSciBufObject);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)o;
  if (p->_win32) {
    e = (*v)(((PyObject *)p->_win32), a); if (e) return e;
  }
  if (p->_cnvSciBufObject) {
    e = (*v)(((PyObject *)p->_cnvSciBufObject), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)o;
  tmp = ((PyObject*)p->_win32);
  p->_win32 = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cnvSciBufObject);
  p->_cnvSciBufObject = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_fd(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_fd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_2fd_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_win32(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_win32(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5win32_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_nvSciBufObject(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_nvSciBufObject(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_14nvSciBufObject_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u[] = {
  {(char *)"fd", __pyx_getprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_fd, __pyx_setprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_fd, (char *)0, 0},
  {(char *)"win32", __pyx_getprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_win32, __pyx_setprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_win32, (char *)0, 0},
  {(char *)"nvSciBufObject", __pyx_getprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_nvSciBufObject, __pyx_setprop_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_nvSciBufObject, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalMemoryHandleDesc_handle_u", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalMemoryHandleDesc_handle_u(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    fd : int\n\n    win32 : _cudaExternalMemoryHandleDesc_handle_handle_win32_s\n\n    nvSciBufObject : void\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemoryHandleDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)o);
  p->_handle = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalMemoryHandleDesc(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_28cudaExternalMemoryHandleDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_handle);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaExternalMemoryHandleDesc(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)o;
  if (p->_handle) {
    e = (*v)(((PyObject *)p->_handle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaExternalMemoryHandleDesc(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalMemoryHandleDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryHandleDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalMemoryHandleDesc[] = {
  {(char *)"type", __pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_type, __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_type, (char *)0, 0},
  {(char *)"handle", __pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_handle, __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_handle, (char *)0, 0},
  {(char *)"size", __pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_size, __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_size, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_flags, __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryHandleDesc_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalMemoryHandleDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalMemoryHandleDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_28cudaExternalMemoryHandleDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaExternalMemoryHandleDesc(void_ptr _ptr=0)\n\n    External memory handle descriptor\n\n    Attributes\n    ----------\n    type : cudaExternalMemoryHandleType\n        Type of the handle\n    handle : _cudaExternalMemoryHandleDesc_handle_u\n\n    size : unsigned long long\n        Size of the memory allocation\n    flags : unsigned int\n        Flags must either be zero or cudaExternalMemoryDedicated\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaExternalMemoryHandleDesc, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaExternalMemoryHandleDesc, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaExternalMemoryHandleDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalMemoryHandleDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_28cudaExternalMemoryHandleDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalMemoryHandleDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemoryBufferDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalMemoryBufferDesc(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_28cudaExternalMemoryBufferDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalMemoryBufferDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_28cudaExternalMemoryBufferDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalMemoryBufferDesc[] = {
  {(char *)"offset", __pyx_getprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_offset, __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_offset, (char *)0, 0},
  {(char *)"size", __pyx_getprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_size, __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_size, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_flags, __pyx_setprop_4cuda_6cudart_28cudaExternalMemoryBufferDesc_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalMemoryBufferDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalMemoryBufferDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_28cudaExternalMemoryBufferDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaExternalMemoryBufferDesc(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\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_6cudart_cudaExternalMemoryBufferDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalMemoryBufferDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_28cudaExternalMemoryBufferDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalMemoryBufferDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)o);
  p->_formatDesc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  p->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_formatDesc);
  Py_CLEAR(p->_extent);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)o;
  if (p->_formatDesc) {
    e = (*v)(((PyObject *)p->_formatDesc), a); if (e) return e;
  }
  if (p->_extent) {
    e = (*v)(((PyObject *)p->_extent), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *)o;
  tmp = ((PyObject*)p->_formatDesc);
  p->_formatDesc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_extent);
  p->_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_formatDesc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_formatDesc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10formatDesc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_extent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_extent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6extent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_numLevels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_numLevels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9numLevels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc[] = {
  {(char *)"offset", __pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_offset, __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_offset, (char *)0, 0},
  {(char *)"formatDesc", __pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_formatDesc, __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_formatDesc, (char *)0, 0},
  {(char *)"extent", __pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_extent, __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_extent, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_flags, __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_flags, (char *)0, 0},
  {(char *)"numLevels", __pyx_getprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_numLevels, __pyx_setprop_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_numLevels, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalMemoryMipmappedArrayDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_36cudaExternalMemoryMipmappedArrayDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaExternalMemoryMipmappedArrayDesc(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    formatDesc : cudaChannelFormatDesc\n        Format of base level of the mipmap chain\n    extent : cudaExtent\n        Dimensions of base level of the mipmap chain\n    flags : unsigned int\n        Flags associated with CUDA mipmapped arrays. See\n        cudaMallocMipmappedArray\n    numLevels : unsigned int\n        Total number of levels in the mipmap chain\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)o);
  p->_chandle = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  p->_cname = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_chandle);
  Py_CLEAR(p->_cname);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)o;
  if (p->_chandle) {
    e = (*v)(((PyObject *)p->_chandle), a); if (e) return e;
  }
  if (p->_cname) {
    e = (*v)(((PyObject *)p->_cname), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)o;
  tmp = ((PyObject*)p->_chandle);
  p->_chandle = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cname);
  p->_cname = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s[] = {
  {(char *)"handle", __pyx_getprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_handle, __pyx_setprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_handle, (char *)0, 0},
  {(char *)"name", __pyx_getprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_name, __pyx_setprop_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_name, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_handle_win32_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    handle : void\n\n    name : void\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)o);
  p->_win32 = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)Py_None); Py_INCREF(Py_None);
  p->_cnvSciSyncObj = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_win32);
  Py_CLEAR(p->_cnvSciSyncObj);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)o;
  if (p->_win32) {
    e = (*v)(((PyObject *)p->_win32), a); if (e) return e;
  }
  if (p->_cnvSciSyncObj) {
    e = (*v)(((PyObject *)p->_cnvSciSyncObj), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)o;
  tmp = ((PyObject*)p->_win32);
  p->_win32 = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_cnvSciSyncObj);
  p->_cnvSciSyncObj = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_fd(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_fd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_2fd_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_win32(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_win32(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5win32_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_nvSciSyncObj(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_nvSciSyncObj(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_12nvSciSyncObj_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u[] = {
  {(char *)"fd", __pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_fd, __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_fd, (char *)0, 0},
  {(char *)"win32", __pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_win32, __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_win32, (char *)0, 0},
  {(char *)"nvSciSyncObj", __pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_nvSciSyncObj, __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_nvSciSyncObj, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreHandleDesc_handle_u", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalSemaphoreHandleDesc_handle_u(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    fd : int\n\n    win32 : _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s\n\n    nvSciSyncObj : void\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreHandleDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)o);
  p->_handle = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreHandleDesc(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_31cudaExternalSemaphoreHandleDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_handle);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaExternalSemaphoreHandleDesc(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)o;
  if (p->_handle) {
    e = (*v)(((PyObject *)p->_handle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaExternalSemaphoreHandleDesc(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreHandleDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreHandleDesc[] = {
  {(char *)"type", __pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_type, __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_type, (char *)0, 0},
  {(char *)"handle", __pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_handle, __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_handle, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_flags, __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalSemaphoreHandleDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreHandleDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_31cudaExternalSemaphoreHandleDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaExternalSemaphoreHandleDesc(void_ptr _ptr=0)\n\n    External semaphore handle descriptor\n\n    Attributes\n    ----------\n    type : cudaExternalSemaphoreHandleType\n        Type of the handle\n    handle : _cudaExternalSemaphoreHandleDesc_handle_u\n\n    flags : unsigned int\n        Flags reserved for the future. Must be zero.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaExternalSemaphoreHandleDesc, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaExternalSemaphoreHandleDesc, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreHandleDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreHandleDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreHandleDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s[] = {
  {(char *)"value", __pyx_getprop_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_value, __pyx_setprop_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_fence_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "_cudaExternalSemaphoreSignalParams_params_params_fence_s(void_ptr _ptr)\n\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_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)o);
  p->_cfence = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_cfence);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)o;
  if (p->_cfence) {
    e = (*v)(((PyObject *)p->_cfence), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)o;
  tmp = ((PyObject*)p->_cfence);
  p->_cfence = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u[] = {
  {(char *)"fence", __pyx_getprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_fence, __pyx_setprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_fence, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_reserved, __pyx_setprop_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    fence : void\n\n    reserved : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_key(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_key(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3key_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s[] = {
  {(char *)"key", __pyx_getprop_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_key, __pyx_setprop_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_key, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(void_ptr _ptr)\n\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_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)o);
  p->_fence = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)Py_None); Py_INCREF(Py_None);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)Py_None); Py_INCREF(Py_None);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_fence);
  Py_CLEAR(p->_nvSciSync);
  Py_CLEAR(p->_keyedMutex);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)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_6cudart__cudaExternalSemaphoreSignalParams_params_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)o;
  tmp = ((PyObject*)p->_fence);
  p->_fence = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_nvSciSync);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_keyedMutex);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_nvSciSync(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_nvSciSync(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9nvSciSync_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_keyedMutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_keyedMutex(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10keyedMutex_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s[] = {
  {(char *)"fence", __pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_fence, __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_fence, (char *)0, 0},
  {(char *)"nvSciSync", __pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_nvSciSync, __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_nvSciSync, (char *)0, 0},
  {(char *)"keyedMutex", __pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_keyedMutex, __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_keyedMutex, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_reserved, __pyx_setprop_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreSignalParams_params_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalSemaphoreSignalParams_params_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    fence : _cudaExternalSemaphoreSignalParams_params_params_fence_s\n\n    nvSciSync : _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u\n\n    keyedMutex : _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s\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_6cudart__cudaExternalSemaphoreSignalParams_params_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreSignalParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)o);
  p->_params = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreSignalParams(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_33cudaExternalSemaphoreSignalParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_params);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaExternalSemaphoreSignalParams(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)o;
  if (p->_params) {
    e = (*v)(((PyObject *)p->_params), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaExternalSemaphoreSignalParams(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)o;
  tmp = ((PyObject*)p->_params);
  p->_params = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_params(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_params(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6params_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreSignalParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreSignalParams[] = {
  {(char *)"params", __pyx_getprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_params, __pyx_setprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_params, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_flags, __pyx_setprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_reserved, __pyx_setprop_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalSemaphoreSignalParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreSignalParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_33cudaExternalSemaphoreSignalParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaExternalSemaphoreSignalParams(void_ptr _ptr=0)\n\n    External semaphore signal parameters, compatible with driver type\n\n    Attributes\n    ----------\n    params : _cudaExternalSemaphoreSignalParams_params_s\n\n    flags : unsigned int\n        Only when cudaExternalSemaphoreSignalParams is used to signal a\n        cudaExternalSemaphore_t of type\n        cudaExternalSemaphoreHandleTypeNvSciSync, the valid flag is\n        cudaExternalSemaphoreSignalSkipNvSciBufMemSync: which indicates\n        that while signaling the cudaExternalSemaphore_t, no memory\n        synchronization operations should be performed for any external\n        memory object imported as cudaExternalMemoryHandleTypeNvSciBuf. For\n        all other types of cudaExternalSemaphore_t, 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_6cudart_cudaExternalSemaphoreSignalParams, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaExternalSemaphoreSignalParams, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreSignalParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreSignalParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreSignalParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s[] = {
  {(char *)"value", __pyx_getprop_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_value, __pyx_setprop_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_fence_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "_cudaExternalSemaphoreWaitParams_params_params_fence_s(void_ptr _ptr)\n\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_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)o);
  p->_cfence = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_cfence);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)o;
  if (p->_cfence) {
    e = (*v)(((PyObject *)p->_cfence), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)o;
  tmp = ((PyObject*)p->_cfence);
  p->_cfence = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u[] = {
  {(char *)"fence", __pyx_getprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_fence, __pyx_setprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_fence, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_reserved, __pyx_setprop_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    fence : void\n\n    reserved : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_key(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_key(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3key_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_timeoutMs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_timeoutMs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9timeoutMs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s[] = {
  {(char *)"key", __pyx_getprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_key, __pyx_setprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_key, (char *)0, 0},
  {(char *)"timeoutMs", __pyx_getprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_timeoutMs, __pyx_setprop_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_timeoutMs, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(void_ptr _ptr)\n\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_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)o);
  p->_fence = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)Py_None); Py_INCREF(Py_None);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)Py_None); Py_INCREF(Py_None);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_fence);
  Py_CLEAR(p->_nvSciSync);
  Py_CLEAR(p->_keyedMutex);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)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_6cudart__cudaExternalSemaphoreWaitParams_params_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *p = (struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)o;
  tmp = ((PyObject*)p->_fence);
  p->_fence = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_nvSciSync);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_keyedMutex);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_nvSciSync(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_nvSciSync(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9nvSciSync_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_keyedMutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_keyedMutex(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10keyedMutex_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s[] = {
  {(char *)"fence", __pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_fence, __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_fence, (char *)0, 0},
  {(char *)"nvSciSync", __pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_nvSciSync, __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_nvSciSync, (char *)0, 0},
  {(char *)"keyedMutex", __pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_keyedMutex, __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_keyedMutex, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_reserved, __pyx_setprop_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaExternalSemaphoreWaitParams_params_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaExternalSemaphoreWaitParams_params_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    fence : _cudaExternalSemaphoreWaitParams_params_params_fence_s\n\n    nvSciSync : _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u\n\n    keyedMutex : _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s\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_6cudart__cudaExternalSemaphoreWaitParams_params_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreWaitParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)o);
  p->_params = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreWaitParams(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_31cudaExternalSemaphoreWaitParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_params);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaExternalSemaphoreWaitParams(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)o;
  if (p->_params) {
    e = (*v)(((PyObject *)p->_params), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaExternalSemaphoreWaitParams(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *p = (struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)o;
  tmp = ((PyObject*)p->_params);
  p->_params = ((struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_params(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_params(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6params_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreWaitParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreWaitParams[] = {
  {(char *)"params", __pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_params, __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_params, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_flags, __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_reserved, __pyx_setprop_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalSemaphoreWaitParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreWaitParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_31cudaExternalSemaphoreWaitParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaExternalSemaphoreWaitParams(void_ptr _ptr=0)\n\n    External semaphore wait parameters, compatible with driver type\n\n    Attributes\n    ----------\n    params : _cudaExternalSemaphoreWaitParams_params_s\n\n    flags : unsigned int\n        Only when cudaExternalSemaphoreSignalParams is used to signal a\n        cudaExternalSemaphore_t of type\n        cudaExternalSemaphoreHandleTypeNvSciSync, the valid flag is\n        cudaExternalSemaphoreSignalSkipNvSciBufMemSync: which indicates\n        that while waiting for the cudaExternalSemaphore_t, no memory\n        synchronization operations should be performed for any external\n        memory object imported as cudaExternalMemoryHandleTypeNvSciBuf. For\n        all other types of cudaExternalSemaphore_t, 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_6cudart_cudaExternalSemaphoreWaitParams, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaExternalSemaphoreWaitParams, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreWaitParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreWaitParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreWaitParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaKernelNodeParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)o);
  p->_cfunc = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  p->_gridDim = ((struct __pyx_obj_4cuda_6cudart_dim3 *)Py_None); Py_INCREF(Py_None);
  p->_blockDim = ((struct __pyx_obj_4cuda_6cudart_dim3 *)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_6cudart_20cudaKernelNodeParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaKernelNodeParams(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_20cudaKernelNodeParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_cfunc);
  Py_CLEAR(p->_gridDim);
  Py_CLEAR(p->_blockDim);
  Py_CLEAR(p->_ckernelParams);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaKernelNodeParams(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)o;
  if (p->_cfunc) {
    e = (*v)(((PyObject *)p->_cfunc), a); if (e) return e;
  }
  if (p->_gridDim) {
    e = (*v)(((PyObject *)p->_gridDim), a); if (e) return e;
  }
  if (p->_blockDim) {
    e = (*v)(((PyObject *)p->_blockDim), 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_6cudart_cudaKernelNodeParams(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *p = (struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)o;
  tmp = ((PyObject*)p->_cfunc);
  p->_cfunc = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_gridDim);
  p->_gridDim = ((struct __pyx_obj_4cuda_6cudart_dim3 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_blockDim);
  p->_blockDim = ((struct __pyx_obj_4cuda_6cudart_dim3 *)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_6cudart_20cudaKernelNodeParams_func(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_4func_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_4func_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_gridDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_gridDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7gridDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_blockDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_blockDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_8blockDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_extra(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_5extra_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_extra(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_5extra_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaKernelNodeParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaKernelNodeParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaKernelNodeParams[] = {
  {(char *)"func", __pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_func, __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_func, (char *)0, 0},
  {(char *)"gridDim", __pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_gridDim, __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_gridDim, (char *)0, 0},
  {(char *)"blockDim", __pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_blockDim, __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_blockDim, (char *)0, 0},
  {(char *)"sharedMemBytes", __pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_sharedMemBytes, __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_sharedMemBytes, (char *)0, 0},
  {(char *)"kernelParams", __pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_kernelParams, __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_kernelParams, (char *)0, 0},
  {(char *)"extra", __pyx_getprop_4cuda_6cudart_20cudaKernelNodeParams_extra, __pyx_setprop_4cuda_6cudart_20cudaKernelNodeParams_extra, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaKernelNodeParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaKernelNodeParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaKernelNodeParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_20cudaKernelNodeParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaKernelNodeParams(void_ptr _ptr=0)\n\n    CUDA GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : Any\n        Kernel to launch\n    gridDim : dim3\n        Grid dimensions\n    blockDim : dim3\n        Block dimensions\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to individual kernel arguments\n    extra : Any\n        Pointer to kernel arguments in the \"extra\" format\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaKernelNodeParams, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaKernelNodeParams, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaKernelNodeParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaKernelNodeParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_20cudaKernelNodeParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaKernelNodeParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_37cudaExternalSemaphoreSignalNodeParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11extSemArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11paramsArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams[] = {
  {(char *)"extSemArray", __pyx_getprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_extSemArray, __pyx_setprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_extSemArray, (char *)0, 0},
  {(char *)"paramsArray", __pyx_getprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_paramsArray, __pyx_setprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_paramsArray, (char *)0, 0},
  {(char *)"numExtSems", __pyx_getprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_numExtSems, __pyx_setprop_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_numExtSems, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalSemaphoreSignalNodeParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_37cudaExternalSemaphoreSignalNodeParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaExternalSemaphoreSignalNodeParams(void_ptr _ptr=0)\n\n    External semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : cudaExternalSemaphore_t\n        Array of external semaphore handles.\n    paramsArray : cudaExternalSemaphoreSignalParams\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_6cudart_cudaExternalSemaphoreSignalNodeParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_35cudaExternalSemaphoreWaitNodeParams_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11extSemArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11paramsArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams[] = {
  {(char *)"extSemArray", __pyx_getprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_extSemArray, __pyx_setprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_extSemArray, (char *)0, 0},
  {(char *)"paramsArray", __pyx_getprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_paramsArray, __pyx_setprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_paramsArray, (char *)0, 0},
  {(char *)"numExtSems", __pyx_getprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_numExtSems, __pyx_setprop_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_numExtSems, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaExternalSemaphoreWaitNodeParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_35cudaExternalSemaphoreWaitNodeParams_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaExternalSemaphoreWaitNodeParams(void_ptr _ptr=0)\n\n    External semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : cudaExternalSemaphore_t\n        Array of external semaphore handles.\n    paramsArray : cudaExternalSemaphoreWaitParams\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_6cudart_cudaExternalSemaphoreWaitNodeParams, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s[] = {
  {(char *)"x", __pyx_getprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_x, __pyx_setprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_x, (char *)0, 0},
  {(char *)"y", __pyx_getprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_y, __pyx_setprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_y, (char *)0, 0},
  {(char *)"z", __pyx_getprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_z, __pyx_setprop_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_z, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s(void_ptr _ptr)\n\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_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)o);
  p->_event = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *p = (struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_event);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *p = (struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)o;
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *p = (struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_triggerAtBlockStart(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_triggerAtBlockStart(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_19triggerAtBlockStart_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s[] = {
  {(char *)"event", __pyx_getprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_event, __pyx_setprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_event, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_flags, __pyx_setprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_flags, (char *)0, 0},
  {(char *)"triggerAtBlockStart", __pyx_getprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_triggerAtBlockStart, __pyx_setprop_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_triggerAtBlockStart, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    event : cudaEvent_t\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_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaLaunchAttributeValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)o);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  p->_clusterDim = ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)Py_None); Py_INCREF(Py_None);
  p->_programmaticEvent = ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaLaunchAttributeValue(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *p = (struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_24cudaLaunchAttributeValue_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_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaLaunchAttributeValue(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *p = (struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)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;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaLaunchAttributeValue(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *p = (struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)o;
  tmp = ((PyObject*)p->_accessPolicyWindow);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_clusterDim);
  p->_clusterDim = ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_programmaticEvent);
  p->_programmaticEvent = ((struct __pyx_obj_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_pad(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_pad(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3pad_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_accessPolicyWindow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_accessPolicyWindow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_18accessPolicyWindow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_cooperative(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_cooperative(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11cooperative_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_syncPolicy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_syncPolicy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10syncPolicy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_10clusterDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterSchedulingPolicyPreference(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterSchedulingPolicyPreference(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_33clusterSchedulingPolicyPreference_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticStreamSerializationAllowed(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticStreamSerializationAllowed(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_38programmaticStreamSerializationAllowed_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticEvent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticEvent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_17programmaticEvent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_priority(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_priority(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_8priority_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaLaunchAttributeValue[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_24cudaLaunchAttributeValue_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaLaunchAttributeValue[] = {
  {(char *)"pad", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_pad, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_pad, (char *)0, 0},
  {(char *)"accessPolicyWindow", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_accessPolicyWindow, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_accessPolicyWindow, (char *)0, 0},
  {(char *)"cooperative", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_cooperative, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_cooperative, (char *)0, 0},
  {(char *)"syncPolicy", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_syncPolicy, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_syncPolicy, (char *)0, 0},
  {(char *)"clusterDim", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterDim, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterDim, (char *)0, 0},
  {(char *)"clusterSchedulingPolicyPreference", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterSchedulingPolicyPreference, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_clusterSchedulingPolicyPreference, (char *)0, 0},
  {(char *)"programmaticStreamSerializationAllowed", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticStreamSerializationAllowed, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticStreamSerializationAllowed, (char *)0, 0},
  {(char *)"programmaticEvent", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticEvent, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_programmaticEvent, (char *)0, 0},
  {(char *)"priority", __pyx_getprop_4cuda_6cudart_24cudaLaunchAttributeValue_priority, __pyx_setprop_4cuda_6cudart_24cudaLaunchAttributeValue_priority, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaLaunchAttributeValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaLaunchAttributeValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_24cudaLaunchAttributeValue_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaLaunchAttributeValue(void_ptr _ptr=0)\n\n    Launch attributes union; used as value field of\n    ::cudaLaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : cudaAccessPolicyWindow\n\n    cooperative : int\n\n    syncPolicy : cudaSynchronizationPolicy\n\n    clusterDim : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s\n\n    clusterSchedulingPolicyPreference : cudaClusterSchedulingPolicy\n\n    programmaticStreamSerializationAllowed : int\n\n    programmaticEvent : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s\n\n    priority : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaLaunchAttribute_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)o);
  p->_val = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_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_6cudart_cudaLaunchAttribute_st(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *p = (struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_22cudaLaunchAttribute_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_val);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaLaunchAttribute_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *p = (struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)o;
  if (p->_val) {
    e = (*v)(((PyObject *)p->_val), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaLaunchAttribute_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *p = (struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st *)o;
  tmp = ((PyObject*)p->_val);
  p->_val = ((struct __pyx_obj_4cuda_6cudart_cudaLaunchAttributeValue *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaLaunchAttribute_st_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_2id_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaLaunchAttribute_st_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_2id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_22cudaLaunchAttribute_st_val(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3val_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_22cudaLaunchAttribute_st_val(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3val_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaLaunchAttribute_st[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaLaunchAttribute_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaLaunchAttribute_st[] = {
  {(char *)"id", __pyx_getprop_4cuda_6cudart_22cudaLaunchAttribute_st_id, __pyx_setprop_4cuda_6cudart_22cudaLaunchAttribute_st_id, (char *)0, 0},
  {(char *)"val", __pyx_getprop_4cuda_6cudart_22cudaLaunchAttribute_st_val, __pyx_setprop_4cuda_6cudart_22cudaLaunchAttribute_st_val, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaLaunchAttribute_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaLaunchAttribute_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_22cudaLaunchAttribute_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*/
  "cudaLaunchAttribute_st(void_ptr _ptr=0)\n\n    Launch attribute\n\n    Attributes\n    ----------\n    id : cudaLaunchAttributeID\n\n    val : cudaLaunchAttributeValue\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaTextureDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_15cudaTextureDesc_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaTextureDesc(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_15cudaTextureDesc_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_addressMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11addressMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_addressMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11addressMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_filterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_10filterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_filterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_10filterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_readMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_8readMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_readMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_8readMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_sRGB(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_4sRGB_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_sRGB(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_4sRGB_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_borderColor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11borderColor_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_borderColor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_11borderColor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_normalizedCoords(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_normalizedCoords(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16normalizedCoords_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_maxAnisotropy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_maxAnisotropy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_13maxAnisotropy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_mipmapFilterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_mipmapFilterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_16mipmapFilterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_mipmapLevelBias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_mipmapLevelBias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_15mipmapLevelBias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_minMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_minMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19minMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_maxMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_maxMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_19maxMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaTextureDesc_disableTrilinearOptimization(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_disableTrilinearOptimization(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaTextureDesc_28disableTrilinearOptimization_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaTextureDesc[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaTextureDesc_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaTextureDesc_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaTextureDesc_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaTextureDesc_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaTextureDesc_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15cudaTextureDesc_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaTextureDesc[] = {
  {(char *)"addressMode", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_addressMode, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_addressMode, (char *)0, 0},
  {(char *)"filterMode", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_filterMode, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_filterMode, (char *)0, 0},
  {(char *)"readMode", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_readMode, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_readMode, (char *)0, 0},
  {(char *)"sRGB", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_sRGB, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_sRGB, (char *)0, 0},
  {(char *)"borderColor", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_borderColor, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_borderColor, (char *)0, 0},
  {(char *)"normalizedCoords", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_normalizedCoords, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_normalizedCoords, (char *)0, 0},
  {(char *)"maxAnisotropy", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_maxAnisotropy, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_maxAnisotropy, (char *)0, 0},
  {(char *)"mipmapFilterMode", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_mipmapFilterMode, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_mipmapFilterMode, (char *)0, 0},
  {(char *)"mipmapLevelBias", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_mipmapLevelBias, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_mipmapLevelBias, (char *)0, 0},
  {(char *)"minMipmapLevelClamp", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_minMipmapLevelClamp, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_minMipmapLevelClamp, (char *)0, 0},
  {(char *)"maxMipmapLevelClamp", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_maxMipmapLevelClamp, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_maxMipmapLevelClamp, (char *)0, 0},
  {(char *)"disableTrilinearOptimization", __pyx_getprop_4cuda_6cudart_15cudaTextureDesc_disableTrilinearOptimization, __pyx_setprop_4cuda_6cudart_15cudaTextureDesc_disableTrilinearOptimization, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaTextureDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaTextureDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaTextureDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_15cudaTextureDesc_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaTextureDesc(void_ptr _ptr=0)\n\n    CUDA texture descriptor\n\n    Attributes\n    ----------\n    addressMode : List[cudaTextureAddressMode]\n        Texture address mode for up to 3 dimensions\n    filterMode : cudaTextureFilterMode\n        Texture filter mode\n    readMode : cudaTextureReadMode\n        Texture read mode\n    sRGB : int\n        Perform sRGB->linear conversion during texture read\n    borderColor : List[float]\n        Texture Border Color\n    normalizedCoords : int\n        Indicates whether texture reads are normalized or not\n    maxAnisotropy : unsigned int\n        Limit to the anisotropy ratio\n    mipmapFilterMode : cudaTextureFilterMode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Offset applied to the supplied mipmap level\n    minMipmapLevelClamp : float\n        Lower end of the mipmap level range to clamp access to\n    maxMipmapLevelClamp : float\n        Upper end of the mipmap level range to clamp access to\n    disableTrilinearOptimization : int\n        Disable any trilinear filtering optimizations.\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_6cudart_cudaTextureDesc, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaTextureDesc, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_15cudaTextureDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaTextureDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaTextureDesc_v2(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_18cudaTextureDesc_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_6cudart_cudaTextureDesc_v2(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_18cudaTextureDesc_v2_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_addressMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_addressMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11addressMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_filterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_filterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_10filterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_readMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_readMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_8readMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_sRGB(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_sRGB(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_4sRGB_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_borderColor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_borderColor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11borderColor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_normalizedCoords(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_normalizedCoords(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16normalizedCoords_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_maxAnisotropy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_maxAnisotropy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13maxAnisotropy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapFilterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapFilterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_16mipmapFilterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapLevelBias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapLevelBias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15mipmapLevelBias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_minMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_minMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19minMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_maxMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_maxMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_19maxMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_disableTrilinearOptimization(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_disableTrilinearOptimization(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_28disableTrilinearOptimization_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_seamlessCubemap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_seamlessCubemap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_15seamlessCubemap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaTextureDesc_v2[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_18cudaTextureDesc_v2_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaTextureDesc_v2[] = {
  {(char *)"addressMode", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_addressMode, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_addressMode, (char *)0, 0},
  {(char *)"filterMode", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_filterMode, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_filterMode, (char *)0, 0},
  {(char *)"readMode", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_readMode, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_readMode, (char *)0, 0},
  {(char *)"sRGB", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_sRGB, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_sRGB, (char *)0, 0},
  {(char *)"borderColor", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_borderColor, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_borderColor, (char *)0, 0},
  {(char *)"normalizedCoords", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_normalizedCoords, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_normalizedCoords, (char *)0, 0},
  {(char *)"maxAnisotropy", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_maxAnisotropy, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_maxAnisotropy, (char *)0, 0},
  {(char *)"mipmapFilterMode", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapFilterMode, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapFilterMode, (char *)0, 0},
  {(char *)"mipmapLevelBias", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapLevelBias, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_mipmapLevelBias, (char *)0, 0},
  {(char *)"minMipmapLevelClamp", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_minMipmapLevelClamp, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_minMipmapLevelClamp, (char *)0, 0},
  {(char *)"maxMipmapLevelClamp", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_maxMipmapLevelClamp, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_maxMipmapLevelClamp, (char *)0, 0},
  {(char *)"disableTrilinearOptimization", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_disableTrilinearOptimization, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_disableTrilinearOptimization, (char *)0, 0},
  {(char *)"seamlessCubemap", __pyx_getprop_4cuda_6cudart_18cudaTextureDesc_v2_seamlessCubemap, __pyx_setprop_4cuda_6cudart_18cudaTextureDesc_v2_seamlessCubemap, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaTextureDesc_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaTextureDesc_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaTextureDesc_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_6cudart_18cudaTextureDesc_v2_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "cudaTextureDesc_v2(void_ptr _ptr=0)\n\n\n    Attributes\n    ----------\n    addressMode : List[cudaTextureAddressMode]\n        Texture address mode for up to 3 dimensions\n    filterMode : cudaTextureFilterMode\n        Texture filter mode\n    readMode : cudaTextureReadMode\n        Texture read mode\n    sRGB : int\n        Perform sRGB->linear conversion during texture read\n    borderColor : List[float]\n        Texture Border Color\n    normalizedCoords : int\n        Indicates whether texture reads are normalized or not\n    maxAnisotropy : unsigned int\n        Limit to the anisotropy ratio\n    mipmapFilterMode : cudaTextureFilterMode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Offset applied to the supplied mipmap level\n    minMipmapLevelClamp : float\n        Lower end of the mipmap level range to clamp access to\n    maxMipmapLevelClamp : float\n        Upper end of the mipmap level range to clamp access to\n    disableTrilinearOptimization : int\n        Disable any trilinear filtering optimizations.\n    seamlessCubemap : int\n        Enable seamless cube map filtering.\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_6cudart_cudaTextureDesc_v2, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaTextureDesc_v2, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_18cudaTextureDesc_v2_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaTextureDesc_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglPlaneDesc_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)o);
  p->_channelDesc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_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_6cudart_cudaEglPlaneDesc_st(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *p = (struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_19cudaEglPlaneDesc_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_channelDesc);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaEglPlaneDesc_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *p = (struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)o;
  if (p->_channelDesc) {
    e = (*v)(((PyObject *)p->_channelDesc), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaEglPlaneDesc_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *p = (struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st *)o;
  tmp = ((PyObject*)p->_channelDesc);
  p->_channelDesc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_numChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_numChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11numChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_channelDesc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_channelDesc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11channelDesc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaEglPlaneDesc_st[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaEglPlaneDesc_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaEglPlaneDesc_st[] = {
  {(char *)"width", __pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_width, __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_height, __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_height, (char *)0, 0},
  {(char *)"depth", __pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_depth, __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_depth, (char *)0, 0},
  {(char *)"pitch", __pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_pitch, __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_pitch, (char *)0, 0},
  {(char *)"numChannels", __pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_numChannels, __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_numChannels, (char *)0, 0},
  {(char *)"channelDesc", __pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_channelDesc, __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_channelDesc, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_6cudart_19cudaEglPlaneDesc_st_reserved, __pyx_setprop_4cuda_6cudart_19cudaEglPlaneDesc_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaEglPlaneDesc_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_19cudaEglPlaneDesc_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*/
  "cudaEglPlaneDesc_st(void_ptr _ptr=0)\n\n    CUDA EGL Plane Descriptor - structure defining each plane of a CUDA\n    EGLFrame\n\n    Attributes\n    ----------\n    width : unsigned int\n        Width of plane\n    height : unsigned int\n        Height of plane\n    depth : unsigned int\n        Depth of plane\n    pitch : unsigned int\n        Pitch of plane\n    numChannels : unsigned int\n        Number of channels for the plane\n    channelDesc : cudaChannelFormatDesc\n        Channel Format Descriptor\n    reserved : List[unsigned int]\n        Reserved for future use\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_getprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_6pPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_5getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_4getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_9__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_8__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_11__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_10__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u[] = {
  {(char *)"pArray", __pyx_getprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pArray, __pyx_setprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pArray, (char *)0, 0},
  {(char *)"pPitch", __pyx_getprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pPitch, __pyx_setprop_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_pPitch, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart._cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u(void_ptr _ptr)\n\n\n    Attributes\n    ----------\n    pArray : List[cudaArray_t]\n\n    pPitch : List[cudaPitchedPtr]\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_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglFrame_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)o);
  p->_frame = ((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_15cudaEglFrame_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_6cudart_cudaEglFrame_st(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *p = (struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    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_6cudart_15cudaEglFrame_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_frame);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaEglFrame_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *p = (struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)o;
  if (p->_frame) {
    e = (*v)(((PyObject *)p->_frame), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaEglFrame_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *p = (struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st *)o;
  tmp = ((PyObject*)p->_frame);
  p->_frame = ((struct __pyx_obj_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_frame(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5frame_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_frame(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_5frame_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_planeDesc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_planeDesc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9planeDesc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_planeCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_10planeCount_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_planeCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_10planeCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_frameType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9frameType_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_frameType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9frameType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_eglColorFormat(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_eglColorFormat(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_14eglColorFormat_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaEglFrame_st[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaEglFrame_st_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15cudaEglFrame_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaEglFrame_st[] = {
  {(char *)"frame", __pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_frame, __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_frame, (char *)0, 0},
  {(char *)"planeDesc", __pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_planeDesc, __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_planeDesc, (char *)0, 0},
  {(char *)"planeCount", __pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_planeCount, __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_planeCount, (char *)0, 0},
  {(char *)"frameType", __pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_frameType, __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_frameType, (char *)0, 0},
  {(char *)"eglColorFormat", __pyx_getprop_4cuda_6cudart_15cudaEglFrame_st_eglColorFormat, __pyx_setprop_4cuda_6cudart_15cudaEglFrame_st_eglColorFormat, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4cuda_6cudart_cudaEglFrame_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaEglFrame_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaEglFrame_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaEglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_6cudart_15cudaEglFrame_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*/
  "cudaEglFrame_st(void_ptr _ptr=0)\n\n    CUDA EGLFrame Descriptor - structure defining one frame of EGL.\n    Each frame may contain one or more planes depending on whether the\n    surface is Multiplanar or not. Each plane of EGLFrame is\n    represented by cudaEglPlaneDesc which is defined as:\n    typedefstructcudaEglPlaneDesc_st unsignedintwidth;\n    unsignedintheight; unsignedintdepth; unsignedintpitch;\n    unsignedintnumChannels; structcudaChannelFormatDescchannelDesc;\n    unsignedintreserved[4]; cudaEglPlaneDesc;\n\n    Attributes\n    ----------\n    frame : _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u\n\n    planeDesc : List[cudaEglPlaneDesc]\n        CUDA EGL Plane Descriptor cudaEglPlaneDesc\n    planeCount : unsigned int\n        Number of planes\n    frameType : cudaEglFrameType\n        Array or Pitch\n    eglColorFormat : cudaEglColorFormat\n        CUDA EGL Color Format\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaEglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaEglFrame_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaEglFrame_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaEglFrame_st, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaEglFrame_st, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_CUuuid(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_CUuuid_st(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_CUuuid = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.CUuuid", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_CUuuid), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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
  __pyx_pw_4cuda_6cudart_9CUuuid_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\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*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_9CUuuid_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_CUuuid, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaUUID_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_CUuuid_st(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaUUID_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaUUID_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaUUID_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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
  __pyx_pw_4cuda_6cudart_9CUuuid_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\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*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_9CUuuid_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaUUID_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcEventHandle_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_cudaIpcEventHandle_st(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaIpcEventHandle_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaIpcEventHandle_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaIpcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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
  __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\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*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_21cudaIpcEventHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaIpcEventHandle_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaIpcMemHandle_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_cudaIpcMemHandle_st(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaIpcMemHandle_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaIpcMemHandle_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaIpcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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
  __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n    CUDA IPC memory 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*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_19cudaIpcMemHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaIpcMemHandle_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaLaunchAttribute(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_cudaLaunchAttribute_st(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaLaunchAttribute = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaLaunchAttribute", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaLaunchAttribute), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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
  __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n    Launch attribute\n\n    Attributes\n    ----------\n    id : cudaLaunchAttributeID\n\n    val : cudaLaunchAttributeValue\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaLaunchAttribute_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaLaunchAttribute_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*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_22cudaLaunchAttribute_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaLaunchAttribute, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaStreamAttrValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_cudaLaunchAttributeValue(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaStreamAttrValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaStreamAttrValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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
  __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n    Launch attributes union; used as value field of\n    ::cudaLaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : cudaAccessPolicyWindow\n\n    cooperative : int\n\n    syncPolicy : cudaSynchronizationPolicy\n\n    clusterDim : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s\n\n    clusterSchedulingPolicyPreference : cudaClusterSchedulingPolicy\n\n    programmaticStreamSerializationAllowed : int\n\n    programmaticEvent : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s\n\n    priority : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaStreamAttrValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaKernelNodeAttrValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_cudaLaunchAttributeValue(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaKernelNodeAttrValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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
  __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n    Launch attributes union; used as value field of\n    ::cudaLaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : cudaAccessPolicyWindow\n\n    cooperative : int\n\n    syncPolicy : cudaSynchronizationPolicy\n\n    clusterDim : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s\n\n    clusterSchedulingPolicyPreference : cudaClusterSchedulingPolicy\n\n    programmaticStreamSerializationAllowed : int\n\n    programmaticEvent : _cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s\n\n    priority : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaLaunchAttributeValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_24cudaLaunchAttributeValue_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaKernelNodeAttrValue, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglPlaneDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_cudaEglPlaneDesc_st(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaEglPlaneDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaEglPlaneDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaEglPlaneDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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
  __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n    CUDA EGL Plane Descriptor - structure defining each plane of a CUDA\n    EGLFrame\n\n    Attributes\n    ----------\n    width : unsigned int\n        Width of plane\n    height : unsigned int\n        Height of plane\n    depth : unsigned int\n        Depth of plane\n    pitch : unsigned int\n        Pitch of plane\n    numChannels : unsigned int\n        Number of channels for the plane\n    channelDesc : cudaChannelFormatDesc\n        Channel Format Descriptor\n    reserved : List[unsigned int]\n        Reserved for future use\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaEglPlaneDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaEglPlaneDesc_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*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_19cudaEglPlaneDesc_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaEglPlaneDesc, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglFrame(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4cuda_6cudart_cudaEglFrame_st(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaEglFrame = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaEglFrame", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaEglFrame), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaEglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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
  __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n    CUDA EGLFrame Descriptor - structure defining one frame of EGL.\n    Each frame may contain one or more planes depending on whether the\n    surface is Multiplanar or not. Each plane of EGLFrame is\n    represented by cudaEglPlaneDesc which is defined as:\n    typedefstructcudaEglPlaneDesc_st unsignedintwidth;\n    unsignedintheight; unsignedintdepth; unsignedintpitch;\n    unsignedintnumChannels; structcudaChannelFormatDescchannelDesc;\n    unsignedintreserved[4]; cudaEglPlaneDesc;\n\n    Attributes\n    ----------\n    frame : _cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u\n\n    planeDesc : List[cudaEglPlaneDesc]\n        CUDA EGL Plane Descriptor cudaEglPlaneDesc\n    planeCount : unsigned int\n        Number of planes\n    frameType : cudaEglFrameType\n        Array or Pitch\n    eglColorFormat : cudaEglColorFormat\n        CUDA EGL Color Format\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaEglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaEglFrame_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*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_4cuda_6cudart_15cudaEglFrame_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaEglFrame, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaStream_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUstream->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaStream_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUstream)) __pyx_ptype_4cuda_4cuda_CUstream->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaStream_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaStream_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaStream_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaStream_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaStream_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA stream\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaStream_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEvent_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUevent->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaEvent_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUevent)) __pyx_ptype_4cuda_4cuda_CUevent->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaEvent_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaEvent_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaEvent_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaEvent_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaEvent_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA event\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaEvent_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraph_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUgraph->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaGraph_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUgraph)) __pyx_ptype_4cuda_4cuda_CUgraph->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaGraph_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaGraph_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaGraph_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaGraph_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaGraph_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA graph\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaGraph_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraphNode_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUgraphNode->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaGraphNode_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUgraphNode)) __pyx_ptype_4cuda_4cuda_CUgraphNode->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaGraphNode_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaGraphNode_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaGraphNode_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaGraphNode_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA graph node\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaGraphNode_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaUserObject_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUuserObject->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaUserObject_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUuserObject)) __pyx_ptype_4cuda_4cuda_CUuserObject->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaUserObject_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaUserObject_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaUserObject_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaUserObject_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaUserObject_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA user object for graphs\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaUserObject_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaFunction_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUfunction->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaFunction_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUfunction)) __pyx_ptype_4cuda_4cuda_CUfunction->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaFunction_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaFunction_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaFunction_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaFunction_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaFunction_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA function\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaFunction_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaMemPool_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUmemoryPool->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaMemPool_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUmemoryPool)) __pyx_ptype_4cuda_4cuda_CUmemoryPool->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaMemPool_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaMemPool_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaMemPool_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaMemPool_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaMemPool_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA memory pool\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaMemPool_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaGraphExec_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUgraphExec->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaGraphExec_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUgraphExec)) __pyx_ptype_4cuda_4cuda_CUgraphExec->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaGraphExec_t);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaGraphExec_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaGraphExec_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaGraphExec_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
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  "\n\n    CUDA executable graph\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaGraphExec_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaEglStreamConnection(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4cuda_4cuda_CUeglStreamConnection->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart_cudaEglStreamConnection(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  if (likely(__pyx_ptype_4cuda_4cuda_CUeglStreamConnection)) __pyx_ptype_4cuda_4cuda_CUeglStreamConnection->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4cuda_6cudart_cudaEglStreamConnection);
}

static PyTypeObject __pyx_type_4cuda_6cudart_cudaEglStreamConnection = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaEglStreamConnection", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaEglStreamConnection), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaEglStreamConnection, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_BASETYPE, /*tp_flags*/
  "\n\n    CUDA EGLSream Connection\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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaEglStreamConnection, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_GLenum(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_GLenum(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_6GLenum_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_GLenum[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLenum_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLenum_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLenum_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLenum_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLenum_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_6GLenum_12__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_6GLenum_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_GLenum = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.GLenum", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_GLenum), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "\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_6cudart_GLenum, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_GLuint(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_GLuint(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_6GLuint_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_GLuint[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLuint_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLuint_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLuint_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_6GLuint_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6GLuint_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_6GLuint_12__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_6GLuint_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_GLuint = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.GLuint", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_GLuint), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "\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_6cudart_GLuint, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_EGLint(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_EGLint(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_6EGLint_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_EGLint[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_6EGLint_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_6EGLint_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6EGLint_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_6EGLint_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_6EGLint_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_6EGLint_12__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_6EGLint_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_EGLint = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.EGLint", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_EGLint), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "\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_6cudart_EGLint, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_VdpDevice(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_VdpDevice(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_9VdpDevice_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_VdpDevice[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_9VdpDevice_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_9VdpDevice_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9VdpDevice_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_9VdpDevice_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_9VdpDevice_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_9VdpDevice_12__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_9VdpDevice_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_VdpDevice = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.VdpDevice", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_VdpDevice), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "\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_6cudart_VdpDevice, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_VdpGetProcAddress(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_VdpGetProcAddress(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_17VdpGetProcAddress_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_VdpGetProcAddress[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17VdpGetProcAddress_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17VdpGetProcAddress_12__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_17VdpGetProcAddress_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_VdpGetProcAddress = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.VdpGetProcAddress", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_VdpGetProcAddress), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "\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_6cudart_VdpGetProcAddress, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_VdpVideoSurface(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_VdpVideoSurface(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_15VdpVideoSurface_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_VdpVideoSurface[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_15VdpVideoSurface_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_15VdpVideoSurface_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15VdpVideoSurface_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_15VdpVideoSurface_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_15VdpVideoSurface_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_15VdpVideoSurface_12__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_15VdpVideoSurface_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_VdpVideoSurface = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.VdpVideoSurface", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_VdpVideoSurface), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "\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_6cudart_VdpVideoSurface, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_VdpOutputSurface(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_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_6cudart_VdpOutputSurface(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_16VdpOutputSurface_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_VdpOutputSurface[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_16VdpOutputSurface_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_16VdpOutputSurface_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16VdpOutputSurface_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_16VdpOutputSurface_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_16VdpOutputSurface_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_16VdpOutputSurface_12__setstate_cython__},
  {0, 0, 0, 0}
};

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_nonzero*/
  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_6cudart_16VdpOutputSurface_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_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_6cudart_VdpOutputSurface = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.VdpOutputSurface", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_VdpOutputSurface), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_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_6cudart_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*/
  "\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_6cudart_VdpOutputSurface, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaSurfaceObject_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_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_6cudart_cudaSurfaceObject_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_19cudaSurfaceObject_t_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaSurfaceObject_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaSurfaceObject_t_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaSurfaceObject_t_12__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaSurfaceObject_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_nonzero*/
  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_6cudart_19cudaSurfaceObject_t_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_19cudaSurfaceObject_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_6cudart_cudaSurfaceObject_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaSurfaceObject_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaSurfaceObject_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_6cudart_19cudaSurfaceObject_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaSurfaceObject_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*/
  "\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_6cudart_cudaSurfaceObject_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaSurfaceObject_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaTextureObject_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4cuda_6cudart_19cudaTextureObject_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_6cudart_cudaTextureObject_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    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_6cudart_19cudaTextureObject_t_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaTextureObject_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_9getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_8getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaTextureObject_t_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaTextureObject_t_12__setstate_cython__},
  {0, 0, 0, 0}
};

static PyNumberMethods __pyx_tp_as_number_cudaTextureObject_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_nonzero*/
  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_6cudart_19cudaTextureObject_t_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_19cudaTextureObject_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_6cudart_cudaTextureObject_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.cudaTextureObject_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart_cudaTextureObject_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_6cudart_19cudaTextureObject_t_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_cudaTextureObject_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*/
  "\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_6cudart_cudaTextureObject_t, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart_cudaTextureObject_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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *__pyx_freelist_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_dependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies[__pyx_freecount_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *)o;
  if (p->__pyx_v_dependencies) {
    e = (*v)(p->__pyx_v_dependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies *)o;
  tmp = ((PyObject*)p->__pyx_v_dependencies);
  p->__pyx_v_dependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct__cudaStreamUpdateCaptureDependencies", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_1_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_1_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_1_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_1_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_1_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_1_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_1_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_1_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_1_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_1_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_1_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_extSemArray);
  Py_CLEAR(p->__pyx_v_paramsArray);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *)o;
  if (p->__pyx_v_extSemArray) {
    e = (*v)(p->__pyx_v_extSemArray, a); if (e) return e;
  }
  if (p->__pyx_v_paramsArray) {
    e = (*v)(p->__pyx_v_paramsArray, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync *)o;
  tmp = ((PyObject*)p->__pyx_v_extSemArray);
  p->__pyx_v_extSemArray = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_paramsArray);
  p->__pyx_v_paramsArray = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_3_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_3_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_3_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_3_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_3_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_3_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_3_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_3_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_3_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_3_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_3_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_4_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_4_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_4_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_4_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_4_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_4_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_4_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_4_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_4_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_4_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_4_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_4_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_4_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_4_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_extSemArray);
  Py_CLEAR(p->__pyx_v_paramsArray);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *)o;
  if (p->__pyx_v_extSemArray) {
    e = (*v)(p->__pyx_v_extSemArray, a); if (e) return e;
  }
  if (p->__pyx_v_paramsArray) {
    e = (*v)(p->__pyx_v_paramsArray, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync *)o;
  tmp = ((PyObject*)p->__pyx_v_extSemArray);
  p->__pyx_v_extSemArray = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_paramsArray);
  p->__pyx_v_paramsArray = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_6_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_6_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_6_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_6_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_6_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_6_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_6_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_6_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_6_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_6_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_6_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_6_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_6_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_6_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_7_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_7_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_7_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_7_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_7_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_7_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_7_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_7_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_7_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_7_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_7_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_7_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_7_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_7_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_attributes);
  Py_CLEAR(p->__pyx_v_dataSizes);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *)o;
  if (p->__pyx_v_attributes) {
    e = (*v)(p->__pyx_v_attributes, a); if (e) return e;
  }
  if (p->__pyx_v_dataSizes) {
    e = (*v)(p->__pyx_v_dataSizes, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes *)o;
  tmp = ((PyObject*)p->__pyx_v_attributes);
  p->__pyx_v_attributes = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_dataSizes);
  p->__pyx_v_dataSizes = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_8_cudaMemRangeGetAttributes", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_9_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_9_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_9_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_9_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_9_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_9_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_9_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_9_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_9_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_9_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_9_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_9_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_9_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_9_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_10_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_10_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_10_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_10_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_10_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_10_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_10_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_10_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_10_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_10_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_10_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_10_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_10_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_10_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_descList);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *)o;
  if (p->__pyx_v_descList) {
    e = (*v)(p->__pyx_v_descList, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess *)o;
  tmp = ((PyObject*)p->__pyx_v_descList);
  p->__pyx_v_descList = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_11_cudaMemPoolSetAccess", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_12_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_12_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_12_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_12_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_12_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_12_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_12_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_12_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_12_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_12_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_12_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_12_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_12_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_12_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_13_cudaGraphAddKernelNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_14_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_14_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_14_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_14_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_14_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_14_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_14_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_14_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_14_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_14_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_14_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_14_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_14_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_14_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_15_cudaGraphAddMemcpyNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_16_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_16_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_16_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_16_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_16_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_16_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_16_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_16_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_16_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_16_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_16_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_16_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_16_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_16_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_17_cudaGraphAddMemcpyNode1D", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_18_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_18_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_18_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_18_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_18_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_18_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_18_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_18_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_18_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_18_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_18_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_18_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_18_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_18_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_19_cudaGraphAddMemsetNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_20_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_20_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_20_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_20_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_20_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_20_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_20_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_20_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_20_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_20_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_20_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_20_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_20_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_20_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_21_cudaGraphAddHostNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_22_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_22_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_22_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_22_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_22_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_22_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_22_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_22_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_22_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_22_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_22_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_22_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_22_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_22_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_23_cudaGraphAddChildGraphNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_24_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_24_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_24_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_24_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_24_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_24_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_24_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_24_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_24_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_24_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_24_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_24_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_24_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_24_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_25_cudaGraphAddEmptyNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_26_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_26_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_26_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_26_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_26_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_26_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_26_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_26_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_26_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_26_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_26_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_26_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_26_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_26_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_27_cudaGraphAddEventRecordNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_28_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_28_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_28_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_28_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_28_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_28_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_28_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_28_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_28_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_28_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_28_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_28_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_28_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_28_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_29_cudaGraphAddEventWaitNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_30_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_30_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_30_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_30_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_30_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_30_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_30_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_30_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_30_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_30_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_30_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_30_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_30_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_30_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_32_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_32_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_32_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_32_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_32_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_32_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_32_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_32_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_32_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_32_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_32_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_32_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_32_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_32_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_34_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_34_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_34_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_34_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_34_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_34_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_34_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_34_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_34_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_34_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_34_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_34_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_34_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_34_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_35_cudaGraphAddMemAllocNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_36_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_36_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_36_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_36_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_36_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_36_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_36_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_36_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_36_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_36_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_36_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_36_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_36_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_36_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_pDependencies);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *)o;
  if (p->__pyx_v_pDependencies) {
    e = (*v)(p->__pyx_v_pDependencies, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode *)o;
  tmp = ((PyObject*)p->__pyx_v_pDependencies);
  p->__pyx_v_pDependencies = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_37_cudaGraphAddMemFreeNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_38_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_38_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_38_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_38_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_38_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_38_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_38_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_38_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_38_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_38_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_38_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_38_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_38_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_38_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_from_);
  Py_CLEAR(p->__pyx_v_to);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *)o;
  if (p->__pyx_v_from_) {
    e = (*v)(p->__pyx_v_from_, a); if (e) return e;
  }
  if (p->__pyx_v_to) {
    e = (*v)(p->__pyx_v_to, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies *)o;
  tmp = ((PyObject*)p->__pyx_v_from_);
  p->__pyx_v_from_ = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_to);
  p->__pyx_v_to = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_39_cudaGraphAddDependencies", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_40_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_40_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_40_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_40_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_40_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_40_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_40_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_40_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_40_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_40_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_40_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_40_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_40_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_40_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_41_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_41_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_41_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_41_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_41_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_41_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_41_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_41_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_41_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_41_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_41_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_41_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_41_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_41_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_from_);
  Py_CLEAR(p->__pyx_v_to);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *)o;
  if (p->__pyx_v_from_) {
    e = (*v)(p->__pyx_v_from_, a); if (e) return e;
  }
  if (p->__pyx_v_to) {
    e = (*v)(p->__pyx_v_to, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies *)o;
  tmp = ((PyObject*)p->__pyx_v_from_);
  p->__pyx_v_from_ = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_to);
  p->__pyx_v_to = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_42_cudaGraphRemoveDependencies", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_43_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_43_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_43_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_43_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_43_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_43_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_43_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_43_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_43_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_43_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_43_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_43_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_43_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_43_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *__pyx_freelist_4cuda_6cudart___pyx_scope_struct_44_genexpr[8];
static int __pyx_freecount_4cuda_6cudart___pyx_scope_struct_44_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_6cudart___pyx_scope_struct_44_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_44_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_6cudart___pyx_scope_struct_44_genexpr[--__pyx_freecount_4cuda_6cudart___pyx_scope_struct_44_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_4cuda_6cudart___pyx_scope_struct_44_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v__x);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_4cuda_6cudart___pyx_scope_struct_44_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr)))) {
    __pyx_freelist_4cuda_6cudart___pyx_scope_struct_44_genexpr[__pyx_freecount_4cuda_6cudart___pyx_scope_struct_44_genexpr++] = ((struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_4cuda_6cudart___pyx_scope_struct_44_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *p = (struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v__x) {
    e = (*v)(p->__pyx_v__x, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_4cuda_6cudart___pyx_scope_struct_44_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cudart.__pyx_scope_struct_44_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_6cudart___pyx_scope_struct_44_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_6cudart___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, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_6cudart___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
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
  0, /*tp_pypy_flags*/
  #endif
};

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};

#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_cudart(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_cudart},
  {0, NULL}
};
#endif

static struct PyModuleDef __pyx_moduledef = {
    PyModuleDef_HEAD_INIT,
    "cudart",
    0, /* m_doc */
  #if CYTHON_PEP489_MULTI_PHASE_INIT
    0, /* 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
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif
#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

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 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_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_descList_is_not_instanc, __pyx_k_Argument_descList_is_not_instanc, sizeof(__pyx_k_Argument_descList_is_not_instanc), 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_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_pDependencies_is_not_in, __pyx_k_Argument_pDependencies_is_not_in, sizeof(__pyx_k_Argument_pDependencies_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_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_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_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_n_s_CUDART_API_VERSION, __pyx_k_CUDART_API_VERSION, sizeof(__pyx_k_CUDART_API_VERSION), 0, 0, 1, 1},
  {&__pyx_n_s_CUDART_VERSION, __pyx_k_CUDART_VERSION, sizeof(__pyx_k_CUDART_VERSION), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_16BF, __pyx_k_CUDA_C_16BF, sizeof(__pyx_k_CUDA_C_16BF), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_16F, __pyx_k_CUDA_C_16F, sizeof(__pyx_k_CUDA_C_16F), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_16I, __pyx_k_CUDA_C_16I, sizeof(__pyx_k_CUDA_C_16I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_16U, __pyx_k_CUDA_C_16U, sizeof(__pyx_k_CUDA_C_16U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_32F, __pyx_k_CUDA_C_32F, sizeof(__pyx_k_CUDA_C_32F), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_32I, __pyx_k_CUDA_C_32I, sizeof(__pyx_k_CUDA_C_32I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_32U, __pyx_k_CUDA_C_32U, sizeof(__pyx_k_CUDA_C_32U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_4I, __pyx_k_CUDA_C_4I, sizeof(__pyx_k_CUDA_C_4I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_4U, __pyx_k_CUDA_C_4U, sizeof(__pyx_k_CUDA_C_4U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_64F, __pyx_k_CUDA_C_64F, sizeof(__pyx_k_CUDA_C_64F), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_64I, __pyx_k_CUDA_C_64I, sizeof(__pyx_k_CUDA_C_64I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_64U, __pyx_k_CUDA_C_64U, sizeof(__pyx_k_CUDA_C_64U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_8I, __pyx_k_CUDA_C_8I, sizeof(__pyx_k_CUDA_C_8I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_C_8U, __pyx_k_CUDA_C_8U, sizeof(__pyx_k_CUDA_C_8U), 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_MAX_PLANES, __pyx_k_CUDA_EGL_MAX_PLANES, sizeof(__pyx_k_CUDA_EGL_MAX_PLANES), 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_kp_s_CUDA_GL_Map_Flags, __pyx_k_CUDA_GL_Map_Flags, sizeof(__pyx_k_CUDA_GL_Map_Flags), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write, __pyx_k_CUDA_GPUDirect_RDMA_flush_write, sizeof(__pyx_k_CUDA_GPUDirect_RDMA_flush_write), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_2, __pyx_k_CUDA_GPUDirect_RDMA_flush_write_2, sizeof(__pyx_k_CUDA_GPUDirect_RDMA_flush_write_2), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_3, __pyx_k_CUDA_GPUDirect_RDMA_flush_write_3, sizeof(__pyx_k_CUDA_GPUDirect_RDMA_flush_write_3), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_4, __pyx_k_CUDA_GPUDirect_RDMA_flush_write_4, sizeof(__pyx_k_CUDA_GPUDirect_RDMA_flush_write_4), 0, 0, 1, 0},
  {&__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_kp_s_CUDA_Graph_debug_write_options, __pyx_k_CUDA_Graph_debug_write_options, sizeof(__pyx_k_CUDA_Graph_debug_write_options), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_Graph_node_types, __pyx_k_CUDA_Graph_node_types, sizeof(__pyx_k_CUDA_Graph_node_types), 0, 0, 1, 0},
  {&__pyx_n_s_CUDA_IPC_HANDLE_SIZE, __pyx_k_CUDA_IPC_HANDLE_SIZE, sizeof(__pyx_k_CUDA_IPC_HANDLE_SIZE), 0, 0, 1, 1},
  {&__pyx_kp_s_CUDA_Limits, __pyx_k_CUDA_Limits, sizeof(__pyx_k_CUDA_Limits), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_Memory_Advise_values, __pyx_k_CUDA_Memory_Advise_values, sizeof(__pyx_k_CUDA_Memory_Advise_values), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_Profiler_Output_modes, __pyx_k_CUDA_Profiler_Output_modes, sizeof(__pyx_k_CUDA_Profiler_Output_modes), 0, 0, 1, 0},
  {&__pyx_n_s_CUDA_R_16BF, __pyx_k_CUDA_R_16BF, sizeof(__pyx_k_CUDA_R_16BF), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_16F, __pyx_k_CUDA_R_16F, sizeof(__pyx_k_CUDA_R_16F), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_16I, __pyx_k_CUDA_R_16I, sizeof(__pyx_k_CUDA_R_16I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_16U, __pyx_k_CUDA_R_16U, sizeof(__pyx_k_CUDA_R_16U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_32F, __pyx_k_CUDA_R_32F, sizeof(__pyx_k_CUDA_R_32F), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_32I, __pyx_k_CUDA_R_32I, sizeof(__pyx_k_CUDA_R_32I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_32U, __pyx_k_CUDA_R_32U, sizeof(__pyx_k_CUDA_R_32U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_4I, __pyx_k_CUDA_R_4I, sizeof(__pyx_k_CUDA_R_4I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_4U, __pyx_k_CUDA_R_4U, sizeof(__pyx_k_CUDA_R_4U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_64F, __pyx_k_CUDA_R_64F, sizeof(__pyx_k_CUDA_R_64F), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_64I, __pyx_k_CUDA_R_64I, sizeof(__pyx_k_CUDA_R_64I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_64U, __pyx_k_CUDA_R_64U, sizeof(__pyx_k_CUDA_R_64U), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_8F_E4M3, __pyx_k_CUDA_R_8F_E4M3, sizeof(__pyx_k_CUDA_R_8F_E4M3), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_8F_E5M2, __pyx_k_CUDA_R_8F_E5M2, sizeof(__pyx_k_CUDA_R_8F_E5M2), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_8I, __pyx_k_CUDA_R_8I, sizeof(__pyx_k_CUDA_R_8I), 0, 0, 1, 1},
  {&__pyx_n_s_CUDA_R_8U, __pyx_k_CUDA_R_8U, sizeof(__pyx_k_CUDA_R_8U), 0, 0, 1, 1},
  {&__pyx_kp_s_CUDA_Surface_boundary_modes, __pyx_k_CUDA_Surface_boundary_modes, sizeof(__pyx_k_CUDA_Surface_boundary_modes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_Surface_format_modes, __pyx_k_CUDA_Surface_format_modes, sizeof(__pyx_k_CUDA_Surface_format_modes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_cooperative_group_scope, __pyx_k_CUDA_cooperative_group_scope, sizeof(__pyx_k_CUDA_cooperative_group_scope), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_device_P2P_attributes, __pyx_k_CUDA_device_P2P_attributes, sizeof(__pyx_k_CUDA_device_P2P_attributes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_device_attributes, __pyx_k_CUDA_device_attributes, sizeof(__pyx_k_CUDA_device_attributes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_device_compute_modes, __pyx_k_CUDA_device_compute_modes, sizeof(__pyx_k_CUDA_device_compute_modes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_devices_corresponding_to_t, __pyx_k_CUDA_devices_corresponding_to_t, sizeof(__pyx_k_CUDA_devices_corresponding_to_t), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_function_attributes_that_c, __pyx_k_CUDA_function_attributes_that_c, sizeof(__pyx_k_CUDA_function_attributes_that_c), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_function_cache_configurati, __pyx_k_CUDA_function_cache_configurati, sizeof(__pyx_k_CUDA_function_cache_configurati), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_graphics_interop_array_ind, __pyx_k_CUDA_graphics_interop_array_ind, sizeof(__pyx_k_CUDA_graphics_interop_array_ind), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_graphics_interop_map_flags, __pyx_k_CUDA_graphics_interop_map_flags, sizeof(__pyx_k_CUDA_graphics_interop_map_flags), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_graphics_interop_register, __pyx_k_CUDA_graphics_interop_register, sizeof(__pyx_k_CUDA_graphics_interop_register), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_memory_copy_types, __pyx_k_CUDA_memory_copy_types, sizeof(__pyx_k_CUDA_memory_copy_types), 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_kp_s_CUDA_memory_types, __pyx_k_CUDA_memory_types, sizeof(__pyx_k_CUDA_memory_types), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_range_attributes, __pyx_k_CUDA_range_attributes, sizeof(__pyx_k_CUDA_range_attributes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_resource_types, __pyx_k_CUDA_resource_types, sizeof(__pyx_k_CUDA_resource_types), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_shared_memory_configuratio, __pyx_k_CUDA_shared_memory_configuratio, sizeof(__pyx_k_CUDA_shared_memory_configuratio), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_texture_address_modes, __pyx_k_CUDA_texture_address_modes, sizeof(__pyx_k_CUDA_texture_address_modes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_texture_filter_modes, __pyx_k_CUDA_texture_filter_modes, sizeof(__pyx_k_CUDA_texture_filter_modes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_texture_read_modes, __pyx_k_CUDA_texture_read_modes, sizeof(__pyx_k_CUDA_texture_read_modes), 0, 0, 1, 0},
  {&__pyx_kp_s_CUDA_texture_resource_view_form, __pyx_k_CUDA_texture_resource_view_form, sizeof(__pyx_k_CUDA_texture_resource_view_form), 0, 0, 1, 0},
  {&__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_Channel_format_kind, __pyx_k_Channel_format_kind, sizeof(__pyx_k_Channel_format_kind), 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_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_u_ECCEnabled, __pyx_k_ECCEnabled, sizeof(__pyx_k_ECCEnabled), 0, 1, 0, 0},
  {&__pyx_n_s_ECCEnabled_2, __pyx_k_ECCEnabled_2, sizeof(__pyx_k_ECCEnabled_2), 0, 0, 1, 1},
  {&__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_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_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_py_obj_cudaStreamUpda, __pyx_k_Flags_for_py_obj_cudaStreamUpda, sizeof(__pyx_k_Flags_for_py_obj_cudaStreamUpda), 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_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_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_memory_attributes, __pyx_k_Graph_memory_attributes, sizeof(__pyx_k_Graph_memory_attributes), 0, 0, 1, 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_n_s_List, __pyx_k_List, sizeof(__pyx_k_List), 0, 0, 1, 1},
  {&__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_MAJOR_VERSION, __pyx_k_MAJOR_VERSION, sizeof(__pyx_k_MAJOR_VERSION), 0, 0, 1, 1},
  {&__pyx_n_s_MINOR_VERSION, __pyx_k_MINOR_VERSION, sizeof(__pyx_k_MINOR_VERSION), 0, 0, 1, 1},
  {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1},
  {&__pyx_n_s_OverflowError, __pyx_k_OverflowError, sizeof(__pyx_k_OverflowError), 0, 0, 1, 1},
  {&__pyx_n_s_PATCH_LEVEL, __pyx_k_PATCH_LEVEL, sizeof(__pyx_k_PATCH_LEVEL), 0, 0, 1, 1},
  {&__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_Resource_location_flags_sysmem, __pyx_k_Resource_location_flags_sysmem, sizeof(__pyx_k_Resource_location_flags_sysmem), 0, 0, 1, 0},
  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
  {&__pyx_kp_u_Set_device_to_be_used_for_GPU_e, __pyx_k_Set_device_to_be_used_for_GPU_e, sizeof(__pyx_k_Set_device_to_be_used_for_GPU_e), 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_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_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_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_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_b__435, __pyx_k__435, sizeof(__pyx_k__435), 0, 0, 0, 0},
  {&__pyx_kp_u__486, __pyx_k__486, sizeof(__pyx_k__486), 0, 1, 0, 0},
  {&__pyx_kp_u__63, __pyx_k__63, sizeof(__pyx_k__63), 0, 1, 0, 0},
  {&__pyx_kp_u__64, __pyx_k__64, sizeof(__pyx_k__64), 0, 1, 0, 0},
  {&__pyx_kp_s__713, __pyx_k__713, sizeof(__pyx_k__713), 0, 0, 1, 0},
  {&__pyx_kp_u__80, __pyx_k__80, sizeof(__pyx_k__80), 0, 1, 0, 0},
  {&__pyx_n_u__81, __pyx_k__81, sizeof(__pyx_k__81), 0, 1, 0, 1},
  {&__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_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_accessPolicyMaxWindowSize, __pyx_k_accessPolicyMaxWindowSize, sizeof(__pyx_k_accessPolicyMaxWindowSize), 0, 1, 0, 0},
  {&__pyx_n_s_accessPolicyMaxWindowSize_2, __pyx_k_accessPolicyMaxWindowSize_2, sizeof(__pyx_k_accessPolicyMaxWindowSize_2), 0, 0, 1, 1},
  {&__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_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_n_s_advice, __pyx_k_advice, sizeof(__pyx_k_advice), 0, 0, 1, 1},
  {&__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_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_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_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_asyncEngineCount, __pyx_k_asyncEngineCount, sizeof(__pyx_k_asyncEngineCount), 0, 1, 0, 0},
  {&__pyx_n_s_asyncEngineCount_2, __pyx_k_asyncEngineCount_2, sizeof(__pyx_k_asyncEngineCount_2), 0, 0, 1, 1},
  {&__pyx_n_s_attr, __pyx_k_attr, sizeof(__pyx_k_attr), 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_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_binaryVersion, __pyx_k_binaryVersion, sizeof(__pyx_k_binaryVersion), 0, 1, 0, 0},
  {&__pyx_n_s_binaryVersion_2, __pyx_k_binaryVersion_2, sizeof(__pyx_k_binaryVersion_2), 0, 0, 1, 1},
  {&__pyx_kp_u_blockDim, __pyx_k_blockDim, sizeof(__pyx_k_blockDim), 0, 1, 0, 0},
  {&__pyx_n_s_blockDim_2, __pyx_k_blockDim_2, sizeof(__pyx_k_blockDim_2), 0, 0, 1, 1},
  {&__pyx_n_s_blockSize, __pyx_k_blockSize, sizeof(__pyx_k_blockSize), 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_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_n_s_bufferSize, __pyx_k_bufferSize, sizeof(__pyx_k_bufferSize), 0, 0, 1, 1},
  {&__pyx_kp_u_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 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_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_n_s_cacheConfig, __pyx_k_cacheConfig, sizeof(__pyx_k_cacheConfig), 0, 0, 1, 1},
  {&__pyx_kp_u_cacheModeCA, __pyx_k_cacheModeCA, sizeof(__pyx_k_cacheModeCA), 0, 1, 0, 0},
  {&__pyx_n_s_cacheModeCA_2, __pyx_k_cacheModeCA_2, sizeof(__pyx_k_cacheModeCA_2), 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_canAccessPeer, __pyx_k_canAccessPeer, sizeof(__pyx_k_canAccessPeer), 0, 0, 1, 1},
  {&__pyx_kp_u_canMapHostMemory, __pyx_k_canMapHostMemory, sizeof(__pyx_k_canMapHostMemory), 0, 1, 0, 0},
  {&__pyx_n_s_canMapHostMemory_2, __pyx_k_canMapHostMemory_2, sizeof(__pyx_k_canMapHostMemory_2), 0, 0, 1, 1},
  {&__pyx_kp_u_canUseHostPointerForRegisteredMe, __pyx_k_canUseHostPointerForRegisteredMe, sizeof(__pyx_k_canUseHostPointerForRegisteredMe), 0, 1, 0, 0},
  {&__pyx_n_s_canUseHostPointerForRegisteredMe_2, __pyx_k_canUseHostPointerForRegisteredMe_2, sizeof(__pyx_k_canUseHostPointerForRegisteredMe_2), 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_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_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_ccacheConfig, __pyx_k_ccacheConfig, sizeof(__pyx_k_ccacheConfig), 0, 0, 1, 1},
  {&__pyx_n_s_ccallback, __pyx_k_ccallback, sizeof(__pyx_k_ccallback), 0, 0, 1, 1},
  {&__pyx_n_s_cchildGraph, __pyx_k_cchildGraph, sizeof(__pyx_k_cchildGraph), 0, 0, 1, 1},
  {&__pyx_n_s_cclonedGraph, __pyx_k_cclonedGraph, sizeof(__pyx_k_cclonedGraph), 0, 0, 1, 1},
  {&__pyx_n_s_cconfig, __pyx_k_cconfig, sizeof(__pyx_k_cconfig), 0, 0, 1, 1},
  {&__pyx_n_s_cconn, __pyx_k_cconn, sizeof(__pyx_k_cconn), 0, 0, 1, 1},
  {&__pyx_n_s_cd, __pyx_k_cd, sizeof(__pyx_k_cd), 0, 0, 1, 1},
  {&__pyx_n_s_cd_ptr, __pyx_k_cd_ptr, sizeof(__pyx_k_cd_ptr), 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_cdescList, __pyx_k_cdescList, sizeof(__pyx_k_cdescList), 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_cdevPtr, __pyx_k_cdevPtr, sizeof(__pyx_k_cdevPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cdevPtr_ptr, __pyx_k_cdevPtr_ptr, sizeof(__pyx_k_cdevPtr_ptr), 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_cdptr_out_ptr, __pyx_k_cdptr_out_ptr, sizeof(__pyx_k_cdptr_out_ptr), 0, 0, 1, 1},
  {&__pyx_n_s_cdptr_ptr, __pyx_k_cdptr_ptr, sizeof(__pyx_k_cdptr_ptr), 0, 0, 1, 1},
  {&__pyx_n_s_cdst, __pyx_k_cdst, sizeof(__pyx_k_cdst), 0, 0, 1, 1},
  {&__pyx_n_s_cdst_ptr, __pyx_k_cdst_ptr, sizeof(__pyx_k_cdst_ptr), 0, 0, 1, 1},
  {&__pyx_n_s_ceglStream, __pyx_k_ceglStream, sizeof(__pyx_k_ceglStream), 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_cend, __pyx_k_cend, sizeof(__pyx_k_cend), 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_cexportData_ptr, __pyx_k_cexportData_ptr, sizeof(__pyx_k_cexportData_ptr), 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_cfmtDesc_ptr, __pyx_k_cfmtDesc_ptr, sizeof(__pyx_k_cfmtDesc_ptr), 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_cfunc_ptr, __pyx_k_cfunc_ptr, sizeof(__pyx_k_cfunc_ptr), 0, 0, 1, 1},
  {&__pyx_n_s_cgraph, __pyx_k_cgraph, sizeof(__pyx_k_cgraph), 0, 0, 1, 1},
  {&__pyx_n_s_cgraphExec, __pyx_k_cgraphExec, sizeof(__pyx_k_cgraphExec), 0, 0, 1, 1},
  {&__pyx_n_s_chArray, __pyx_k_chArray, sizeof(__pyx_k_chArray), 0, 0, 1, 1},
  {&__pyx_n_s_chDst, __pyx_k_chDst, sizeof(__pyx_k_chDst), 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_chNode, __pyx_k_chNode, sizeof(__pyx_k_chNode), 0, 0, 1, 1},
  {&__pyx_n_s_chSrc, __pyx_k_chSrc, sizeof(__pyx_k_chSrc), 0, 0, 1, 1},
  {&__pyx_n_s_chStream, __pyx_k_chStream, sizeof(__pyx_k_chStream), 0, 0, 1, 1},
  {&__pyx_n_s_chandleType, __pyx_k_chandleType, sizeof(__pyx_k_chandleType), 0, 0, 1, 1},
  {&__pyx_kp_u_channelDesc, __pyx_k_channelDesc, sizeof(__pyx_k_channelDesc), 0, 1, 0, 0},
  {&__pyx_n_s_channelDesc_2, __pyx_k_channelDesc_2, sizeof(__pyx_k_channelDesc_2), 0, 0, 1, 1},
  {&__pyx_n_s_cheight, __pyx_k_cheight, sizeof(__pyx_k_cheight), 0, 0, 1, 1},
  {&__pyx_n_s_childGraph, __pyx_k_childGraph, sizeof(__pyx_k_childGraph), 0, 0, 1, 1},
  {&__pyx_n_s_cimage, __pyx_k_cimage, sizeof(__pyx_k_cimage), 0, 0, 1, 1},
  {&__pyx_n_s_ckernelParams, __pyx_k_ckernelParams, sizeof(__pyx_k_ckernelParams), 0, 0, 1, 1},
  {&__pyx_n_s_ckind, __pyx_k_ckind, sizeof(__pyx_k_ckind), 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_n_s_clonedGraph, __pyx_k_clonedGraph, sizeof(__pyx_k_clonedGraph), 0, 0, 1, 1},
  {&__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_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_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_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_cmipmappedArray, __pyx_k_cmipmappedArray, sizeof(__pyx_k_cmipmappedArray), 0, 0, 1, 1},
  {&__pyx_n_s_cmode, __pyx_k_cmode, sizeof(__pyx_k_cmode), 0, 0, 1, 1},
  {&__pyx_n_s_cnode, __pyx_k_cnode, sizeof(__pyx_k_cnode), 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_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_kp_u_computeMode, __pyx_k_computeMode, sizeof(__pyx_k_computeMode), 0, 1, 0, 0},
  {&__pyx_n_s_computeMode_2, __pyx_k_computeMode_2, sizeof(__pyx_k_computeMode_2), 0, 0, 1, 1},
  {&__pyx_kp_u_computePreemptionSupported, __pyx_k_computePreemptionSupported, sizeof(__pyx_k_computePreemptionSupported), 0, 1, 0, 0},
  {&__pyx_n_s_computePreemptionSupported_2, __pyx_k_computePreemptionSupported_2, sizeof(__pyx_k_computePreemptionSupported_2), 0, 0, 1, 1},
  {&__pyx_kp_u_concurrentKernels, __pyx_k_concurrentKernels, sizeof(__pyx_k_concurrentKernels), 0, 1, 0, 0},
  {&__pyx_n_s_concurrentKernels_2, __pyx_k_concurrentKernels_2, sizeof(__pyx_k_concurrentKernels_2), 0, 0, 1, 1},
  {&__pyx_kp_u_concurrentManagedAccess, __pyx_k_concurrentManagedAccess, sizeof(__pyx_k_concurrentManagedAccess), 0, 1, 0, 0},
  {&__pyx_n_s_concurrentManagedAccess_2, __pyx_k_concurrentManagedAccess_2, sizeof(__pyx_k_concurrentManagedAccess_2), 0, 0, 1, 1},
  {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1},
  {&__pyx_n_s_configFile, __pyx_k_configFile, sizeof(__pyx_k_configFile), 0, 0, 1, 1},
  {&__pyx_n_s_conn, __pyx_k_conn, sizeof(__pyx_k_conn), 0, 0, 1, 1},
  {&__pyx_kp_u_constSizeBytes, __pyx_k_constSizeBytes, sizeof(__pyx_k_constSizeBytes), 0, 1, 0, 0},
  {&__pyx_n_s_constSizeBytes_2, __pyx_k_constSizeBytes_2, sizeof(__pyx_k_constSizeBytes_2), 0, 0, 1, 1},
  {&__pyx_kp_u_cooperative, __pyx_k_cooperative, sizeof(__pyx_k_cooperative), 0, 1, 0, 0},
  {&__pyx_kp_u_cooperativeLaunch, __pyx_k_cooperativeLaunch, sizeof(__pyx_k_cooperativeLaunch), 0, 1, 0, 0},
  {&__pyx_n_s_cooperativeLaunch_2, __pyx_k_cooperativeLaunch_2, sizeof(__pyx_k_cooperativeLaunch_2), 0, 0, 1, 1},
  {&__pyx_kp_u_cooperativeMultiDeviceLaunch, __pyx_k_cooperativeMultiDeviceLaunch, sizeof(__pyx_k_cooperativeMultiDeviceLaunch), 0, 1, 0, 0},
  {&__pyx_n_s_cooperativeMultiDeviceLaunch_2, __pyx_k_cooperativeMultiDeviceLaunch_2, sizeof(__pyx_k_cooperativeMultiDeviceLaunch_2), 0, 0, 1, 1},
  {&__pyx_n_s_cooperative_2, __pyx_k_cooperative_2, sizeof(__pyx_k_cooperative_2), 0, 0, 1, 1},
  {&__pyx_n_s_coriginalGraph, __pyx_k_coriginalGraph, sizeof(__pyx_k_coriginalGraph), 0, 0, 1, 1},
  {&__pyx_n_s_coriginalNode, __pyx_k_coriginalNode, sizeof(__pyx_k_coriginalNode), 0, 0, 1, 1},
  {&__pyx_n_s_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 0, 1, 1},
  {&__pyx_n_s_coutputMode, __pyx_k_coutputMode, sizeof(__pyx_k_coutputMode), 0, 0, 1, 1},
  {&__pyx_n_s_cpCopyParams_ptr, __pyx_k_cpCopyParams_ptr, sizeof(__pyx_k_cpCopyParams_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_cpDependencies, __pyx_k_cpDependencies, sizeof(__pyx_k_cpDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_cpDependentNodes, __pyx_k_cpDependentNodes, sizeof(__pyx_k_cpDependentNodes), 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_cpHost, __pyx_k_cpHost, sizeof(__pyx_k_cpHost), 0, 0, 1, 1},
  {&__pyx_n_s_cpHost_ptr, __pyx_k_cpHost_ptr, sizeof(__pyx_k_cpHost_ptr), 0, 0, 1, 1},
  {&__pyx_n_s_cpMemsetParams_ptr, __pyx_k_cpMemsetParams_ptr, sizeof(__pyx_k_cpMemsetParams_ptr), 0, 0, 1, 1},
  {&__pyx_n_s_cpNodeParams_ptr, __pyx_k_cpNodeParams_ptr, sizeof(__pyx_k_cpNodeParams_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_cpRootNodes, __pyx_k_cpRootNodes, sizeof(__pyx_k_cpRootNodes), 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_cparamsArray, __pyx_k_cparamsArray, sizeof(__pyx_k_cparamsArray), 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_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_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_csrc_ptr, __pyx_k_csrc_ptr, sizeof(__pyx_k_csrc_ptr), 0, 0, 1, 1},
  {&__pyx_n_s_cstart, __pyx_k_cstart, sizeof(__pyx_k_cstart), 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_ctarget, __pyx_k_ctarget, sizeof(__pyx_k_ctarget), 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_n_s_ctypes, __pyx_k_ctypes, sizeof(__pyx_k_ctypes), 0, 0, 1, 1},
  {&__pyx_n_s_cuda, __pyx_k_cuda, sizeof(__pyx_k_cuda), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessPolicyWindow, __pyx_k_cudaAccessPolicyWindow, sizeof(__pyx_k_cudaAccessPolicyWindow), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessPolicyWindow___reduce, __pyx_k_cudaAccessPolicyWindow___reduce, sizeof(__pyx_k_cudaAccessPolicyWindow___reduce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessPolicyWindow___setstat, __pyx_k_cudaAccessPolicyWindow___setstat, sizeof(__pyx_k_cudaAccessPolicyWindow___setstat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessPolicyWindow_getPtr, __pyx_k_cudaAccessPolicyWindow_getPtr, sizeof(__pyx_k_cudaAccessPolicyWindow_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessProperty, __pyx_k_cudaAccessProperty, sizeof(__pyx_k_cudaAccessProperty), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessPropertyNormal, __pyx_k_cudaAccessPropertyNormal, sizeof(__pyx_k_cudaAccessPropertyNormal), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessPropertyPersisting, __pyx_k_cudaAccessPropertyPersisting, sizeof(__pyx_k_cudaAccessPropertyPersisting), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAccessPropertyStreaming, __pyx_k_cudaAccessPropertyStreaming, sizeof(__pyx_k_cudaAccessPropertyStreaming), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAddressModeBorder, __pyx_k_cudaAddressModeBorder, sizeof(__pyx_k_cudaAddressModeBorder), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAddressModeClamp, __pyx_k_cudaAddressModeClamp, sizeof(__pyx_k_cudaAddressModeClamp), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAddressModeMirror, __pyx_k_cudaAddressModeMirror, sizeof(__pyx_k_cudaAddressModeMirror), 0, 0, 1, 1},
  {&__pyx_n_s_cudaAddressModeWrap, __pyx_k_cudaAddressModeWrap, sizeof(__pyx_k_cudaAddressModeWrap), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayColorAttachment, __pyx_k_cudaArrayColorAttachment, sizeof(__pyx_k_cudaArrayColorAttachment), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayCubemap, __pyx_k_cudaArrayCubemap, sizeof(__pyx_k_cudaArrayCubemap), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayDefault, __pyx_k_cudaArrayDefault, sizeof(__pyx_k_cudaArrayDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayDeferredMapping, __pyx_k_cudaArrayDeferredMapping, sizeof(__pyx_k_cudaArrayDeferredMapping), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayGetInfo, __pyx_k_cudaArrayGetInfo, sizeof(__pyx_k_cudaArrayGetInfo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayGetMemoryRequirements, __pyx_k_cudaArrayGetMemoryRequirements, sizeof(__pyx_k_cudaArrayGetMemoryRequirements), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayGetPlane, __pyx_k_cudaArrayGetPlane, sizeof(__pyx_k_cudaArrayGetPlane), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayGetSparseProperties, __pyx_k_cudaArrayGetSparseProperties, sizeof(__pyx_k_cudaArrayGetSparseProperties), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayLayered, __pyx_k_cudaArrayLayered, sizeof(__pyx_k_cudaArrayLayered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayMemoryRequirements, __pyx_k_cudaArrayMemoryRequirements, sizeof(__pyx_k_cudaArrayMemoryRequirements), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayMemoryRequirements___re, __pyx_k_cudaArrayMemoryRequirements___re, sizeof(__pyx_k_cudaArrayMemoryRequirements___re), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayMemoryRequirements___se, __pyx_k_cudaArrayMemoryRequirements___se, sizeof(__pyx_k_cudaArrayMemoryRequirements___se), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayMemoryRequirements_getP, __pyx_k_cudaArrayMemoryRequirements_getP, sizeof(__pyx_k_cudaArrayMemoryRequirements_getP), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparse, __pyx_k_cudaArraySparse, sizeof(__pyx_k_cudaArraySparse), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties, __pyx_k_cudaArraySparseProperties, sizeof(__pyx_k_cudaArraySparseProperties), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparsePropertiesSingleM, __pyx_k_cudaArraySparsePropertiesSingleM, sizeof(__pyx_k_cudaArraySparsePropertiesSingleM), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties___redu, __pyx_k_cudaArraySparseProperties___redu, sizeof(__pyx_k_cudaArraySparseProperties___redu), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties___sets, __pyx_k_cudaArraySparseProperties___sets, sizeof(__pyx_k_cudaArraySparseProperties___sets), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties_getPtr, __pyx_k_cudaArraySparseProperties_getPtr, sizeof(__pyx_k_cudaArraySparseProperties_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties_tileE, __pyx_k_cudaArraySparseProperties_tileE, sizeof(__pyx_k_cudaArraySparseProperties_tileE), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties_tileE_2, __pyx_k_cudaArraySparseProperties_tileE_2, sizeof(__pyx_k_cudaArraySparseProperties_tileE_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties_tileE_3, __pyx_k_cudaArraySparseProperties_tileE_3, sizeof(__pyx_k_cudaArraySparseProperties_tileE_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySparseProperties_tileE_4, __pyx_k_cudaArraySparseProperties_tileE_4, sizeof(__pyx_k_cudaArraySparseProperties_tileE_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArraySurfaceLoadStore, __pyx_k_cudaArraySurfaceLoadStore, sizeof(__pyx_k_cudaArraySurfaceLoadStore), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArrayTextureGather, __pyx_k_cudaArrayTextureGather, sizeof(__pyx_k_cudaArrayTextureGather), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaArray_const_t, __pyx_k_cudaArray_const_t, sizeof(__pyx_k_cudaArray_const_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaArray_const_t_2, __pyx_k_cudaArray_const_t_2, sizeof(__pyx_k_cudaArray_const_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArray_const_t___reduce_cytho, __pyx_k_cudaArray_const_t___reduce_cytho, sizeof(__pyx_k_cudaArray_const_t___reduce_cytho), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArray_const_t___setstate_cyt, __pyx_k_cudaArray_const_t___setstate_cyt, sizeof(__pyx_k_cudaArray_const_t___setstate_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArray_const_t_getPtr, __pyx_k_cudaArray_const_t_getPtr, sizeof(__pyx_k_cudaArray_const_t_getPtr), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaArray_t, __pyx_k_cudaArray_t, sizeof(__pyx_k_cudaArray_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaArray_t_2, __pyx_k_cudaArray_t_2, sizeof(__pyx_k_cudaArray_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArray_t___reduce_cython, __pyx_k_cudaArray_t___reduce_cython, sizeof(__pyx_k_cudaArray_t___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArray_t___setstate_cython, __pyx_k_cudaArray_t___setstate_cython, sizeof(__pyx_k_cudaArray_t___setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaArray_t_getPtr, __pyx_k_cudaArray_t_getPtr, sizeof(__pyx_k_cudaArray_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaBoundaryModeClamp, __pyx_k_cudaBoundaryModeClamp, sizeof(__pyx_k_cudaBoundaryModeClamp), 0, 0, 1, 1},
  {&__pyx_n_s_cudaBoundaryModeTrap, __pyx_k_cudaBoundaryModeTrap, sizeof(__pyx_k_cudaBoundaryModeTrap), 0, 0, 1, 1},
  {&__pyx_n_s_cudaBoundaryModeZero, __pyx_k_cudaBoundaryModeZero, sizeof(__pyx_k_cudaBoundaryModeZero), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCGScope, __pyx_k_cudaCGScope, sizeof(__pyx_k_cudaCGScope), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCGScopeGrid, __pyx_k_cudaCGScopeGrid, sizeof(__pyx_k_cudaCGScopeGrid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCGScopeInvalid, __pyx_k_cudaCGScopeInvalid, sizeof(__pyx_k_cudaCGScopeInvalid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCGScopeMultiGrid, __pyx_k_cudaCGScopeMultiGrid, sizeof(__pyx_k_cudaCGScopeMultiGrid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCSV, __pyx_k_cudaCSV, sizeof(__pyx_k_cudaCSV), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatDesc, __pyx_k_cudaChannelFormatDesc, sizeof(__pyx_k_cudaChannelFormatDesc), 0, 0, 1, 1},
  {&__pyx_n_u_cudaChannelFormatDesc, __pyx_k_cudaChannelFormatDesc, sizeof(__pyx_k_cudaChannelFormatDesc), 0, 1, 0, 1},
  {&__pyx_n_s_cudaChannelFormatDesc___reduce_c, __pyx_k_cudaChannelFormatDesc___reduce_c, sizeof(__pyx_k_cudaChannelFormatDesc___reduce_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatDesc___setstate, __pyx_k_cudaChannelFormatDesc___setstate, sizeof(__pyx_k_cudaChannelFormatDesc___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatDesc_getPtr, __pyx_k_cudaChannelFormatDesc_getPtr, sizeof(__pyx_k_cudaChannelFormatDesc_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKind, __pyx_k_cudaChannelFormatKind, sizeof(__pyx_k_cudaChannelFormatKind), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindFloat, __pyx_k_cudaChannelFormatKindFloat, sizeof(__pyx_k_cudaChannelFormatKindFloat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindNV12, __pyx_k_cudaChannelFormatKindNV12, sizeof(__pyx_k_cudaChannelFormatKindNV12), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindNone, __pyx_k_cudaChannelFormatKindNone, sizeof(__pyx_k_cudaChannelFormatKindNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSigned, __pyx_k_cudaChannelFormatKindSigned, sizeof(__pyx_k_cudaChannelFormatKindSigned), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedBlock, __pyx_k_cudaChannelFormatKindSignedBlock, sizeof(__pyx_k_cudaChannelFormatKindSignedBlock), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedBlock_2, __pyx_k_cudaChannelFormatKindSignedBlock_2, sizeof(__pyx_k_cudaChannelFormatKindSignedBlock_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedBlock_3, __pyx_k_cudaChannelFormatKindSignedBlock_3, sizeof(__pyx_k_cudaChannelFormatKindSignedBlock_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedNorma, __pyx_k_cudaChannelFormatKindSignedNorma, sizeof(__pyx_k_cudaChannelFormatKindSignedNorma), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedNorma_2, __pyx_k_cudaChannelFormatKindSignedNorma_2, sizeof(__pyx_k_cudaChannelFormatKindSignedNorma_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedNorma_3, __pyx_k_cudaChannelFormatKindSignedNorma_3, sizeof(__pyx_k_cudaChannelFormatKindSignedNorma_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedNorma_4, __pyx_k_cudaChannelFormatKindSignedNorma_4, sizeof(__pyx_k_cudaChannelFormatKindSignedNorma_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedNorma_5, __pyx_k_cudaChannelFormatKindSignedNorma_5, sizeof(__pyx_k_cudaChannelFormatKindSignedNorma_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindSignedNorma_6, __pyx_k_cudaChannelFormatKindSignedNorma_6, sizeof(__pyx_k_cudaChannelFormatKindSignedNorma_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsigned, __pyx_k_cudaChannelFormatKindUnsigned, sizeof(__pyx_k_cudaChannelFormatKindUnsigned), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo, __pyx_k_cudaChannelFormatKindUnsignedBlo, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_10, __pyx_k_cudaChannelFormatKindUnsignedBlo_10, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_10), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_11, __pyx_k_cudaChannelFormatKindUnsignedBlo_11, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_11), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_2, __pyx_k_cudaChannelFormatKindUnsignedBlo_2, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_3, __pyx_k_cudaChannelFormatKindUnsignedBlo_3, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_4, __pyx_k_cudaChannelFormatKindUnsignedBlo_4, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_5, __pyx_k_cudaChannelFormatKindUnsignedBlo_5, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_6, __pyx_k_cudaChannelFormatKindUnsignedBlo_6, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_7, __pyx_k_cudaChannelFormatKindUnsignedBlo_7, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_8, __pyx_k_cudaChannelFormatKindUnsignedBlo_8, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_8), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedBlo_9, __pyx_k_cudaChannelFormatKindUnsignedBlo_9, sizeof(__pyx_k_cudaChannelFormatKindUnsignedBlo_9), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedNor, __pyx_k_cudaChannelFormatKindUnsignedNor, sizeof(__pyx_k_cudaChannelFormatKindUnsignedNor), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedNor_2, __pyx_k_cudaChannelFormatKindUnsignedNor_2, sizeof(__pyx_k_cudaChannelFormatKindUnsignedNor_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedNor_3, __pyx_k_cudaChannelFormatKindUnsignedNor_3, sizeof(__pyx_k_cudaChannelFormatKindUnsignedNor_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedNor_4, __pyx_k_cudaChannelFormatKindUnsignedNor_4, sizeof(__pyx_k_cudaChannelFormatKindUnsignedNor_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedNor_5, __pyx_k_cudaChannelFormatKindUnsignedNor_5, sizeof(__pyx_k_cudaChannelFormatKindUnsignedNor_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChannelFormatKindUnsignedNor_6, __pyx_k_cudaChannelFormatKindUnsignedNor_6, sizeof(__pyx_k_cudaChannelFormatKindUnsignedNor_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaChooseDevice, __pyx_k_cudaChooseDevice, sizeof(__pyx_k_cudaChooseDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaClusterSchedulingPolicy, __pyx_k_cudaClusterSchedulingPolicy, sizeof(__pyx_k_cudaClusterSchedulingPolicy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaClusterSchedulingPolicyDefau, __pyx_k_cudaClusterSchedulingPolicyDefau, sizeof(__pyx_k_cudaClusterSchedulingPolicyDefau), 0, 0, 1, 1},
  {&__pyx_n_s_cudaClusterSchedulingPolicyLoadB, __pyx_k_cudaClusterSchedulingPolicyLoadB, sizeof(__pyx_k_cudaClusterSchedulingPolicyLoadB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaClusterSchedulingPolicySprea, __pyx_k_cudaClusterSchedulingPolicySprea, sizeof(__pyx_k_cudaClusterSchedulingPolicySprea), 0, 0, 1, 1},
  {&__pyx_n_s_cudaComputeMode, __pyx_k_cudaComputeMode, sizeof(__pyx_k_cudaComputeMode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaComputeModeDefault, __pyx_k_cudaComputeModeDefault, sizeof(__pyx_k_cudaComputeModeDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaComputeModeExclusive, __pyx_k_cudaComputeModeExclusive, sizeof(__pyx_k_cudaComputeModeExclusive), 0, 0, 1, 1},
  {&__pyx_n_s_cudaComputeModeExclusiveProcess, __pyx_k_cudaComputeModeExclusiveProcess, sizeof(__pyx_k_cudaComputeModeExclusiveProcess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaComputeModeProhibited, __pyx_k_cudaComputeModeProhibited, sizeof(__pyx_k_cudaComputeModeProhibited), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCooperativeLaunchMultiDevice, __pyx_k_cudaCooperativeLaunchMultiDevice, sizeof(__pyx_k_cudaCooperativeLaunchMultiDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCooperativeLaunchMultiDevice_2, __pyx_k_cudaCooperativeLaunchMultiDevice_2, sizeof(__pyx_k_cudaCooperativeLaunchMultiDevice_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCpuDeviceId, __pyx_k_cudaCpuDeviceId, sizeof(__pyx_k_cudaCpuDeviceId), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCreateChannelDesc, __pyx_k_cudaCreateChannelDesc, sizeof(__pyx_k_cudaCreateChannelDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCreateSurfaceObject, __pyx_k_cudaCreateSurfaceObject, sizeof(__pyx_k_cudaCreateSurfaceObject), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCreateTextureObject, __pyx_k_cudaCreateTextureObject, sizeof(__pyx_k_cudaCreateTextureObject), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCreateTextureObject_v2, __pyx_k_cudaCreateTextureObject_v2, sizeof(__pyx_k_cudaCreateTextureObject_v2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaCtxResetPersistingL2Cache, __pyx_k_cudaCtxResetPersistingL2Cache, sizeof(__pyx_k_cudaCtxResetPersistingL2Cache), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDataType, __pyx_k_cudaDataType, sizeof(__pyx_k_cudaDataType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDestroyExternalMemory, __pyx_k_cudaDestroyExternalMemory, sizeof(__pyx_k_cudaDestroyExternalMemory), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDestroyExternalSemaphore, __pyx_k_cudaDestroyExternalSemaphore, sizeof(__pyx_k_cudaDestroyExternalSemaphore), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDestroySurfaceObject, __pyx_k_cudaDestroySurfaceObject, sizeof(__pyx_k_cudaDestroySurfaceObject), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDestroyTextureObject, __pyx_k_cudaDestroyTextureObject, sizeof(__pyx_k_cudaDestroyTextureObject), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrAsyncEngineCount, __pyx_k_cudaDevAttrAsyncEngineCount, sizeof(__pyx_k_cudaDevAttrAsyncEngineCount), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrCanFlushRemoteWrites, __pyx_k_cudaDevAttrCanFlushRemoteWrites, sizeof(__pyx_k_cudaDevAttrCanFlushRemoteWrites), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrCanMapHostMemory, __pyx_k_cudaDevAttrCanMapHostMemory, sizeof(__pyx_k_cudaDevAttrCanMapHostMemory), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrCanUseHostPointerForR, __pyx_k_cudaDevAttrCanUseHostPointerForR, sizeof(__pyx_k_cudaDevAttrCanUseHostPointerForR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrClockRate, __pyx_k_cudaDevAttrClockRate, sizeof(__pyx_k_cudaDevAttrClockRate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrClusterLaunch, __pyx_k_cudaDevAttrClusterLaunch, sizeof(__pyx_k_cudaDevAttrClusterLaunch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrComputeCapabilityMajo, __pyx_k_cudaDevAttrComputeCapabilityMajo, sizeof(__pyx_k_cudaDevAttrComputeCapabilityMajo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrComputeCapabilityMino, __pyx_k_cudaDevAttrComputeCapabilityMino, sizeof(__pyx_k_cudaDevAttrComputeCapabilityMino), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrComputeMode, __pyx_k_cudaDevAttrComputeMode, sizeof(__pyx_k_cudaDevAttrComputeMode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrComputePreemptionSupp, __pyx_k_cudaDevAttrComputePreemptionSupp, sizeof(__pyx_k_cudaDevAttrComputePreemptionSupp), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrConcurrentKernels, __pyx_k_cudaDevAttrConcurrentKernels, sizeof(__pyx_k_cudaDevAttrConcurrentKernels), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrConcurrentManagedAcce, __pyx_k_cudaDevAttrConcurrentManagedAcce, sizeof(__pyx_k_cudaDevAttrConcurrentManagedAcce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrCooperativeLaunch, __pyx_k_cudaDevAttrCooperativeLaunch, sizeof(__pyx_k_cudaDevAttrCooperativeLaunch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrCooperativeMultiDevic, __pyx_k_cudaDevAttrCooperativeMultiDevic, sizeof(__pyx_k_cudaDevAttrCooperativeMultiDevic), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrDeferredMappingCudaAr, __pyx_k_cudaDevAttrDeferredMappingCudaAr, sizeof(__pyx_k_cudaDevAttrDeferredMappingCudaAr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrDirectManagedMemAcces, __pyx_k_cudaDevAttrDirectManagedMemAcces, sizeof(__pyx_k_cudaDevAttrDirectManagedMemAcces), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrEccEnabled, __pyx_k_cudaDevAttrEccEnabled, sizeof(__pyx_k_cudaDevAttrEccEnabled), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrGPUDirectRDMAFlushWri, __pyx_k_cudaDevAttrGPUDirectRDMAFlushWri, sizeof(__pyx_k_cudaDevAttrGPUDirectRDMAFlushWri), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrGPUDirectRDMASupporte, __pyx_k_cudaDevAttrGPUDirectRDMASupporte, sizeof(__pyx_k_cudaDevAttrGPUDirectRDMASupporte), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrGPUDirectRDMAWritesOr, __pyx_k_cudaDevAttrGPUDirectRDMAWritesOr, sizeof(__pyx_k_cudaDevAttrGPUDirectRDMAWritesOr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrGlobalL1CacheSupporte, __pyx_k_cudaDevAttrGlobalL1CacheSupporte, sizeof(__pyx_k_cudaDevAttrGlobalL1CacheSupporte), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrGlobalMemoryBusWidth, __pyx_k_cudaDevAttrGlobalMemoryBusWidth, sizeof(__pyx_k_cudaDevAttrGlobalMemoryBusWidth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrGpuOverlap, __pyx_k_cudaDevAttrGpuOverlap, sizeof(__pyx_k_cudaDevAttrGpuOverlap), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrHostNativeAtomicSuppo, __pyx_k_cudaDevAttrHostNativeAtomicSuppo, sizeof(__pyx_k_cudaDevAttrHostNativeAtomicSuppo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrHostRegisterReadOnlyS, __pyx_k_cudaDevAttrHostRegisterReadOnlyS, sizeof(__pyx_k_cudaDevAttrHostRegisterReadOnlyS), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrHostRegisterSupported, __pyx_k_cudaDevAttrHostRegisterSupported, sizeof(__pyx_k_cudaDevAttrHostRegisterSupported), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrIntegrated, __pyx_k_cudaDevAttrIntegrated, sizeof(__pyx_k_cudaDevAttrIntegrated), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrIsMultiGpuBoard, __pyx_k_cudaDevAttrIsMultiGpuBoard, sizeof(__pyx_k_cudaDevAttrIsMultiGpuBoard), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrKernelExecTimeout, __pyx_k_cudaDevAttrKernelExecTimeout, sizeof(__pyx_k_cudaDevAttrKernelExecTimeout), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrL2CacheSize, __pyx_k_cudaDevAttrL2CacheSize, sizeof(__pyx_k_cudaDevAttrL2CacheSize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrLocalL1CacheSupported, __pyx_k_cudaDevAttrLocalL1CacheSupported, sizeof(__pyx_k_cudaDevAttrLocalL1CacheSupported), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrManagedMemory, __pyx_k_cudaDevAttrManagedMemory, sizeof(__pyx_k_cudaDevAttrManagedMemory), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMax, __pyx_k_cudaDevAttrMax, sizeof(__pyx_k_cudaDevAttrMax), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxAccessPolicyWindow, __pyx_k_cudaDevAttrMaxAccessPolicyWindow, sizeof(__pyx_k_cudaDevAttrMaxAccessPolicyWindow), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxBlockDimX, __pyx_k_cudaDevAttrMaxBlockDimX, sizeof(__pyx_k_cudaDevAttrMaxBlockDimX), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxBlockDimY, __pyx_k_cudaDevAttrMaxBlockDimY, sizeof(__pyx_k_cudaDevAttrMaxBlockDimY), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxBlockDimZ, __pyx_k_cudaDevAttrMaxBlockDimZ, sizeof(__pyx_k_cudaDevAttrMaxBlockDimZ), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxBlocksPerMultiproc, __pyx_k_cudaDevAttrMaxBlocksPerMultiproc, sizeof(__pyx_k_cudaDevAttrMaxBlocksPerMultiproc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxGridDimX, __pyx_k_cudaDevAttrMaxGridDimX, sizeof(__pyx_k_cudaDevAttrMaxGridDimX), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxGridDimY, __pyx_k_cudaDevAttrMaxGridDimY, sizeof(__pyx_k_cudaDevAttrMaxGridDimY), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxGridDimZ, __pyx_k_cudaDevAttrMaxGridDimZ, sizeof(__pyx_k_cudaDevAttrMaxGridDimZ), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxPersistingL2CacheS, __pyx_k_cudaDevAttrMaxPersistingL2CacheS, sizeof(__pyx_k_cudaDevAttrMaxPersistingL2CacheS), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxPitch, __pyx_k_cudaDevAttrMaxPitch, sizeof(__pyx_k_cudaDevAttrMaxPitch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxRegistersPerBlock, __pyx_k_cudaDevAttrMaxRegistersPerBlock, sizeof(__pyx_k_cudaDevAttrMaxRegistersPerBlock), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxRegistersPerMultip, __pyx_k_cudaDevAttrMaxRegistersPerMultip, sizeof(__pyx_k_cudaDevAttrMaxRegistersPerMultip), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSharedMemoryPerBlo, __pyx_k_cudaDevAttrMaxSharedMemoryPerBlo, sizeof(__pyx_k_cudaDevAttrMaxSharedMemoryPerBlo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSharedMemoryPerBlo_2, __pyx_k_cudaDevAttrMaxSharedMemoryPerBlo_2, sizeof(__pyx_k_cudaDevAttrMaxSharedMemoryPerBlo_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSharedMemoryPerMul, __pyx_k_cudaDevAttrMaxSharedMemoryPerMul, sizeof(__pyx_k_cudaDevAttrMaxSharedMemoryPerMul), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface1DLayeredLa, __pyx_k_cudaDevAttrMaxSurface1DLayeredLa, sizeof(__pyx_k_cudaDevAttrMaxSurface1DLayeredLa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface1DLayeredWi, __pyx_k_cudaDevAttrMaxSurface1DLayeredWi, sizeof(__pyx_k_cudaDevAttrMaxSurface1DLayeredWi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface1DWidth, __pyx_k_cudaDevAttrMaxSurface1DWidth, sizeof(__pyx_k_cudaDevAttrMaxSurface1DWidth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface2DHeight, __pyx_k_cudaDevAttrMaxSurface2DHeight, sizeof(__pyx_k_cudaDevAttrMaxSurface2DHeight), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface2DLayeredHe, __pyx_k_cudaDevAttrMaxSurface2DLayeredHe, sizeof(__pyx_k_cudaDevAttrMaxSurface2DLayeredHe), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface2DLayeredLa, __pyx_k_cudaDevAttrMaxSurface2DLayeredLa, sizeof(__pyx_k_cudaDevAttrMaxSurface2DLayeredLa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface2DLayeredWi, __pyx_k_cudaDevAttrMaxSurface2DLayeredWi, sizeof(__pyx_k_cudaDevAttrMaxSurface2DLayeredWi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface2DWidth, __pyx_k_cudaDevAttrMaxSurface2DWidth, sizeof(__pyx_k_cudaDevAttrMaxSurface2DWidth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface3DDepth, __pyx_k_cudaDevAttrMaxSurface3DDepth, sizeof(__pyx_k_cudaDevAttrMaxSurface3DDepth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface3DHeight, __pyx_k_cudaDevAttrMaxSurface3DHeight, sizeof(__pyx_k_cudaDevAttrMaxSurface3DHeight), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurface3DWidth, __pyx_k_cudaDevAttrMaxSurface3DWidth, sizeof(__pyx_k_cudaDevAttrMaxSurface3DWidth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurfaceCubemapLaye, __pyx_k_cudaDevAttrMaxSurfaceCubemapLaye, sizeof(__pyx_k_cudaDevAttrMaxSurfaceCubemapLaye), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurfaceCubemapLaye_2, __pyx_k_cudaDevAttrMaxSurfaceCubemapLaye_2, sizeof(__pyx_k_cudaDevAttrMaxSurfaceCubemapLaye_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxSurfaceCubemapWidt, __pyx_k_cudaDevAttrMaxSurfaceCubemapWidt, sizeof(__pyx_k_cudaDevAttrMaxSurfaceCubemapWidt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture1DLayeredLa, __pyx_k_cudaDevAttrMaxTexture1DLayeredLa, sizeof(__pyx_k_cudaDevAttrMaxTexture1DLayeredLa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture1DLayeredWi, __pyx_k_cudaDevAttrMaxTexture1DLayeredWi, sizeof(__pyx_k_cudaDevAttrMaxTexture1DLayeredWi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture1DLinearWid, __pyx_k_cudaDevAttrMaxTexture1DLinearWid, sizeof(__pyx_k_cudaDevAttrMaxTexture1DLinearWid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture1DMipmapped, __pyx_k_cudaDevAttrMaxTexture1DMipmapped, sizeof(__pyx_k_cudaDevAttrMaxTexture1DMipmapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture1DWidth, __pyx_k_cudaDevAttrMaxTexture1DWidth, sizeof(__pyx_k_cudaDevAttrMaxTexture1DWidth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DGatherHei, __pyx_k_cudaDevAttrMaxTexture2DGatherHei, sizeof(__pyx_k_cudaDevAttrMaxTexture2DGatherHei), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DGatherWid, __pyx_k_cudaDevAttrMaxTexture2DGatherWid, sizeof(__pyx_k_cudaDevAttrMaxTexture2DGatherWid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DHeight, __pyx_k_cudaDevAttrMaxTexture2DHeight, sizeof(__pyx_k_cudaDevAttrMaxTexture2DHeight), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DLayeredHe, __pyx_k_cudaDevAttrMaxTexture2DLayeredHe, sizeof(__pyx_k_cudaDevAttrMaxTexture2DLayeredHe), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DLayeredLa, __pyx_k_cudaDevAttrMaxTexture2DLayeredLa, sizeof(__pyx_k_cudaDevAttrMaxTexture2DLayeredLa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DLayeredWi, __pyx_k_cudaDevAttrMaxTexture2DLayeredWi, sizeof(__pyx_k_cudaDevAttrMaxTexture2DLayeredWi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DLinearHei, __pyx_k_cudaDevAttrMaxTexture2DLinearHei, sizeof(__pyx_k_cudaDevAttrMaxTexture2DLinearHei), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DLinearPit, __pyx_k_cudaDevAttrMaxTexture2DLinearPit, sizeof(__pyx_k_cudaDevAttrMaxTexture2DLinearPit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DLinearWid, __pyx_k_cudaDevAttrMaxTexture2DLinearWid, sizeof(__pyx_k_cudaDevAttrMaxTexture2DLinearWid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DMipmapped, __pyx_k_cudaDevAttrMaxTexture2DMipmapped, sizeof(__pyx_k_cudaDevAttrMaxTexture2DMipmapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DMipmapped_2, __pyx_k_cudaDevAttrMaxTexture2DMipmapped_2, sizeof(__pyx_k_cudaDevAttrMaxTexture2DMipmapped_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture2DWidth, __pyx_k_cudaDevAttrMaxTexture2DWidth, sizeof(__pyx_k_cudaDevAttrMaxTexture2DWidth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture3DDepth, __pyx_k_cudaDevAttrMaxTexture3DDepth, sizeof(__pyx_k_cudaDevAttrMaxTexture3DDepth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture3DDepthAlt, __pyx_k_cudaDevAttrMaxTexture3DDepthAlt, sizeof(__pyx_k_cudaDevAttrMaxTexture3DDepthAlt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture3DHeight, __pyx_k_cudaDevAttrMaxTexture3DHeight, sizeof(__pyx_k_cudaDevAttrMaxTexture3DHeight), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture3DHeightAlt, __pyx_k_cudaDevAttrMaxTexture3DHeightAlt, sizeof(__pyx_k_cudaDevAttrMaxTexture3DHeightAlt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture3DWidth, __pyx_k_cudaDevAttrMaxTexture3DWidth, sizeof(__pyx_k_cudaDevAttrMaxTexture3DWidth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTexture3DWidthAlt, __pyx_k_cudaDevAttrMaxTexture3DWidthAlt, sizeof(__pyx_k_cudaDevAttrMaxTexture3DWidthAlt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTextureCubemapLaye, __pyx_k_cudaDevAttrMaxTextureCubemapLaye, sizeof(__pyx_k_cudaDevAttrMaxTextureCubemapLaye), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTextureCubemapLaye_2, __pyx_k_cudaDevAttrMaxTextureCubemapLaye_2, sizeof(__pyx_k_cudaDevAttrMaxTextureCubemapLaye_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTextureCubemapWidt, __pyx_k_cudaDevAttrMaxTextureCubemapWidt, sizeof(__pyx_k_cudaDevAttrMaxTextureCubemapWidt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxThreadsPerBlock, __pyx_k_cudaDevAttrMaxThreadsPerBlock, sizeof(__pyx_k_cudaDevAttrMaxThreadsPerBlock), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxThreadsPerMultiPro, __pyx_k_cudaDevAttrMaxThreadsPerMultiPro, sizeof(__pyx_k_cudaDevAttrMaxThreadsPerMultiPro), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMaxTimelineSemaphoreI, __pyx_k_cudaDevAttrMaxTimelineSemaphoreI, sizeof(__pyx_k_cudaDevAttrMaxTimelineSemaphoreI), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMemoryClockRate, __pyx_k_cudaDevAttrMemoryClockRate, sizeof(__pyx_k_cudaDevAttrMemoryClockRate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMemoryPoolSupportedHa, __pyx_k_cudaDevAttrMemoryPoolSupportedHa, sizeof(__pyx_k_cudaDevAttrMemoryPoolSupportedHa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMemoryPoolsSupported, __pyx_k_cudaDevAttrMemoryPoolsSupported, sizeof(__pyx_k_cudaDevAttrMemoryPoolsSupported), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMultiGpuBoardGroupID, __pyx_k_cudaDevAttrMultiGpuBoardGroupID, sizeof(__pyx_k_cudaDevAttrMultiGpuBoardGroupID), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrMultiProcessorCount, __pyx_k_cudaDevAttrMultiProcessorCount, sizeof(__pyx_k_cudaDevAttrMultiProcessorCount), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrPageableMemoryAccess, __pyx_k_cudaDevAttrPageableMemoryAccess, sizeof(__pyx_k_cudaDevAttrPageableMemoryAccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrPageableMemoryAccessU, __pyx_k_cudaDevAttrPageableMemoryAccessU, sizeof(__pyx_k_cudaDevAttrPageableMemoryAccessU), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrPciBusId, __pyx_k_cudaDevAttrPciBusId, sizeof(__pyx_k_cudaDevAttrPciBusId), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrPciDeviceId, __pyx_k_cudaDevAttrPciDeviceId, sizeof(__pyx_k_cudaDevAttrPciDeviceId), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrPciDomainId, __pyx_k_cudaDevAttrPciDomainId, sizeof(__pyx_k_cudaDevAttrPciDomainId), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrReserved92, __pyx_k_cudaDevAttrReserved92, sizeof(__pyx_k_cudaDevAttrReserved92), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrReserved93, __pyx_k_cudaDevAttrReserved93, sizeof(__pyx_k_cudaDevAttrReserved93), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrReserved94, __pyx_k_cudaDevAttrReserved94, sizeof(__pyx_k_cudaDevAttrReserved94), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrReservedSharedMemoryP, __pyx_k_cudaDevAttrReservedSharedMemoryP, sizeof(__pyx_k_cudaDevAttrReservedSharedMemoryP), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrSingleToDoublePrecisi, __pyx_k_cudaDevAttrSingleToDoublePrecisi, sizeof(__pyx_k_cudaDevAttrSingleToDoublePrecisi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrSparseCudaArraySuppor, __pyx_k_cudaDevAttrSparseCudaArraySuppor, sizeof(__pyx_k_cudaDevAttrSparseCudaArraySuppor), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrStreamPrioritiesSuppo, __pyx_k_cudaDevAttrStreamPrioritiesSuppo, sizeof(__pyx_k_cudaDevAttrStreamPrioritiesSuppo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrSurfaceAlignment, __pyx_k_cudaDevAttrSurfaceAlignment, sizeof(__pyx_k_cudaDevAttrSurfaceAlignment), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrTccDriver, __pyx_k_cudaDevAttrTccDriver, sizeof(__pyx_k_cudaDevAttrTccDriver), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrTextureAlignment, __pyx_k_cudaDevAttrTextureAlignment, sizeof(__pyx_k_cudaDevAttrTextureAlignment), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrTexturePitchAlignment, __pyx_k_cudaDevAttrTexturePitchAlignment, sizeof(__pyx_k_cudaDevAttrTexturePitchAlignment), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrTimelineSemaphoreInte, __pyx_k_cudaDevAttrTimelineSemaphoreInte, sizeof(__pyx_k_cudaDevAttrTimelineSemaphoreInte), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrTotalConstantMemory, __pyx_k_cudaDevAttrTotalConstantMemory, sizeof(__pyx_k_cudaDevAttrTotalConstantMemory), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrUnifiedAddressing, __pyx_k_cudaDevAttrUnifiedAddressing, sizeof(__pyx_k_cudaDevAttrUnifiedAddressing), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevAttrWarpSize, __pyx_k_cudaDevAttrWarpSize, sizeof(__pyx_k_cudaDevAttrWarpSize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevP2PAttrAccessSupported, __pyx_k_cudaDevP2PAttrAccessSupported, sizeof(__pyx_k_cudaDevP2PAttrAccessSupported), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevP2PAttrCudaArrayAccessSup, __pyx_k_cudaDevP2PAttrCudaArrayAccessSup, sizeof(__pyx_k_cudaDevP2PAttrCudaArrayAccessSup), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevP2PAttrNativeAtomicSuppor, __pyx_k_cudaDevP2PAttrNativeAtomicSuppor, sizeof(__pyx_k_cudaDevP2PAttrNativeAtomicSuppor), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDevP2PAttrPerformanceRank, __pyx_k_cudaDevP2PAttrPerformanceRank, sizeof(__pyx_k_cudaDevP2PAttrPerformanceRank), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceAttr, __pyx_k_cudaDeviceAttr, sizeof(__pyx_k_cudaDeviceAttr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceBlockingSync, __pyx_k_cudaDeviceBlockingSync, sizeof(__pyx_k_cudaDeviceBlockingSync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceCanAccessPeer, __pyx_k_cudaDeviceCanAccessPeer, sizeof(__pyx_k_cudaDeviceCanAccessPeer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceCount, __pyx_k_cudaDeviceCount, sizeof(__pyx_k_cudaDeviceCount), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceDisablePeerAccess, __pyx_k_cudaDeviceDisablePeerAccess, sizeof(__pyx_k_cudaDeviceDisablePeerAccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceEnablePeerAccess, __pyx_k_cudaDeviceEnablePeerAccess, sizeof(__pyx_k_cudaDeviceEnablePeerAccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceFlushGPUDirectRDMAWrit, __pyx_k_cudaDeviceFlushGPUDirectRDMAWrit, sizeof(__pyx_k_cudaDeviceFlushGPUDirectRDMAWrit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetAttribute, __pyx_k_cudaDeviceGetAttribute, sizeof(__pyx_k_cudaDeviceGetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetByPCIBusId, __pyx_k_cudaDeviceGetByPCIBusId, sizeof(__pyx_k_cudaDeviceGetByPCIBusId), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetCacheConfig, __pyx_k_cudaDeviceGetCacheConfig, sizeof(__pyx_k_cudaDeviceGetCacheConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetDefaultMemPool, __pyx_k_cudaDeviceGetDefaultMemPool, sizeof(__pyx_k_cudaDeviceGetDefaultMemPool), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetGraphMemAttribute, __pyx_k_cudaDeviceGetGraphMemAttribute, sizeof(__pyx_k_cudaDeviceGetGraphMemAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetLimit, __pyx_k_cudaDeviceGetLimit, sizeof(__pyx_k_cudaDeviceGetLimit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetMemPool, __pyx_k_cudaDeviceGetMemPool, sizeof(__pyx_k_cudaDeviceGetMemPool), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetNvSciSyncAttributes, __pyx_k_cudaDeviceGetNvSciSyncAttributes, sizeof(__pyx_k_cudaDeviceGetNvSciSyncAttributes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetP2PAttribute, __pyx_k_cudaDeviceGetP2PAttribute, sizeof(__pyx_k_cudaDeviceGetP2PAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetPCIBusId, __pyx_k_cudaDeviceGetPCIBusId, sizeof(__pyx_k_cudaDeviceGetPCIBusId), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetSharedMemConfig, __pyx_k_cudaDeviceGetSharedMemConfig, sizeof(__pyx_k_cudaDeviceGetSharedMemConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetStreamPriorityRange, __pyx_k_cudaDeviceGetStreamPriorityRange, sizeof(__pyx_k_cudaDeviceGetStreamPriorityRange), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGetTexture1DLinearMaxW, __pyx_k_cudaDeviceGetTexture1DLinearMaxW, sizeof(__pyx_k_cudaDeviceGetTexture1DLinearMaxW), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceGraphMemTrim, __pyx_k_cudaDeviceGraphMemTrim, sizeof(__pyx_k_cudaDeviceGraphMemTrim), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceLmemResizeToMax, __pyx_k_cudaDeviceLmemResizeToMax, sizeof(__pyx_k_cudaDeviceLmemResizeToMax), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceMapHost, __pyx_k_cudaDeviceMapHost, sizeof(__pyx_k_cudaDeviceMapHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceMask, __pyx_k_cudaDeviceMask, sizeof(__pyx_k_cudaDeviceMask), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceP2PAttr, __pyx_k_cudaDeviceP2PAttr, sizeof(__pyx_k_cudaDeviceP2PAttr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceProp, __pyx_k_cudaDeviceProp, sizeof(__pyx_k_cudaDeviceProp), 0, 0, 1, 1},
  {&__pyx_n_u_cudaDeviceProp, __pyx_k_cudaDeviceProp, sizeof(__pyx_k_cudaDeviceProp), 0, 1, 0, 1},
  {&__pyx_n_s_cudaDeviceProp___reduce_cython, __pyx_k_cudaDeviceProp___reduce_cython, sizeof(__pyx_k_cudaDeviceProp___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceProp___setstate_cython, __pyx_k_cudaDeviceProp___setstate_cython, sizeof(__pyx_k_cudaDeviceProp___setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceProp_getPtr, __pyx_k_cudaDeviceProp_getPtr, sizeof(__pyx_k_cudaDeviceProp_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceReset, __pyx_k_cudaDeviceReset, sizeof(__pyx_k_cudaDeviceReset), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceScheduleAuto, __pyx_k_cudaDeviceScheduleAuto, sizeof(__pyx_k_cudaDeviceScheduleAuto), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceScheduleBlockingSync, __pyx_k_cudaDeviceScheduleBlockingSync, sizeof(__pyx_k_cudaDeviceScheduleBlockingSync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceScheduleMask, __pyx_k_cudaDeviceScheduleMask, sizeof(__pyx_k_cudaDeviceScheduleMask), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceScheduleSpin, __pyx_k_cudaDeviceScheduleSpin, sizeof(__pyx_k_cudaDeviceScheduleSpin), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceScheduleYield, __pyx_k_cudaDeviceScheduleYield, sizeof(__pyx_k_cudaDeviceScheduleYield), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceSetCacheConfig, __pyx_k_cudaDeviceSetCacheConfig, sizeof(__pyx_k_cudaDeviceSetCacheConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceSetGraphMemAttribute, __pyx_k_cudaDeviceSetGraphMemAttribute, sizeof(__pyx_k_cudaDeviceSetGraphMemAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceSetLimit, __pyx_k_cudaDeviceSetLimit, sizeof(__pyx_k_cudaDeviceSetLimit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceSetMemPool, __pyx_k_cudaDeviceSetMemPool, sizeof(__pyx_k_cudaDeviceSetMemPool), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceSetSharedMemConfig, __pyx_k_cudaDeviceSetSharedMemConfig, sizeof(__pyx_k_cudaDeviceSetSharedMemConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDeviceSynchronize, __pyx_k_cudaDeviceSynchronize, sizeof(__pyx_k_cudaDeviceSynchronize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaDriverGetVersion, __pyx_k_cudaDriverGetVersion, sizeof(__pyx_k_cudaDriverGetVersion), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamConsumerAcquireFram, __pyx_k_cudaEGLStreamConsumerAcquireFram, sizeof(__pyx_k_cudaEGLStreamConsumerAcquireFram), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamConsumerConnect, __pyx_k_cudaEGLStreamConsumerConnect, sizeof(__pyx_k_cudaEGLStreamConsumerConnect), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamConsumerConnectWith, __pyx_k_cudaEGLStreamConsumerConnectWith, sizeof(__pyx_k_cudaEGLStreamConsumerConnectWith), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamConsumerDisconnect, __pyx_k_cudaEGLStreamConsumerDisconnect, sizeof(__pyx_k_cudaEGLStreamConsumerDisconnect), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamConsumerReleaseFram, __pyx_k_cudaEGLStreamConsumerReleaseFram, sizeof(__pyx_k_cudaEGLStreamConsumerReleaseFram), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamProducerConnect, __pyx_k_cudaEGLStreamProducerConnect, sizeof(__pyx_k_cudaEGLStreamProducerConnect), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamProducerDisconnect, __pyx_k_cudaEGLStreamProducerDisconnect, sizeof(__pyx_k_cudaEGLStreamProducerDisconnect), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamProducerPresentFram, __pyx_k_cudaEGLStreamProducerPresentFram, sizeof(__pyx_k_cudaEGLStreamProducerPresentFram), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEGLStreamProducerReturnFrame, __pyx_k_cudaEGLStreamProducerReturnFrame, sizeof(__pyx_k_cudaEGLStreamProducerReturnFrame), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormat, __pyx_k_cudaEglColorFormat, sizeof(__pyx_k_cudaEglColorFormat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatA, __pyx_k_cudaEglColorFormatA, sizeof(__pyx_k_cudaEglColorFormatA), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatABGR, __pyx_k_cudaEglColorFormatABGR, sizeof(__pyx_k_cudaEglColorFormatABGR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatARGB, __pyx_k_cudaEglColorFormatARGB, sizeof(__pyx_k_cudaEglColorFormatARGB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatAYUV, __pyx_k_cudaEglColorFormatAYUV, sizeof(__pyx_k_cudaEglColorFormatAYUV), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatAYUV_ER, __pyx_k_cudaEglColorFormatAYUV_ER, sizeof(__pyx_k_cudaEglColorFormatAYUV_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBGRA, __pyx_k_cudaEglColorFormatBGRA, sizeof(__pyx_k_cudaEglColorFormatBGRA), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer10BGGR, __pyx_k_cudaEglColorFormatBayer10BGGR, sizeof(__pyx_k_cudaEglColorFormatBayer10BGGR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer10CCCC, __pyx_k_cudaEglColorFormatBayer10CCCC, sizeof(__pyx_k_cudaEglColorFormatBayer10CCCC), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer10GBRG, __pyx_k_cudaEglColorFormatBayer10GBRG, sizeof(__pyx_k_cudaEglColorFormatBayer10GBRG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer10GRBG, __pyx_k_cudaEglColorFormatBayer10GRBG, sizeof(__pyx_k_cudaEglColorFormatBayer10GRBG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer10RGGB, __pyx_k_cudaEglColorFormatBayer10RGGB, sizeof(__pyx_k_cudaEglColorFormatBayer10RGGB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12BCCR, __pyx_k_cudaEglColorFormatBayer12BCCR, sizeof(__pyx_k_cudaEglColorFormatBayer12BCCR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12BGGR, __pyx_k_cudaEglColorFormatBayer12BGGR, sizeof(__pyx_k_cudaEglColorFormatBayer12BGGR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12CBRC, __pyx_k_cudaEglColorFormatBayer12CBRC, sizeof(__pyx_k_cudaEglColorFormatBayer12CBRC), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12CCCC, __pyx_k_cudaEglColorFormatBayer12CCCC, sizeof(__pyx_k_cudaEglColorFormatBayer12CCCC), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12CRBC, __pyx_k_cudaEglColorFormatBayer12CRBC, sizeof(__pyx_k_cudaEglColorFormatBayer12CRBC), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12GBRG, __pyx_k_cudaEglColorFormatBayer12GBRG, sizeof(__pyx_k_cudaEglColorFormatBayer12GBRG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12GRBG, __pyx_k_cudaEglColorFormatBayer12GRBG, sizeof(__pyx_k_cudaEglColorFormatBayer12GRBG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12RCCB, __pyx_k_cudaEglColorFormatBayer12RCCB, sizeof(__pyx_k_cudaEglColorFormatBayer12RCCB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer12RGGB, __pyx_k_cudaEglColorFormatBayer12RGGB, sizeof(__pyx_k_cudaEglColorFormatBayer12RGGB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer14BGGR, __pyx_k_cudaEglColorFormatBayer14BGGR, sizeof(__pyx_k_cudaEglColorFormatBayer14BGGR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer14GBRG, __pyx_k_cudaEglColorFormatBayer14GBRG, sizeof(__pyx_k_cudaEglColorFormatBayer14GBRG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer14GRBG, __pyx_k_cudaEglColorFormatBayer14GRBG, sizeof(__pyx_k_cudaEglColorFormatBayer14GRBG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer14RGGB, __pyx_k_cudaEglColorFormatBayer14RGGB, sizeof(__pyx_k_cudaEglColorFormatBayer14RGGB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer20BGGR, __pyx_k_cudaEglColorFormatBayer20BGGR, sizeof(__pyx_k_cudaEglColorFormatBayer20BGGR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer20GBRG, __pyx_k_cudaEglColorFormatBayer20GBRG, sizeof(__pyx_k_cudaEglColorFormatBayer20GBRG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer20GRBG, __pyx_k_cudaEglColorFormatBayer20GRBG, sizeof(__pyx_k_cudaEglColorFormatBayer20GRBG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayer20RGGB, __pyx_k_cudaEglColorFormatBayer20RGGB, sizeof(__pyx_k_cudaEglColorFormatBayer20RGGB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerBCCR, __pyx_k_cudaEglColorFormatBayerBCCR, sizeof(__pyx_k_cudaEglColorFormatBayerBCCR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerBGGR, __pyx_k_cudaEglColorFormatBayerBGGR, sizeof(__pyx_k_cudaEglColorFormatBayerBGGR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerCBRC, __pyx_k_cudaEglColorFormatBayerCBRC, sizeof(__pyx_k_cudaEglColorFormatBayerCBRC), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerCRBC, __pyx_k_cudaEglColorFormatBayerCRBC, sizeof(__pyx_k_cudaEglColorFormatBayerCRBC), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerGBRG, __pyx_k_cudaEglColorFormatBayerGBRG, sizeof(__pyx_k_cudaEglColorFormatBayerGBRG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerGRBG, __pyx_k_cudaEglColorFormatBayerGRBG, sizeof(__pyx_k_cudaEglColorFormatBayerGRBG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerIspBGGR, __pyx_k_cudaEglColorFormatBayerIspBGGR, sizeof(__pyx_k_cudaEglColorFormatBayerIspBGGR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerIspGBRG, __pyx_k_cudaEglColorFormatBayerIspGBRG, sizeof(__pyx_k_cudaEglColorFormatBayerIspGBRG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerIspGRBG, __pyx_k_cudaEglColorFormatBayerIspGRBG, sizeof(__pyx_k_cudaEglColorFormatBayerIspGRBG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerIspRGGB, __pyx_k_cudaEglColorFormatBayerIspRGGB, sizeof(__pyx_k_cudaEglColorFormatBayerIspRGGB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerRCCB, __pyx_k_cudaEglColorFormatBayerRCCB, sizeof(__pyx_k_cudaEglColorFormatBayerRCCB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatBayerRGGB, __pyx_k_cudaEglColorFormatBayerRGGB, sizeof(__pyx_k_cudaEglColorFormatBayerRGGB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatL, __pyx_k_cudaEglColorFormatL, sizeof(__pyx_k_cudaEglColorFormatL), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatR, __pyx_k_cudaEglColorFormatR, sizeof(__pyx_k_cudaEglColorFormatR), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatRG, __pyx_k_cudaEglColorFormatRG, sizeof(__pyx_k_cudaEglColorFormatRG), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatRGBA, __pyx_k_cudaEglColorFormatRGBA, sizeof(__pyx_k_cudaEglColorFormatRGBA), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatUYVY422, __pyx_k_cudaEglColorFormatUYVY422, sizeof(__pyx_k_cudaEglColorFormatUYVY422), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatUYVY_ER, __pyx_k_cudaEglColorFormatUYVY_ER, sizeof(__pyx_k_cudaEglColorFormatUYVY_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatVYUY, __pyx_k_cudaEglColorFormatVYUY, sizeof(__pyx_k_cudaEglColorFormatVYUY), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatVYUY_ER, __pyx_k_cudaEglColorFormatVYUY_ER, sizeof(__pyx_k_cudaEglColorFormatVYUY_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY, __pyx_k_cudaEglColorFormatY, sizeof(__pyx_k_cudaEglColorFormatY), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_420S, __pyx_k_cudaEglColorFormatY10V10U10_420S, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_420S), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_420S_2, __pyx_k_cudaEglColorFormatY10V10U10_420S_2, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_420S_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_420S_3, __pyx_k_cudaEglColorFormatY10V10U10_420S_3, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_420S_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_420S_4, __pyx_k_cudaEglColorFormatY10V10U10_420S_4, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_420S_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_420S_5, __pyx_k_cudaEglColorFormatY10V10U10_420S_5, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_420S_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_422S, __pyx_k_cudaEglColorFormatY10V10U10_422S, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_422S), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_422S_2, __pyx_k_cudaEglColorFormatY10V10U10_422S_2, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_422S_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_422S_3, __pyx_k_cudaEglColorFormatY10V10U10_422S_3, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_422S_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_444S, __pyx_k_cudaEglColorFormatY10V10U10_444S, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_444S), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_444S_2, __pyx_k_cudaEglColorFormatY10V10U10_444S_2, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_444S_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10V10U10_444S_3, __pyx_k_cudaEglColorFormatY10V10U10_444S_3, sizeof(__pyx_k_cudaEglColorFormatY10V10U10_444S_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10_709_ER, __pyx_k_cudaEglColorFormatY10_709_ER, sizeof(__pyx_k_cudaEglColorFormatY10_709_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY10_ER, __pyx_k_cudaEglColorFormatY10_ER, sizeof(__pyx_k_cudaEglColorFormatY10_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12V12U12_420S, __pyx_k_cudaEglColorFormatY12V12U12_420S, sizeof(__pyx_k_cudaEglColorFormatY12V12U12_420S), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12V12U12_420S_2, __pyx_k_cudaEglColorFormatY12V12U12_420S_2, sizeof(__pyx_k_cudaEglColorFormatY12V12U12_420S_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12V12U12_420S_3, __pyx_k_cudaEglColorFormatY12V12U12_420S_3, sizeof(__pyx_k_cudaEglColorFormatY12V12U12_420S_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12V12U12_444S, __pyx_k_cudaEglColorFormatY12V12U12_444S, sizeof(__pyx_k_cudaEglColorFormatY12V12U12_444S), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12V12U12_444S_2, __pyx_k_cudaEglColorFormatY12V12U12_444S_2, sizeof(__pyx_k_cudaEglColorFormatY12V12U12_444S_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12V12U12_444S_3, __pyx_k_cudaEglColorFormatY12V12U12_444S_3, sizeof(__pyx_k_cudaEglColorFormatY12V12U12_444S_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12_709_ER, __pyx_k_cudaEglColorFormatY12_709_ER, sizeof(__pyx_k_cudaEglColorFormatY12_709_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY12_ER, __pyx_k_cudaEglColorFormatY12_ER, sizeof(__pyx_k_cudaEglColorFormatY12_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420Planar, __pyx_k_cudaEglColorFormatYUV420Planar, sizeof(__pyx_k_cudaEglColorFormatYUV420Planar), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420Planar_2, __pyx_k_cudaEglColorFormatYUV420Planar_2, sizeof(__pyx_k_cudaEglColorFormatYUV420Planar_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420Planar_7, __pyx_k_cudaEglColorFormatYUV420Planar_7, sizeof(__pyx_k_cudaEglColorFormatYUV420Planar_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420Planar_E, __pyx_k_cudaEglColorFormatYUV420Planar_E, sizeof(__pyx_k_cudaEglColorFormatYUV420Planar_E), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420SemiPlan, __pyx_k_cudaEglColorFormatYUV420SemiPlan, sizeof(__pyx_k_cudaEglColorFormatYUV420SemiPlan), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420SemiPlan_2, __pyx_k_cudaEglColorFormatYUV420SemiPlan_2, sizeof(__pyx_k_cudaEglColorFormatYUV420SemiPlan_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420SemiPlan_3, __pyx_k_cudaEglColorFormatYUV420SemiPlan_3, sizeof(__pyx_k_cudaEglColorFormatYUV420SemiPlan_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV420SemiPlan_4, __pyx_k_cudaEglColorFormatYUV420SemiPlan_4, sizeof(__pyx_k_cudaEglColorFormatYUV420SemiPlan_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV422Planar, __pyx_k_cudaEglColorFormatYUV422Planar, sizeof(__pyx_k_cudaEglColorFormatYUV422Planar), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV422Planar_E, __pyx_k_cudaEglColorFormatYUV422Planar_E, sizeof(__pyx_k_cudaEglColorFormatYUV422Planar_E), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV422SemiPlan, __pyx_k_cudaEglColorFormatYUV422SemiPlan, sizeof(__pyx_k_cudaEglColorFormatYUV422SemiPlan), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV422SemiPlan_2, __pyx_k_cudaEglColorFormatYUV422SemiPlan_2, sizeof(__pyx_k_cudaEglColorFormatYUV422SemiPlan_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV444Planar, __pyx_k_cudaEglColorFormatYUV444Planar, sizeof(__pyx_k_cudaEglColorFormatYUV444Planar), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV444Planar_E, __pyx_k_cudaEglColorFormatYUV444Planar_E, sizeof(__pyx_k_cudaEglColorFormatYUV444Planar_E), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV444SemiPlan, __pyx_k_cudaEglColorFormatYUV444SemiPlan, sizeof(__pyx_k_cudaEglColorFormatYUV444SemiPlan), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUV444SemiPlan_2, __pyx_k_cudaEglColorFormatYUV444SemiPlan_2, sizeof(__pyx_k_cudaEglColorFormatYUV444SemiPlan_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUVA, __pyx_k_cudaEglColorFormatYUVA, sizeof(__pyx_k_cudaEglColorFormatYUVA), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUVA_ER, __pyx_k_cudaEglColorFormatYUVA_ER, sizeof(__pyx_k_cudaEglColorFormatYUVA_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUYV422, __pyx_k_cudaEglColorFormatYUYV422, sizeof(__pyx_k_cudaEglColorFormatYUYV422), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYUYV_ER, __pyx_k_cudaEglColorFormatYUYV_ER, sizeof(__pyx_k_cudaEglColorFormatYUYV_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420Planar, __pyx_k_cudaEglColorFormatYVU420Planar, sizeof(__pyx_k_cudaEglColorFormatYVU420Planar), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420Planar_2, __pyx_k_cudaEglColorFormatYVU420Planar_2, sizeof(__pyx_k_cudaEglColorFormatYVU420Planar_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420Planar_7, __pyx_k_cudaEglColorFormatYVU420Planar_7, sizeof(__pyx_k_cudaEglColorFormatYVU420Planar_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420Planar_E, __pyx_k_cudaEglColorFormatYVU420Planar_E, sizeof(__pyx_k_cudaEglColorFormatYVU420Planar_E), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420SemiPlan, __pyx_k_cudaEglColorFormatYVU420SemiPlan, sizeof(__pyx_k_cudaEglColorFormatYVU420SemiPlan), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420SemiPlan_2, __pyx_k_cudaEglColorFormatYVU420SemiPlan_2, sizeof(__pyx_k_cudaEglColorFormatYVU420SemiPlan_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420SemiPlan_3, __pyx_k_cudaEglColorFormatYVU420SemiPlan_3, sizeof(__pyx_k_cudaEglColorFormatYVU420SemiPlan_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU420SemiPlan_4, __pyx_k_cudaEglColorFormatYVU420SemiPlan_4, sizeof(__pyx_k_cudaEglColorFormatYVU420SemiPlan_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU422Planar, __pyx_k_cudaEglColorFormatYVU422Planar, sizeof(__pyx_k_cudaEglColorFormatYVU422Planar), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU422Planar_E, __pyx_k_cudaEglColorFormatYVU422Planar_E, sizeof(__pyx_k_cudaEglColorFormatYVU422Planar_E), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU422SemiPlan, __pyx_k_cudaEglColorFormatYVU422SemiPlan, sizeof(__pyx_k_cudaEglColorFormatYVU422SemiPlan), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU422SemiPlan_2, __pyx_k_cudaEglColorFormatYVU422SemiPlan_2, sizeof(__pyx_k_cudaEglColorFormatYVU422SemiPlan_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU444Planar, __pyx_k_cudaEglColorFormatYVU444Planar, sizeof(__pyx_k_cudaEglColorFormatYVU444Planar), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU444Planar_E, __pyx_k_cudaEglColorFormatYVU444Planar_E, sizeof(__pyx_k_cudaEglColorFormatYVU444Planar_E), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU444SemiPlan, __pyx_k_cudaEglColorFormatYVU444SemiPlan, sizeof(__pyx_k_cudaEglColorFormatYVU444SemiPlan), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVU444SemiPlan_2, __pyx_k_cudaEglColorFormatYVU444SemiPlan_2, sizeof(__pyx_k_cudaEglColorFormatYVU444SemiPlan_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVYU, __pyx_k_cudaEglColorFormatYVYU, sizeof(__pyx_k_cudaEglColorFormatYVYU), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatYVYU_ER, __pyx_k_cudaEglColorFormatYVYU_ER, sizeof(__pyx_k_cudaEglColorFormatYVYU_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY_709_ER, __pyx_k_cudaEglColorFormatY_709_ER, sizeof(__pyx_k_cudaEglColorFormatY_709_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglColorFormatY_ER, __pyx_k_cudaEglColorFormatY_ER, sizeof(__pyx_k_cudaEglColorFormatY_ER), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame, __pyx_k_cudaEglFrame, sizeof(__pyx_k_cudaEglFrame), 0, 0, 1, 1},
  {&__pyx_n_u_cudaEglFrame, __pyx_k_cudaEglFrame, sizeof(__pyx_k_cudaEglFrame), 0, 1, 0, 1},
  {&__pyx_n_s_cudaEglFrameType, __pyx_k_cudaEglFrameType, sizeof(__pyx_k_cudaEglFrameType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrameTypeArray, __pyx_k_cudaEglFrameTypeArray, sizeof(__pyx_k_cudaEglFrameTypeArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrameTypePitch, __pyx_k_cudaEglFrameTypePitch, sizeof(__pyx_k_cudaEglFrameTypePitch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE, __pyx_k_cudaEglFrame_cudaEglFrame_cudaE, sizeof(__pyx_k_cudaEglFrame_cudaEglFrame_cudaE), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_2, __pyx_k_cudaEglFrame_cudaEglFrame_cudaE_2, sizeof(__pyx_k_cudaEglFrame_cudaEglFrame_cudaE_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_3, __pyx_k_cudaEglFrame_cudaEglFrame_cudaE_3, sizeof(__pyx_k_cudaEglFrame_cudaEglFrame_cudaE_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_4, __pyx_k_cudaEglFrame_cudaEglFrame_cudaE_4, sizeof(__pyx_k_cudaEglFrame_cudaEglFrame_cudaE_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_st, __pyx_k_cudaEglFrame_st, sizeof(__pyx_k_cudaEglFrame_st), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_st___reduce_cython, __pyx_k_cudaEglFrame_st___reduce_cython, sizeof(__pyx_k_cudaEglFrame_st___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_st___setstate_cytho, __pyx_k_cudaEglFrame_st___setstate_cytho, sizeof(__pyx_k_cudaEglFrame_st___setstate_cytho), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglFrame_st_getPtr, __pyx_k_cudaEglFrame_st_getPtr, sizeof(__pyx_k_cudaEglFrame_st_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglPlaneDesc, __pyx_k_cudaEglPlaneDesc, sizeof(__pyx_k_cudaEglPlaneDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglPlaneDesc_st, __pyx_k_cudaEglPlaneDesc_st, sizeof(__pyx_k_cudaEglPlaneDesc_st), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglPlaneDesc_st___reduce_cyt, __pyx_k_cudaEglPlaneDesc_st___reduce_cyt, sizeof(__pyx_k_cudaEglPlaneDesc_st___reduce_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglPlaneDesc_st___setstate_c, __pyx_k_cudaEglPlaneDesc_st___setstate_c, sizeof(__pyx_k_cudaEglPlaneDesc_st___setstate_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglPlaneDesc_st_getPtr, __pyx_k_cudaEglPlaneDesc_st_getPtr, sizeof(__pyx_k_cudaEglPlaneDesc_st_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglResourceLocationFlags, __pyx_k_cudaEglResourceLocationFlags, sizeof(__pyx_k_cudaEglResourceLocationFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglResourceLocationSysmem, __pyx_k_cudaEglResourceLocationSysmem, sizeof(__pyx_k_cudaEglResourceLocationSysmem), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglResourceLocationVidmem, __pyx_k_cudaEglResourceLocationVidmem, sizeof(__pyx_k_cudaEglResourceLocationVidmem), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEglStreamConnection, __pyx_k_cudaEglStreamConnection, sizeof(__pyx_k_cudaEglStreamConnection), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEnableDefault, __pyx_k_cudaEnableDefault, sizeof(__pyx_k_cudaEnableDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEnableLegacyStream, __pyx_k_cudaEnableLegacyStream, sizeof(__pyx_k_cudaEnableLegacyStream), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEnablePerThreadDefaultStream, __pyx_k_cudaEnablePerThreadDefaultStream, sizeof(__pyx_k_cudaEnablePerThreadDefaultStream), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorAddressOfConstant, __pyx_k_cudaErrorAddressOfConstant, sizeof(__pyx_k_cudaErrorAddressOfConstant), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorAlreadyAcquired, __pyx_k_cudaErrorAlreadyAcquired, sizeof(__pyx_k_cudaErrorAlreadyAcquired), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorAlreadyMapped, __pyx_k_cudaErrorAlreadyMapped, sizeof(__pyx_k_cudaErrorAlreadyMapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorApiFailureBase, __pyx_k_cudaErrorApiFailureBase, sizeof(__pyx_k_cudaErrorApiFailureBase), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorArrayIsMapped, __pyx_k_cudaErrorArrayIsMapped, sizeof(__pyx_k_cudaErrorArrayIsMapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorAssert, __pyx_k_cudaErrorAssert, sizeof(__pyx_k_cudaErrorAssert), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorCallRequiresNewerDriver, __pyx_k_cudaErrorCallRequiresNewerDriver, sizeof(__pyx_k_cudaErrorCallRequiresNewerDriver), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorCapturedEvent, __pyx_k_cudaErrorCapturedEvent, sizeof(__pyx_k_cudaErrorCapturedEvent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorCompatNotSupportedOnDev, __pyx_k_cudaErrorCompatNotSupportedOnDev, sizeof(__pyx_k_cudaErrorCompatNotSupportedOnDev), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorContextIsDestroyed, __pyx_k_cudaErrorContextIsDestroyed, sizeof(__pyx_k_cudaErrorContextIsDestroyed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorCooperativeLaunchTooLar, __pyx_k_cudaErrorCooperativeLaunchTooLar, sizeof(__pyx_k_cudaErrorCooperativeLaunchTooLar), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorCudartUnloading, __pyx_k_cudaErrorCudartUnloading, sizeof(__pyx_k_cudaErrorCudartUnloading), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorDeviceAlreadyInUse, __pyx_k_cudaErrorDeviceAlreadyInUse, sizeof(__pyx_k_cudaErrorDeviceAlreadyInUse), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorDeviceNotLicensed, __pyx_k_cudaErrorDeviceNotLicensed, sizeof(__pyx_k_cudaErrorDeviceNotLicensed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorDeviceUninitialized, __pyx_k_cudaErrorDeviceUninitialized, sizeof(__pyx_k_cudaErrorDeviceUninitialized), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorDevicesUnavailable, __pyx_k_cudaErrorDevicesUnavailable, sizeof(__pyx_k_cudaErrorDevicesUnavailable), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorDuplicateSurfaceName, __pyx_k_cudaErrorDuplicateSurfaceName, sizeof(__pyx_k_cudaErrorDuplicateSurfaceName), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorDuplicateTextureName, __pyx_k_cudaErrorDuplicateTextureName, sizeof(__pyx_k_cudaErrorDuplicateTextureName), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorDuplicateVariableName, __pyx_k_cudaErrorDuplicateVariableName, sizeof(__pyx_k_cudaErrorDuplicateVariableName), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorECCUncorrectable, __pyx_k_cudaErrorECCUncorrectable, sizeof(__pyx_k_cudaErrorECCUncorrectable), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorExternalDevice, __pyx_k_cudaErrorExternalDevice, sizeof(__pyx_k_cudaErrorExternalDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorFileNotFound, __pyx_k_cudaErrorFileNotFound, sizeof(__pyx_k_cudaErrorFileNotFound), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorGraphExecUpdateFailure, __pyx_k_cudaErrorGraphExecUpdateFailure, sizeof(__pyx_k_cudaErrorGraphExecUpdateFailure), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorHardwareStackError, __pyx_k_cudaErrorHardwareStackError, sizeof(__pyx_k_cudaErrorHardwareStackError), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorHostMemoryAlreadyRegist, __pyx_k_cudaErrorHostMemoryAlreadyRegist, sizeof(__pyx_k_cudaErrorHostMemoryAlreadyRegist), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorHostMemoryNotRegistered, __pyx_k_cudaErrorHostMemoryNotRegistered, sizeof(__pyx_k_cudaErrorHostMemoryNotRegistered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorIllegalAddress, __pyx_k_cudaErrorIllegalAddress, sizeof(__pyx_k_cudaErrorIllegalAddress), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorIllegalInstruction, __pyx_k_cudaErrorIllegalInstruction, sizeof(__pyx_k_cudaErrorIllegalInstruction), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorIllegalState, __pyx_k_cudaErrorIllegalState, sizeof(__pyx_k_cudaErrorIllegalState), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorIncompatibleDriverConte, __pyx_k_cudaErrorIncompatibleDriverConte, sizeof(__pyx_k_cudaErrorIncompatibleDriverConte), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInitializationError, __pyx_k_cudaErrorInitializationError, sizeof(__pyx_k_cudaErrorInitializationError), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInsufficientDriver, __pyx_k_cudaErrorInsufficientDriver, sizeof(__pyx_k_cudaErrorInsufficientDriver), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidAddressSpace, __pyx_k_cudaErrorInvalidAddressSpace, sizeof(__pyx_k_cudaErrorInvalidAddressSpace), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidChannelDescripto, __pyx_k_cudaErrorInvalidChannelDescripto, sizeof(__pyx_k_cudaErrorInvalidChannelDescripto), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidClusterSize, __pyx_k_cudaErrorInvalidClusterSize, sizeof(__pyx_k_cudaErrorInvalidClusterSize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidConfiguration, __pyx_k_cudaErrorInvalidConfiguration, sizeof(__pyx_k_cudaErrorInvalidConfiguration), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidDevice, __pyx_k_cudaErrorInvalidDevice, sizeof(__pyx_k_cudaErrorInvalidDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidDeviceFunction, __pyx_k_cudaErrorInvalidDeviceFunction, sizeof(__pyx_k_cudaErrorInvalidDeviceFunction), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidDevicePointer, __pyx_k_cudaErrorInvalidDevicePointer, sizeof(__pyx_k_cudaErrorInvalidDevicePointer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidFilterSetting, __pyx_k_cudaErrorInvalidFilterSetting, sizeof(__pyx_k_cudaErrorInvalidFilterSetting), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidGraphicsContext, __pyx_k_cudaErrorInvalidGraphicsContext, sizeof(__pyx_k_cudaErrorInvalidGraphicsContext), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidHostPointer, __pyx_k_cudaErrorInvalidHostPointer, sizeof(__pyx_k_cudaErrorInvalidHostPointer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidKernelImage, __pyx_k_cudaErrorInvalidKernelImage, sizeof(__pyx_k_cudaErrorInvalidKernelImage), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidMemcpyDirection, __pyx_k_cudaErrorInvalidMemcpyDirection, sizeof(__pyx_k_cudaErrorInvalidMemcpyDirection), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidNormSetting, __pyx_k_cudaErrorInvalidNormSetting, sizeof(__pyx_k_cudaErrorInvalidNormSetting), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidPc, __pyx_k_cudaErrorInvalidPc, sizeof(__pyx_k_cudaErrorInvalidPc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidPitchValue, __pyx_k_cudaErrorInvalidPitchValue, sizeof(__pyx_k_cudaErrorInvalidPitchValue), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidPtx, __pyx_k_cudaErrorInvalidPtx, sizeof(__pyx_k_cudaErrorInvalidPtx), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidResourceHandle, __pyx_k_cudaErrorInvalidResourceHandle, sizeof(__pyx_k_cudaErrorInvalidResourceHandle), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidSource, __pyx_k_cudaErrorInvalidSource, sizeof(__pyx_k_cudaErrorInvalidSource), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidSurface, __pyx_k_cudaErrorInvalidSurface, sizeof(__pyx_k_cudaErrorInvalidSurface), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidSymbol, __pyx_k_cudaErrorInvalidSymbol, sizeof(__pyx_k_cudaErrorInvalidSymbol), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidTexture, __pyx_k_cudaErrorInvalidTexture, sizeof(__pyx_k_cudaErrorInvalidTexture), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidTextureBinding, __pyx_k_cudaErrorInvalidTextureBinding, sizeof(__pyx_k_cudaErrorInvalidTextureBinding), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorInvalidValue, __pyx_k_cudaErrorInvalidValue, sizeof(__pyx_k_cudaErrorInvalidValue), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorJitCompilationDisabled, __pyx_k_cudaErrorJitCompilationDisabled, sizeof(__pyx_k_cudaErrorJitCompilationDisabled), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorJitCompilerNotFound, __pyx_k_cudaErrorJitCompilerNotFound, sizeof(__pyx_k_cudaErrorJitCompilerNotFound), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchFailure, __pyx_k_cudaErrorLaunchFailure, sizeof(__pyx_k_cudaErrorLaunchFailure), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchFileScopedSurf, __pyx_k_cudaErrorLaunchFileScopedSurf, sizeof(__pyx_k_cudaErrorLaunchFileScopedSurf), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchFileScopedTex, __pyx_k_cudaErrorLaunchFileScopedTex, sizeof(__pyx_k_cudaErrorLaunchFileScopedTex), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchIncompatibleTextu, __pyx_k_cudaErrorLaunchIncompatibleTextu, sizeof(__pyx_k_cudaErrorLaunchIncompatibleTextu), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchMaxDepthExceeded, __pyx_k_cudaErrorLaunchMaxDepthExceeded, sizeof(__pyx_k_cudaErrorLaunchMaxDepthExceeded), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchOutOfResources, __pyx_k_cudaErrorLaunchOutOfResources, sizeof(__pyx_k_cudaErrorLaunchOutOfResources), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchPendingCountExcee, __pyx_k_cudaErrorLaunchPendingCountExcee, sizeof(__pyx_k_cudaErrorLaunchPendingCountExcee), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorLaunchTimeout, __pyx_k_cudaErrorLaunchTimeout, sizeof(__pyx_k_cudaErrorLaunchTimeout), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMapBufferObjectFailed, __pyx_k_cudaErrorMapBufferObjectFailed, sizeof(__pyx_k_cudaErrorMapBufferObjectFailed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMemoryAllocation, __pyx_k_cudaErrorMemoryAllocation, sizeof(__pyx_k_cudaErrorMemoryAllocation), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMemoryValueTooLarge, __pyx_k_cudaErrorMemoryValueTooLarge, sizeof(__pyx_k_cudaErrorMemoryValueTooLarge), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMisalignedAddress, __pyx_k_cudaErrorMisalignedAddress, sizeof(__pyx_k_cudaErrorMisalignedAddress), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMissingConfiguration, __pyx_k_cudaErrorMissingConfiguration, sizeof(__pyx_k_cudaErrorMissingConfiguration), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMixedDeviceExecution, __pyx_k_cudaErrorMixedDeviceExecution, sizeof(__pyx_k_cudaErrorMixedDeviceExecution), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMpsClientTerminated, __pyx_k_cudaErrorMpsClientTerminated, sizeof(__pyx_k_cudaErrorMpsClientTerminated), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMpsConnectionFailed, __pyx_k_cudaErrorMpsConnectionFailed, sizeof(__pyx_k_cudaErrorMpsConnectionFailed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMpsMaxClientsReached, __pyx_k_cudaErrorMpsMaxClientsReached, sizeof(__pyx_k_cudaErrorMpsMaxClientsReached), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMpsMaxConnectionsReache, __pyx_k_cudaErrorMpsMaxConnectionsReache, sizeof(__pyx_k_cudaErrorMpsMaxConnectionsReache), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMpsRpcFailure, __pyx_k_cudaErrorMpsRpcFailure, sizeof(__pyx_k_cudaErrorMpsRpcFailure), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorMpsServerNotReady, __pyx_k_cudaErrorMpsServerNotReady, sizeof(__pyx_k_cudaErrorMpsServerNotReady), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNoDevice, __pyx_k_cudaErrorNoDevice, sizeof(__pyx_k_cudaErrorNoDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNoKernelImageForDevice, __pyx_k_cudaErrorNoKernelImageForDevice, sizeof(__pyx_k_cudaErrorNoKernelImageForDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNotMapped, __pyx_k_cudaErrorNotMapped, sizeof(__pyx_k_cudaErrorNotMapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNotMappedAsArray, __pyx_k_cudaErrorNotMappedAsArray, sizeof(__pyx_k_cudaErrorNotMappedAsArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNotMappedAsPointer, __pyx_k_cudaErrorNotMappedAsPointer, sizeof(__pyx_k_cudaErrorNotMappedAsPointer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNotPermitted, __pyx_k_cudaErrorNotPermitted, sizeof(__pyx_k_cudaErrorNotPermitted), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNotReady, __pyx_k_cudaErrorNotReady, sizeof(__pyx_k_cudaErrorNotReady), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNotSupported, __pyx_k_cudaErrorNotSupported, sizeof(__pyx_k_cudaErrorNotSupported), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNotYetImplemented, __pyx_k_cudaErrorNotYetImplemented, sizeof(__pyx_k_cudaErrorNotYetImplemented), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorNvlinkUncorrectable, __pyx_k_cudaErrorNvlinkUncorrectable, sizeof(__pyx_k_cudaErrorNvlinkUncorrectable), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorOperatingSystem, __pyx_k_cudaErrorOperatingSystem, sizeof(__pyx_k_cudaErrorOperatingSystem), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorPeerAccessAlreadyEnable, __pyx_k_cudaErrorPeerAccessAlreadyEnable, sizeof(__pyx_k_cudaErrorPeerAccessAlreadyEnable), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorPeerAccessNotEnabled, __pyx_k_cudaErrorPeerAccessNotEnabled, sizeof(__pyx_k_cudaErrorPeerAccessNotEnabled), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorPeerAccessUnsupported, __pyx_k_cudaErrorPeerAccessUnsupported, sizeof(__pyx_k_cudaErrorPeerAccessUnsupported), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorPriorLaunchFailure, __pyx_k_cudaErrorPriorLaunchFailure, sizeof(__pyx_k_cudaErrorPriorLaunchFailure), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorProfilerAlreadyStarted, __pyx_k_cudaErrorProfilerAlreadyStarted, sizeof(__pyx_k_cudaErrorProfilerAlreadyStarted), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorProfilerAlreadyStopped, __pyx_k_cudaErrorProfilerAlreadyStopped, sizeof(__pyx_k_cudaErrorProfilerAlreadyStopped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorProfilerDisabled, __pyx_k_cudaErrorProfilerDisabled, sizeof(__pyx_k_cudaErrorProfilerDisabled), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorProfilerNotInitialized, __pyx_k_cudaErrorProfilerNotInitialized, sizeof(__pyx_k_cudaErrorProfilerNotInitialized), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSetOnActiveProcess, __pyx_k_cudaErrorSetOnActiveProcess, sizeof(__pyx_k_cudaErrorSetOnActiveProcess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSharedObjectInitFailed, __pyx_k_cudaErrorSharedObjectInitFailed, sizeof(__pyx_k_cudaErrorSharedObjectInitFailed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSharedObjectSymbolNotFo, __pyx_k_cudaErrorSharedObjectSymbolNotFo, sizeof(__pyx_k_cudaErrorSharedObjectSymbolNotFo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSoftwareValidityNotEsta, __pyx_k_cudaErrorSoftwareValidityNotEsta, sizeof(__pyx_k_cudaErrorSoftwareValidityNotEsta), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStartupFailure, __pyx_k_cudaErrorStartupFailure, sizeof(__pyx_k_cudaErrorStartupFailure), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureImplicit, __pyx_k_cudaErrorStreamCaptureImplicit, sizeof(__pyx_k_cudaErrorStreamCaptureImplicit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureInvalidate, __pyx_k_cudaErrorStreamCaptureInvalidate, sizeof(__pyx_k_cudaErrorStreamCaptureInvalidate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureIsolation, __pyx_k_cudaErrorStreamCaptureIsolation, sizeof(__pyx_k_cudaErrorStreamCaptureIsolation), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureMerge, __pyx_k_cudaErrorStreamCaptureMerge, sizeof(__pyx_k_cudaErrorStreamCaptureMerge), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureUnjoined, __pyx_k_cudaErrorStreamCaptureUnjoined, sizeof(__pyx_k_cudaErrorStreamCaptureUnjoined), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureUnmatched, __pyx_k_cudaErrorStreamCaptureUnmatched, sizeof(__pyx_k_cudaErrorStreamCaptureUnmatched), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureUnsupporte, __pyx_k_cudaErrorStreamCaptureUnsupporte, sizeof(__pyx_k_cudaErrorStreamCaptureUnsupporte), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStreamCaptureWrongThrea, __pyx_k_cudaErrorStreamCaptureWrongThrea, sizeof(__pyx_k_cudaErrorStreamCaptureWrongThrea), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorStubLibrary, __pyx_k_cudaErrorStubLibrary, sizeof(__pyx_k_cudaErrorStubLibrary), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSymbolNotFound, __pyx_k_cudaErrorSymbolNotFound, sizeof(__pyx_k_cudaErrorSymbolNotFound), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSyncDepthExceeded, __pyx_k_cudaErrorSyncDepthExceeded, sizeof(__pyx_k_cudaErrorSyncDepthExceeded), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSynchronizationError, __pyx_k_cudaErrorSynchronizationError, sizeof(__pyx_k_cudaErrorSynchronizationError), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSystemDriverMismatch, __pyx_k_cudaErrorSystemDriverMismatch, sizeof(__pyx_k_cudaErrorSystemDriverMismatch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorSystemNotReady, __pyx_k_cudaErrorSystemNotReady, sizeof(__pyx_k_cudaErrorSystemNotReady), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorTextureFetchFailed, __pyx_k_cudaErrorTextureFetchFailed, sizeof(__pyx_k_cudaErrorTextureFetchFailed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorTextureNotBound, __pyx_k_cudaErrorTextureNotBound, sizeof(__pyx_k_cudaErrorTextureNotBound), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorTimeout, __pyx_k_cudaErrorTimeout, sizeof(__pyx_k_cudaErrorTimeout), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorTooManyPeers, __pyx_k_cudaErrorTooManyPeers, sizeof(__pyx_k_cudaErrorTooManyPeers), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorUnknown, __pyx_k_cudaErrorUnknown, sizeof(__pyx_k_cudaErrorUnknown), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorUnmapBufferObjectFailed, __pyx_k_cudaErrorUnmapBufferObjectFailed, sizeof(__pyx_k_cudaErrorUnmapBufferObjectFailed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorUnsupportedExecAffinity, __pyx_k_cudaErrorUnsupportedExecAffinity, sizeof(__pyx_k_cudaErrorUnsupportedExecAffinity), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorUnsupportedLimit, __pyx_k_cudaErrorUnsupportedLimit, sizeof(__pyx_k_cudaErrorUnsupportedLimit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaErrorUnsupportedPtxVersion, __pyx_k_cudaErrorUnsupportedPtxVersion, sizeof(__pyx_k_cudaErrorUnsupportedPtxVersion), 0, 0, 1, 1},
  {&__pyx_n_s_cudaError_t, __pyx_k_cudaError_t, sizeof(__pyx_k_cudaError_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventBlockingSync, __pyx_k_cudaEventBlockingSync, sizeof(__pyx_k_cudaEventBlockingSync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventCreate, __pyx_k_cudaEventCreate, sizeof(__pyx_k_cudaEventCreate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventCreateFromEGLSync, __pyx_k_cudaEventCreateFromEGLSync, sizeof(__pyx_k_cudaEventCreateFromEGLSync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventCreateWithFlags, __pyx_k_cudaEventCreateWithFlags, sizeof(__pyx_k_cudaEventCreateWithFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventDefault, __pyx_k_cudaEventDefault, sizeof(__pyx_k_cudaEventDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventDestroy, __pyx_k_cudaEventDestroy, sizeof(__pyx_k_cudaEventDestroy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventDisableTiming, __pyx_k_cudaEventDisableTiming, sizeof(__pyx_k_cudaEventDisableTiming), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventElapsedTime, __pyx_k_cudaEventElapsedTime, sizeof(__pyx_k_cudaEventElapsedTime), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventInterprocess, __pyx_k_cudaEventInterprocess, sizeof(__pyx_k_cudaEventInterprocess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventQuery, __pyx_k_cudaEventQuery, sizeof(__pyx_k_cudaEventQuery), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventRecord, __pyx_k_cudaEventRecord, sizeof(__pyx_k_cudaEventRecord), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventRecordDefault, __pyx_k_cudaEventRecordDefault, sizeof(__pyx_k_cudaEventRecordDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventRecordExternal, __pyx_k_cudaEventRecordExternal, sizeof(__pyx_k_cudaEventRecordExternal), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventRecordWithFlags, __pyx_k_cudaEventRecordWithFlags, sizeof(__pyx_k_cudaEventRecordWithFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventSynchronize, __pyx_k_cudaEventSynchronize, sizeof(__pyx_k_cudaEventSynchronize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventWaitDefault, __pyx_k_cudaEventWaitDefault, sizeof(__pyx_k_cudaEventWaitDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEventWaitExternal, __pyx_k_cudaEventWaitExternal, sizeof(__pyx_k_cudaEventWaitExternal), 0, 0, 1, 1},
  {&__pyx_n_s_cudaEvent_t, __pyx_k_cudaEvent_t, sizeof(__pyx_k_cudaEvent_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExtent, __pyx_k_cudaExtent, sizeof(__pyx_k_cudaExtent), 0, 0, 1, 1},
  {&__pyx_n_u_cudaExtent, __pyx_k_cudaExtent, sizeof(__pyx_k_cudaExtent), 0, 1, 0, 1},
  {&__pyx_n_s_cudaExtent___reduce_cython, __pyx_k_cudaExtent___reduce_cython, sizeof(__pyx_k_cudaExtent___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExtent___setstate_cython, __pyx_k_cudaExtent___setstate_cython, sizeof(__pyx_k_cudaExtent___setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExtent_getPtr, __pyx_k_cudaExtent_getPtr, sizeof(__pyx_k_cudaExtent_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryBufferDesc, __pyx_k_cudaExternalMemoryBufferDesc, sizeof(__pyx_k_cudaExternalMemoryBufferDesc), 0, 0, 1, 1},
  {&__pyx_n_u_cudaExternalMemoryBufferDesc, __pyx_k_cudaExternalMemoryBufferDesc, sizeof(__pyx_k_cudaExternalMemoryBufferDesc), 0, 1, 0, 1},
  {&__pyx_n_s_cudaExternalMemoryBufferDesc___r, __pyx_k_cudaExternalMemoryBufferDesc___r, sizeof(__pyx_k_cudaExternalMemoryBufferDesc___r), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryBufferDesc___s, __pyx_k_cudaExternalMemoryBufferDesc___s, sizeof(__pyx_k_cudaExternalMemoryBufferDesc___s), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryBufferDesc_get, __pyx_k_cudaExternalMemoryBufferDesc_get, sizeof(__pyx_k_cudaExternalMemoryBufferDesc_get), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryDedicated, __pyx_k_cudaExternalMemoryDedicated, sizeof(__pyx_k_cudaExternalMemoryDedicated), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryGetMappedBuffe, __pyx_k_cudaExternalMemoryGetMappedBuffe, sizeof(__pyx_k_cudaExternalMemoryGetMappedBuffe), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryGetMappedMipma, __pyx_k_cudaExternalMemoryGetMappedMipma, sizeof(__pyx_k_cudaExternalMemoryGetMappedMipma), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc, __pyx_k_cudaExternalMemoryHandleDesc, sizeof(__pyx_k_cudaExternalMemoryHandleDesc), 0, 0, 1, 1},
  {&__pyx_n_u_cudaExternalMemoryHandleDesc, __pyx_k_cudaExternalMemoryHandleDesc, sizeof(__pyx_k_cudaExternalMemoryHandleDesc), 0, 1, 0, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc___r, __pyx_k_cudaExternalMemoryHandleDesc___r, sizeof(__pyx_k_cudaExternalMemoryHandleDesc___r), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc___s, __pyx_k_cudaExternalMemoryHandleDesc___s, sizeof(__pyx_k_cudaExternalMemoryHandleDesc___s), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_get, __pyx_k_cudaExternalMemoryHandleDesc_get, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_get), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha, __pyx_k_cudaExternalMemoryHandleDesc_ha, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha_2, __pyx_k_cudaExternalMemoryHandleDesc_ha_2, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha_3, __pyx_k_cudaExternalMemoryHandleDesc_ha_3, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha_4, __pyx_k_cudaExternalMemoryHandleDesc_ha_4, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha_5, __pyx_k_cudaExternalMemoryHandleDesc_ha_5, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha_6, __pyx_k_cudaExternalMemoryHandleDesc_ha_6, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha_7, __pyx_k_cudaExternalMemoryHandleDesc_ha_7, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleDesc_ha_8, __pyx_k_cudaExternalMemoryHandleDesc_ha_8, sizeof(__pyx_k_cudaExternalMemoryHandleDesc_ha_8), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleType, __pyx_k_cudaExternalMemoryHandleType, sizeof(__pyx_k_cudaExternalMemoryHandleType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeD3D1, __pyx_k_cudaExternalMemoryHandleTypeD3D1, sizeof(__pyx_k_cudaExternalMemoryHandleTypeD3D1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeD3D1_2, __pyx_k_cudaExternalMemoryHandleTypeD3D1_2, sizeof(__pyx_k_cudaExternalMemoryHandleTypeD3D1_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeD3D1_3, __pyx_k_cudaExternalMemoryHandleTypeD3D1_3, sizeof(__pyx_k_cudaExternalMemoryHandleTypeD3D1_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeD3D1_4, __pyx_k_cudaExternalMemoryHandleTypeD3D1_4, sizeof(__pyx_k_cudaExternalMemoryHandleTypeD3D1_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeNvSc, __pyx_k_cudaExternalMemoryHandleTypeNvSc, sizeof(__pyx_k_cudaExternalMemoryHandleTypeNvSc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeOpaq, __pyx_k_cudaExternalMemoryHandleTypeOpaq, sizeof(__pyx_k_cudaExternalMemoryHandleTypeOpaq), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeOpaq_2, __pyx_k_cudaExternalMemoryHandleTypeOpaq_2, sizeof(__pyx_k_cudaExternalMemoryHandleTypeOpaq_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryHandleTypeOpaq_3, __pyx_k_cudaExternalMemoryHandleTypeOpaq_3, sizeof(__pyx_k_cudaExternalMemoryHandleTypeOpaq_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryMipmappedArray, __pyx_k_cudaExternalMemoryMipmappedArray, sizeof(__pyx_k_cudaExternalMemoryMipmappedArray), 0, 0, 1, 1},
  {&__pyx_n_u_cudaExternalMemoryMipmappedArray, __pyx_k_cudaExternalMemoryMipmappedArray, sizeof(__pyx_k_cudaExternalMemoryMipmappedArray), 0, 1, 0, 1},
  {&__pyx_n_s_cudaExternalMemoryMipmappedArray_2, __pyx_k_cudaExternalMemoryMipmappedArray_2, sizeof(__pyx_k_cudaExternalMemoryMipmappedArray_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryMipmappedArray_3, __pyx_k_cudaExternalMemoryMipmappedArray_3, sizeof(__pyx_k_cudaExternalMemoryMipmappedArray_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemoryMipmappedArray_4, __pyx_k_cudaExternalMemoryMipmappedArray_4, sizeof(__pyx_k_cudaExternalMemoryMipmappedArray_4), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaExternalMemory_t, __pyx_k_cudaExternalMemory_t, sizeof(__pyx_k_cudaExternalMemory_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaExternalMemory_t_2, __pyx_k_cudaExternalMemory_t_2, sizeof(__pyx_k_cudaExternalMemory_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemory_t___reduce_cy, __pyx_k_cudaExternalMemory_t___reduce_cy, sizeof(__pyx_k_cudaExternalMemory_t___reduce_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemory_t___setstate, __pyx_k_cudaExternalMemory_t___setstate, sizeof(__pyx_k_cudaExternalMemory_t___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalMemory_t_getPtr, __pyx_k_cudaExternalMemory_t_getPtr, sizeof(__pyx_k_cudaExternalMemory_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc, __pyx_k_cudaExternalSemaphoreHandleDesc, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_10, __pyx_k_cudaExternalSemaphoreHandleDesc_10, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_10), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_11, __pyx_k_cudaExternalSemaphoreHandleDesc_11, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_11), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_12, __pyx_k_cudaExternalSemaphoreHandleDesc_12, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_12), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_2, __pyx_k_cudaExternalSemaphoreHandleDesc_2, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_3, __pyx_k_cudaExternalSemaphoreHandleDesc_3, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_3), 0, 0, 1, 1},
  {&__pyx_n_u_cudaExternalSemaphoreHandleDesc_3, __pyx_k_cudaExternalSemaphoreHandleDesc_3, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_3), 0, 1, 0, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_4, __pyx_k_cudaExternalSemaphoreHandleDesc_4, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_5, __pyx_k_cudaExternalSemaphoreHandleDesc_5, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_6, __pyx_k_cudaExternalSemaphoreHandleDesc_6, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_7, __pyx_k_cudaExternalSemaphoreHandleDesc_7, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_8, __pyx_k_cudaExternalSemaphoreHandleDesc_8, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_8), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleDesc_9, __pyx_k_cudaExternalSemaphoreHandleDesc_9, sizeof(__pyx_k_cudaExternalSemaphoreHandleDesc_9), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleType, __pyx_k_cudaExternalSemaphoreHandleType, sizeof(__pyx_k_cudaExternalSemaphoreHandleType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeD, __pyx_k_cudaExternalSemaphoreHandleTypeD, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeD), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeD_2, __pyx_k_cudaExternalSemaphoreHandleTypeD_2, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeD_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeK, __pyx_k_cudaExternalSemaphoreHandleTypeK, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeK), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeK_2, __pyx_k_cudaExternalSemaphoreHandleTypeK_2, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeK_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeN, __pyx_k_cudaExternalSemaphoreHandleTypeN, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeN), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeO, __pyx_k_cudaExternalSemaphoreHandleTypeO, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeO), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeO_2, __pyx_k_cudaExternalSemaphoreHandleTypeO_2, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeO_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeO_3, __pyx_k_cudaExternalSemaphoreHandleTypeO_3, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeO_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeT, __pyx_k_cudaExternalSemaphoreHandleTypeT, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeT), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreHandleTypeT_2, __pyx_k_cudaExternalSemaphoreHandleTypeT_2, sizeof(__pyx_k_cudaExternalSemaphoreHandleTypeT_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalNodeP, __pyx_k_cudaExternalSemaphoreSignalNodeP, sizeof(__pyx_k_cudaExternalSemaphoreSignalNodeP), 0, 0, 1, 1},
  {&__pyx_n_u_cudaExternalSemaphoreSignalNodeP, __pyx_k_cudaExternalSemaphoreSignalNodeP, sizeof(__pyx_k_cudaExternalSemaphoreSignalNodeP), 0, 1, 0, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalNodeP_2, __pyx_k_cudaExternalSemaphoreSignalNodeP_2, sizeof(__pyx_k_cudaExternalSemaphoreSignalNodeP_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalNodeP_3, __pyx_k_cudaExternalSemaphoreSignalNodeP_3, sizeof(__pyx_k_cudaExternalSemaphoreSignalNodeP_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalNodeP_4, __pyx_k_cudaExternalSemaphoreSignalNodeP_4, sizeof(__pyx_k_cudaExternalSemaphoreSignalNodeP_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara, __pyx_k_cudaExternalSemaphoreSignalPara, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_10, __pyx_k_cudaExternalSemaphoreSignalPara_10, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_10), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_11, __pyx_k_cudaExternalSemaphoreSignalPara_11, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_11), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_12, __pyx_k_cudaExternalSemaphoreSignalPara_12, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_12), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_13, __pyx_k_cudaExternalSemaphoreSignalPara_13, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_13), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_14, __pyx_k_cudaExternalSemaphoreSignalPara_14, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_14), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_15, __pyx_k_cudaExternalSemaphoreSignalPara_15, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_15), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_16, __pyx_k_cudaExternalSemaphoreSignalPara_16, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_16), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_2, __pyx_k_cudaExternalSemaphoreSignalPara_2, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_3, __pyx_k_cudaExternalSemaphoreSignalPara_3, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_4, __pyx_k_cudaExternalSemaphoreSignalPara_4, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_5, __pyx_k_cudaExternalSemaphoreSignalPara_5, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_6, __pyx_k_cudaExternalSemaphoreSignalPara_6, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_7, __pyx_k_cudaExternalSemaphoreSignalPara_7, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_8, __pyx_k_cudaExternalSemaphoreSignalPara_8, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_8), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalPara_9, __pyx_k_cudaExternalSemaphoreSignalPara_9, sizeof(__pyx_k_cudaExternalSemaphoreSignalPara_9), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalParam, __pyx_k_cudaExternalSemaphoreSignalParam, sizeof(__pyx_k_cudaExternalSemaphoreSignalParam), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalParam_2, __pyx_k_cudaExternalSemaphoreSignalParam_2, sizeof(__pyx_k_cudaExternalSemaphoreSignalParam_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalParam_3, __pyx_k_cudaExternalSemaphoreSignalParam_3, sizeof(__pyx_k_cudaExternalSemaphoreSignalParam_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalParam_4, __pyx_k_cudaExternalSemaphoreSignalParam_4, sizeof(__pyx_k_cudaExternalSemaphoreSignalParam_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreSignalSkipN, __pyx_k_cudaExternalSemaphoreSignalSkipN, sizeof(__pyx_k_cudaExternalSemaphoreSignalSkipN), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitNodePar, __pyx_k_cudaExternalSemaphoreWaitNodePar, sizeof(__pyx_k_cudaExternalSemaphoreWaitNodePar), 0, 0, 1, 1},
  {&__pyx_n_u_cudaExternalSemaphoreWaitNodePar, __pyx_k_cudaExternalSemaphoreWaitNodePar, sizeof(__pyx_k_cudaExternalSemaphoreWaitNodePar), 0, 1, 0, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitNodePar_2, __pyx_k_cudaExternalSemaphoreWaitNodePar_2, sizeof(__pyx_k_cudaExternalSemaphoreWaitNodePar_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitNodePar_3, __pyx_k_cudaExternalSemaphoreWaitNodePar_3, sizeof(__pyx_k_cudaExternalSemaphoreWaitNodePar_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitNodePar_4, __pyx_k_cudaExternalSemaphoreWaitNodePar_4, sizeof(__pyx_k_cudaExternalSemaphoreWaitNodePar_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams, __pyx_k_cudaExternalSemaphoreWaitParams, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_10, __pyx_k_cudaExternalSemaphoreWaitParams_10, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_10), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_11, __pyx_k_cudaExternalSemaphoreWaitParams_11, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_11), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_12, __pyx_k_cudaExternalSemaphoreWaitParams_12, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_12), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_13, __pyx_k_cudaExternalSemaphoreWaitParams_13, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_13), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_14, __pyx_k_cudaExternalSemaphoreWaitParams_14, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_14), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_15, __pyx_k_cudaExternalSemaphoreWaitParams_15, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_15), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_16, __pyx_k_cudaExternalSemaphoreWaitParams_16, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_16), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_17, __pyx_k_cudaExternalSemaphoreWaitParams_17, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_17), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_18, __pyx_k_cudaExternalSemaphoreWaitParams_18, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_18), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_19, __pyx_k_cudaExternalSemaphoreWaitParams_19, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_19), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_2, __pyx_k_cudaExternalSemaphoreWaitParams_2, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_20, __pyx_k_cudaExternalSemaphoreWaitParams_20, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_20), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_3, __pyx_k_cudaExternalSemaphoreWaitParams_3, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_4, __pyx_k_cudaExternalSemaphoreWaitParams_4, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_5, __pyx_k_cudaExternalSemaphoreWaitParams_5, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_6, __pyx_k_cudaExternalSemaphoreWaitParams_6, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_7, __pyx_k_cudaExternalSemaphoreWaitParams_7, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_8, __pyx_k_cudaExternalSemaphoreWaitParams_8, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_8), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitParams_9, __pyx_k_cudaExternalSemaphoreWaitParams_9, sizeof(__pyx_k_cudaExternalSemaphoreWaitParams_9), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphoreWaitSkipNvS, __pyx_k_cudaExternalSemaphoreWaitSkipNvS, sizeof(__pyx_k_cudaExternalSemaphoreWaitSkipNvS), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaExternalSemaphore_t, __pyx_k_cudaExternalSemaphore_t, sizeof(__pyx_k_cudaExternalSemaphore_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaExternalSemaphore_t_2, __pyx_k_cudaExternalSemaphore_t_2, sizeof(__pyx_k_cudaExternalSemaphore_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphore_t___reduce, __pyx_k_cudaExternalSemaphore_t___reduce, sizeof(__pyx_k_cudaExternalSemaphore_t___reduce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphore_t___setsta, __pyx_k_cudaExternalSemaphore_t___setsta, sizeof(__pyx_k_cudaExternalSemaphore_t___setsta), 0, 0, 1, 1},
  {&__pyx_n_s_cudaExternalSemaphore_t_getPtr, __pyx_k_cudaExternalSemaphore_t_getPtr, sizeof(__pyx_k_cudaExternalSemaphore_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFilterModeLinear, __pyx_k_cudaFilterModeLinear, sizeof(__pyx_k_cudaFilterModeLinear), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFilterModePoint, __pyx_k_cudaFilterModePoint, sizeof(__pyx_k_cudaFilterModePoint), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti, __pyx_k_cudaFlushGPUDirectRDMAWritesOpti, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesOpti), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti_2, __pyx_k_cudaFlushGPUDirectRDMAWritesOpti_2, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesOpti_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti_3, __pyx_k_cudaFlushGPUDirectRDMAWritesOpti_3, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesOpti_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesScop, __pyx_k_cudaFlushGPUDirectRDMAWritesScop, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesScop), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg, __pyx_k_cudaFlushGPUDirectRDMAWritesTarg, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesTarg), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg_2, __pyx_k_cudaFlushGPUDirectRDMAWritesTarg_2, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesTarg_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesToAl, __pyx_k_cudaFlushGPUDirectRDMAWritesToAl, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesToAl), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFlushGPUDirectRDMAWritesToOw, __pyx_k_cudaFlushGPUDirectRDMAWritesToOw, sizeof(__pyx_k_cudaFlushGPUDirectRDMAWritesToOw), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFormatModeAuto, __pyx_k_cudaFormatModeAuto, sizeof(__pyx_k_cudaFormatModeAuto), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFormatModeForced, __pyx_k_cudaFormatModeForced, sizeof(__pyx_k_cudaFormatModeForced), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFree, __pyx_k_cudaFree, sizeof(__pyx_k_cudaFree), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFreeArray, __pyx_k_cudaFreeArray, sizeof(__pyx_k_cudaFreeArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFreeAsync, __pyx_k_cudaFreeAsync, sizeof(__pyx_k_cudaFreeAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFreeHost, __pyx_k_cudaFreeHost, sizeof(__pyx_k_cudaFreeHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFreeMipmappedArray, __pyx_k_cudaFreeMipmappedArray, sizeof(__pyx_k_cudaFreeMipmappedArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttribute, __pyx_k_cudaFuncAttribute, sizeof(__pyx_k_cudaFuncAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeClusterDimMustB, __pyx_k_cudaFuncAttributeClusterDimMustB, sizeof(__pyx_k_cudaFuncAttributeClusterDimMustB), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeClusterScheduli, __pyx_k_cudaFuncAttributeClusterScheduli, sizeof(__pyx_k_cudaFuncAttributeClusterScheduli), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeMax, __pyx_k_cudaFuncAttributeMax, sizeof(__pyx_k_cudaFuncAttributeMax), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeMaxDynamicShare, __pyx_k_cudaFuncAttributeMaxDynamicShare, sizeof(__pyx_k_cudaFuncAttributeMaxDynamicShare), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeNonPortableClus, __pyx_k_cudaFuncAttributeNonPortableClus, sizeof(__pyx_k_cudaFuncAttributeNonPortableClus), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributePreferredShared, __pyx_k_cudaFuncAttributePreferredShared, sizeof(__pyx_k_cudaFuncAttributePreferredShared), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeRequiredCluster, __pyx_k_cudaFuncAttributeRequiredCluster, sizeof(__pyx_k_cudaFuncAttributeRequiredCluster), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeRequiredCluster_2, __pyx_k_cudaFuncAttributeRequiredCluster_2, sizeof(__pyx_k_cudaFuncAttributeRequiredCluster_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributeRequiredCluster_3, __pyx_k_cudaFuncAttributeRequiredCluster_3, sizeof(__pyx_k_cudaFuncAttributeRequiredCluster_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributes, __pyx_k_cudaFuncAttributes, sizeof(__pyx_k_cudaFuncAttributes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributes___reduce_cyth, __pyx_k_cudaFuncAttributes___reduce_cyth, sizeof(__pyx_k_cudaFuncAttributes___reduce_cyth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributes___setstate_cy, __pyx_k_cudaFuncAttributes___setstate_cy, sizeof(__pyx_k_cudaFuncAttributes___setstate_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncAttributes_getPtr, __pyx_k_cudaFuncAttributes_getPtr, sizeof(__pyx_k_cudaFuncAttributes_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncCache, __pyx_k_cudaFuncCache, sizeof(__pyx_k_cudaFuncCache), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncCachePreferEqual, __pyx_k_cudaFuncCachePreferEqual, sizeof(__pyx_k_cudaFuncCachePreferEqual), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncCachePreferL1, __pyx_k_cudaFuncCachePreferL1, sizeof(__pyx_k_cudaFuncCachePreferL1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncCachePreferNone, __pyx_k_cudaFuncCachePreferNone, sizeof(__pyx_k_cudaFuncCachePreferNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncCachePreferShared, __pyx_k_cudaFuncCachePreferShared, sizeof(__pyx_k_cudaFuncCachePreferShared), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncGetAttributes, __pyx_k_cudaFuncGetAttributes, sizeof(__pyx_k_cudaFuncGetAttributes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncSetAttribute, __pyx_k_cudaFuncSetAttribute, sizeof(__pyx_k_cudaFuncSetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncSetCacheConfig, __pyx_k_cudaFuncSetCacheConfig, sizeof(__pyx_k_cudaFuncSetCacheConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFuncSetSharedMemConfig, __pyx_k_cudaFuncSetSharedMemConfig, sizeof(__pyx_k_cudaFuncSetSharedMemConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaFunction_t, __pyx_k_cudaFunction_t, sizeof(__pyx_k_cudaFunction_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLDeviceList, __pyx_k_cudaGLDeviceList, sizeof(__pyx_k_cudaGLDeviceList), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLDeviceListAll, __pyx_k_cudaGLDeviceListAll, sizeof(__pyx_k_cudaGLDeviceListAll), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLDeviceListCurrentFrame, __pyx_k_cudaGLDeviceListCurrentFrame, sizeof(__pyx_k_cudaGLDeviceListCurrentFrame), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLDeviceListNextFrame, __pyx_k_cudaGLDeviceListNextFrame, sizeof(__pyx_k_cudaGLDeviceListNextFrame), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLGetDevices, __pyx_k_cudaGLGetDevices, sizeof(__pyx_k_cudaGLGetDevices), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLMapFlags, __pyx_k_cudaGLMapFlags, sizeof(__pyx_k_cudaGLMapFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLMapFlagsNone, __pyx_k_cudaGLMapFlagsNone, sizeof(__pyx_k_cudaGLMapFlagsNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLMapFlagsReadOnly, __pyx_k_cudaGLMapFlagsReadOnly, sizeof(__pyx_k_cudaGLMapFlagsReadOnly), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGLMapFlagsWriteDiscard, __pyx_k_cudaGLMapFlagsWriteDiscard, sizeof(__pyx_k_cudaGLMapFlagsWriteDiscard), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGPUDirectRDMAWritesOrdering, __pyx_k_cudaGPUDirectRDMAWritesOrdering, sizeof(__pyx_k_cudaGPUDirectRDMAWritesOrdering), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGPUDirectRDMAWritesOrderingA, __pyx_k_cudaGPUDirectRDMAWritesOrderingA, sizeof(__pyx_k_cudaGPUDirectRDMAWritesOrderingA), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGPUDirectRDMAWritesOrderingN, __pyx_k_cudaGPUDirectRDMAWritesOrderingN, sizeof(__pyx_k_cudaGPUDirectRDMAWritesOrderingN), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGPUDirectRDMAWritesOrderingO, __pyx_k_cudaGPUDirectRDMAWritesOrderingO, sizeof(__pyx_k_cudaGPUDirectRDMAWritesOrderingO), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetChannelDesc, __pyx_k_cudaGetChannelDesc, sizeof(__pyx_k_cudaGetChannelDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetDevice, __pyx_k_cudaGetDevice, sizeof(__pyx_k_cudaGetDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetDeviceCount, __pyx_k_cudaGetDeviceCount, sizeof(__pyx_k_cudaGetDeviceCount), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetDeviceFlags, __pyx_k_cudaGetDeviceFlags, sizeof(__pyx_k_cudaGetDeviceFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetDeviceProperties, __pyx_k_cudaGetDeviceProperties, sizeof(__pyx_k_cudaGetDeviceProperties), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetDriverEntryPoint, __pyx_k_cudaGetDriverEntryPoint, sizeof(__pyx_k_cudaGetDriverEntryPoint), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetDriverEntryPointFlags, __pyx_k_cudaGetDriverEntryPointFlags, sizeof(__pyx_k_cudaGetDriverEntryPointFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetErrorName, __pyx_k_cudaGetErrorName, sizeof(__pyx_k_cudaGetErrorName), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetErrorString, __pyx_k_cudaGetErrorString, sizeof(__pyx_k_cudaGetErrorString), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetExportTable, __pyx_k_cudaGetExportTable, sizeof(__pyx_k_cudaGetExportTable), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetLastError, __pyx_k_cudaGetLastError, sizeof(__pyx_k_cudaGetLastError), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetMipmappedArrayLevel, __pyx_k_cudaGetMipmappedArrayLevel, sizeof(__pyx_k_cudaGetMipmappedArrayLevel), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetSurfaceObjectResourceDesc, __pyx_k_cudaGetSurfaceObjectResourceDesc, sizeof(__pyx_k_cudaGetSurfaceObjectResourceDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetTextureObjectResourceDesc, __pyx_k_cudaGetTextureObjectResourceDesc, sizeof(__pyx_k_cudaGetTextureObjectResourceDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetTextureObjectResourceView, __pyx_k_cudaGetTextureObjectResourceView, sizeof(__pyx_k_cudaGetTextureObjectResourceView), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetTextureObjectTextureDesc, __pyx_k_cudaGetTextureObjectTextureDesc, sizeof(__pyx_k_cudaGetTextureObjectTextureDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGetTextureObjectTextureDesc_2, __pyx_k_cudaGetTextureObjectTextureDesc_2, sizeof(__pyx_k_cudaGetTextureObjectTextureDesc_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddChildGraphNode, __pyx_k_cudaGraphAddChildGraphNode, sizeof(__pyx_k_cudaGraphAddChildGraphNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddChildGraphNode_local, __pyx_k_cudaGraphAddChildGraphNode_local, sizeof(__pyx_k_cudaGraphAddChildGraphNode_local), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddDependencies, __pyx_k_cudaGraphAddDependencies, sizeof(__pyx_k_cudaGraphAddDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddDependencies_locals, __pyx_k_cudaGraphAddDependencies_locals, sizeof(__pyx_k_cudaGraphAddDependencies_locals), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddEmptyNode, __pyx_k_cudaGraphAddEmptyNode, sizeof(__pyx_k_cudaGraphAddEmptyNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddEmptyNode_locals_gen, __pyx_k_cudaGraphAddEmptyNode_locals_gen, sizeof(__pyx_k_cudaGraphAddEmptyNode_locals_gen), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddEventRecordNode, __pyx_k_cudaGraphAddEventRecordNode, sizeof(__pyx_k_cudaGraphAddEventRecordNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddEventRecordNode_loca, __pyx_k_cudaGraphAddEventRecordNode_loca, sizeof(__pyx_k_cudaGraphAddEventRecordNode_loca), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddEventWaitNode, __pyx_k_cudaGraphAddEventWaitNode, sizeof(__pyx_k_cudaGraphAddEventWaitNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddEventWaitNode_locals, __pyx_k_cudaGraphAddEventWaitNode_locals, sizeof(__pyx_k_cudaGraphAddEventWaitNode_locals), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddExternalSemaphoresSi, __pyx_k_cudaGraphAddExternalSemaphoresSi, sizeof(__pyx_k_cudaGraphAddExternalSemaphoresSi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddExternalSemaphoresSi_2, __pyx_k_cudaGraphAddExternalSemaphoresSi_2, sizeof(__pyx_k_cudaGraphAddExternalSemaphoresSi_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddExternalSemaphoresWa, __pyx_k_cudaGraphAddExternalSemaphoresWa, sizeof(__pyx_k_cudaGraphAddExternalSemaphoresWa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddExternalSemaphoresWa_2, __pyx_k_cudaGraphAddExternalSemaphoresWa_2, sizeof(__pyx_k_cudaGraphAddExternalSemaphoresWa_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddHostNode, __pyx_k_cudaGraphAddHostNode, sizeof(__pyx_k_cudaGraphAddHostNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddHostNode_locals_gene, __pyx_k_cudaGraphAddHostNode_locals_gene, sizeof(__pyx_k_cudaGraphAddHostNode_locals_gene), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddKernelNode, __pyx_k_cudaGraphAddKernelNode, sizeof(__pyx_k_cudaGraphAddKernelNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddKernelNode_locals_ge, __pyx_k_cudaGraphAddKernelNode_locals_ge, sizeof(__pyx_k_cudaGraphAddKernelNode_locals_ge), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemAllocNode, __pyx_k_cudaGraphAddMemAllocNode, sizeof(__pyx_k_cudaGraphAddMemAllocNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemAllocNode_locals, __pyx_k_cudaGraphAddMemAllocNode_locals, sizeof(__pyx_k_cudaGraphAddMemAllocNode_locals), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemFreeNode, __pyx_k_cudaGraphAddMemFreeNode, sizeof(__pyx_k_cudaGraphAddMemFreeNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemFreeNode_locals_g, __pyx_k_cudaGraphAddMemFreeNode_locals_g, sizeof(__pyx_k_cudaGraphAddMemFreeNode_locals_g), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemcpyNode, __pyx_k_cudaGraphAddMemcpyNode, sizeof(__pyx_k_cudaGraphAddMemcpyNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemcpyNode1D, __pyx_k_cudaGraphAddMemcpyNode1D, sizeof(__pyx_k_cudaGraphAddMemcpyNode1D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemcpyNode1D_locals, __pyx_k_cudaGraphAddMemcpyNode1D_locals, sizeof(__pyx_k_cudaGraphAddMemcpyNode1D_locals), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemcpyNode_locals_ge, __pyx_k_cudaGraphAddMemcpyNode_locals_ge, sizeof(__pyx_k_cudaGraphAddMemcpyNode_locals_ge), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemsetNode, __pyx_k_cudaGraphAddMemsetNode, sizeof(__pyx_k_cudaGraphAddMemsetNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphAddMemsetNode_locals_ge, __pyx_k_cudaGraphAddMemsetNode_locals_ge, sizeof(__pyx_k_cudaGraphAddMemsetNode_locals_ge), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphChildGraphNodeGetGraph, __pyx_k_cudaGraphChildGraphNodeGetGraph, sizeof(__pyx_k_cudaGraphChildGraphNodeGetGraph), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphClone, __pyx_k_cudaGraphClone, sizeof(__pyx_k_cudaGraphClone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphCreate, __pyx_k_cudaGraphCreate, sizeof(__pyx_k_cudaGraphCreate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlags, __pyx_k_cudaGraphDebugDotFlags, sizeof(__pyx_k_cudaGraphDebugDotFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsEventNodeP, __pyx_k_cudaGraphDebugDotFlagsEventNodeP, sizeof(__pyx_k_cudaGraphDebugDotFlagsEventNodeP), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsExtSemasSi, __pyx_k_cudaGraphDebugDotFlagsExtSemasSi, sizeof(__pyx_k_cudaGraphDebugDotFlagsExtSemasSi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsExtSemasWa, __pyx_k_cudaGraphDebugDotFlagsExtSemasWa, sizeof(__pyx_k_cudaGraphDebugDotFlagsExtSemasWa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsHandles, __pyx_k_cudaGraphDebugDotFlagsHandles, sizeof(__pyx_k_cudaGraphDebugDotFlagsHandles), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsHostNodePa, __pyx_k_cudaGraphDebugDotFlagsHostNodePa, sizeof(__pyx_k_cudaGraphDebugDotFlagsHostNodePa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsKernelNode, __pyx_k_cudaGraphDebugDotFlagsKernelNode, sizeof(__pyx_k_cudaGraphDebugDotFlagsKernelNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsKernelNode_2, __pyx_k_cudaGraphDebugDotFlagsKernelNode_2, sizeof(__pyx_k_cudaGraphDebugDotFlagsKernelNode_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsMemcpyNode, __pyx_k_cudaGraphDebugDotFlagsMemcpyNode, sizeof(__pyx_k_cudaGraphDebugDotFlagsMemcpyNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsMemsetNode, __pyx_k_cudaGraphDebugDotFlagsMemsetNode, sizeof(__pyx_k_cudaGraphDebugDotFlagsMemsetNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotFlagsVerbose, __pyx_k_cudaGraphDebugDotFlagsVerbose, sizeof(__pyx_k_cudaGraphDebugDotFlagsVerbose), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDebugDotPrint, __pyx_k_cudaGraphDebugDotPrint, sizeof(__pyx_k_cudaGraphDebugDotPrint), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDestroy, __pyx_k_cudaGraphDestroy, sizeof(__pyx_k_cudaGraphDestroy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphDestroyNode, __pyx_k_cudaGraphDestroyNode, sizeof(__pyx_k_cudaGraphDestroyNode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphEventRecordNodeGetEvent, __pyx_k_cudaGraphEventRecordNodeGetEvent, sizeof(__pyx_k_cudaGraphEventRecordNodeGetEvent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphEventRecordNodeSetEvent, __pyx_k_cudaGraphEventRecordNodeSetEvent, sizeof(__pyx_k_cudaGraphEventRecordNodeSetEvent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphEventWaitNodeGetEvent, __pyx_k_cudaGraphEventWaitNodeGetEvent, sizeof(__pyx_k_cudaGraphEventWaitNodeGetEvent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphEventWaitNodeSetEvent, __pyx_k_cudaGraphEventWaitNodeSetEvent, sizeof(__pyx_k_cudaGraphEventWaitNodeSetEvent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecChildGraphNodeSetPa, __pyx_k_cudaGraphExecChildGraphNodeSetPa, sizeof(__pyx_k_cudaGraphExecChildGraphNodeSetPa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecDestroy, __pyx_k_cudaGraphExecDestroy, sizeof(__pyx_k_cudaGraphExecDestroy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecEventRecordNodeSetE, __pyx_k_cudaGraphExecEventRecordNodeSetE, sizeof(__pyx_k_cudaGraphExecEventRecordNodeSetE), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecEventWaitNodeSetEve, __pyx_k_cudaGraphExecEventWaitNodeSetEve, sizeof(__pyx_k_cudaGraphExecEventWaitNodeSetEve), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecExternalSemaphoresS, __pyx_k_cudaGraphExecExternalSemaphoresS, sizeof(__pyx_k_cudaGraphExecExternalSemaphoresS), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecExternalSemaphoresW, __pyx_k_cudaGraphExecExternalSemaphoresW, sizeof(__pyx_k_cudaGraphExecExternalSemaphoresW), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecHostNodeSetParams, __pyx_k_cudaGraphExecHostNodeSetParams, sizeof(__pyx_k_cudaGraphExecHostNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecKernelNodeSetParams, __pyx_k_cudaGraphExecKernelNodeSetParams, sizeof(__pyx_k_cudaGraphExecKernelNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecMemcpyNodeSetParams, __pyx_k_cudaGraphExecMemcpyNodeSetParams, sizeof(__pyx_k_cudaGraphExecMemcpyNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecMemcpyNodeSetParams_2, __pyx_k_cudaGraphExecMemcpyNodeSetParams_2, sizeof(__pyx_k_cudaGraphExecMemcpyNodeSetParams_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecMemsetNodeSetParams, __pyx_k_cudaGraphExecMemsetNodeSetParams, sizeof(__pyx_k_cudaGraphExecMemsetNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdate, __pyx_k_cudaGraphExecUpdate, sizeof(__pyx_k_cudaGraphExecUpdate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateError, __pyx_k_cudaGraphExecUpdateError, sizeof(__pyx_k_cudaGraphExecUpdateError), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateErrorAttribut, __pyx_k_cudaGraphExecUpdateErrorAttribut, sizeof(__pyx_k_cudaGraphExecUpdateErrorAttribut), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateErrorFunction, __pyx_k_cudaGraphExecUpdateErrorFunction, sizeof(__pyx_k_cudaGraphExecUpdateErrorFunction), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateErrorNodeType, __pyx_k_cudaGraphExecUpdateErrorNodeType, sizeof(__pyx_k_cudaGraphExecUpdateErrorNodeType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateErrorNotSuppo, __pyx_k_cudaGraphExecUpdateErrorNotSuppo, sizeof(__pyx_k_cudaGraphExecUpdateErrorNotSuppo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateErrorParamete, __pyx_k_cudaGraphExecUpdateErrorParamete, sizeof(__pyx_k_cudaGraphExecUpdateErrorParamete), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateErrorTopology, __pyx_k_cudaGraphExecUpdateErrorTopology, sizeof(__pyx_k_cudaGraphExecUpdateErrorTopology), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateErrorUnsuppor, __pyx_k_cudaGraphExecUpdateErrorUnsuppor, sizeof(__pyx_k_cudaGraphExecUpdateErrorUnsuppor), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateResult, __pyx_k_cudaGraphExecUpdateResult, sizeof(__pyx_k_cudaGraphExecUpdateResult), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExecUpdateSuccess, __pyx_k_cudaGraphExecUpdateSuccess, sizeof(__pyx_k_cudaGraphExecUpdateSuccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExec_t, __pyx_k_cudaGraphExec_t, sizeof(__pyx_k_cudaGraphExec_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExternalSemaphoresSigna, __pyx_k_cudaGraphExternalSemaphoresSigna, sizeof(__pyx_k_cudaGraphExternalSemaphoresSigna), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExternalSemaphoresSigna_2, __pyx_k_cudaGraphExternalSemaphoresSigna_2, sizeof(__pyx_k_cudaGraphExternalSemaphoresSigna_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExternalSemaphoresWaitN, __pyx_k_cudaGraphExternalSemaphoresWaitN, sizeof(__pyx_k_cudaGraphExternalSemaphoresWaitN), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphExternalSemaphoresWaitN_2, __pyx_k_cudaGraphExternalSemaphoresWaitN_2, sizeof(__pyx_k_cudaGraphExternalSemaphoresWaitN_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphGetEdges, __pyx_k_cudaGraphGetEdges, sizeof(__pyx_k_cudaGraphGetEdges), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphGetNodes, __pyx_k_cudaGraphGetNodes, sizeof(__pyx_k_cudaGraphGetNodes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphGetRootNodes, __pyx_k_cudaGraphGetRootNodes, sizeof(__pyx_k_cudaGraphGetRootNodes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphHostNodeGetParams, __pyx_k_cudaGraphHostNodeGetParams, sizeof(__pyx_k_cudaGraphHostNodeGetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphHostNodeSetParams, __pyx_k_cudaGraphHostNodeSetParams, sizeof(__pyx_k_cudaGraphHostNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphInstantiate, __pyx_k_cudaGraphInstantiate, sizeof(__pyx_k_cudaGraphInstantiate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphInstantiateFlagAutoFree, __pyx_k_cudaGraphInstantiateFlagAutoFree, sizeof(__pyx_k_cudaGraphInstantiateFlagAutoFree), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphInstantiateFlagUseNodeP, __pyx_k_cudaGraphInstantiateFlagUseNodeP, sizeof(__pyx_k_cudaGraphInstantiateFlagUseNodeP), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphInstantiateFlags, __pyx_k_cudaGraphInstantiateFlags, sizeof(__pyx_k_cudaGraphInstantiateFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphInstantiateWithFlags, __pyx_k_cudaGraphInstantiateWithFlags, sizeof(__pyx_k_cudaGraphInstantiateWithFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphKernelNodeCopyAttribute, __pyx_k_cudaGraphKernelNodeCopyAttribute, sizeof(__pyx_k_cudaGraphKernelNodeCopyAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphKernelNodeGetAttribute, __pyx_k_cudaGraphKernelNodeGetAttribute, sizeof(__pyx_k_cudaGraphKernelNodeGetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphKernelNodeGetParams, __pyx_k_cudaGraphKernelNodeGetParams, sizeof(__pyx_k_cudaGraphKernelNodeGetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphKernelNodeSetAttribute, __pyx_k_cudaGraphKernelNodeSetAttribute, sizeof(__pyx_k_cudaGraphKernelNodeSetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphKernelNodeSetParams, __pyx_k_cudaGraphKernelNodeSetParams, sizeof(__pyx_k_cudaGraphKernelNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphLaunch, __pyx_k_cudaGraphLaunch, sizeof(__pyx_k_cudaGraphLaunch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemAllocNodeGetParams, __pyx_k_cudaGraphMemAllocNodeGetParams, sizeof(__pyx_k_cudaGraphMemAllocNodeGetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemAttrReservedMemCurre, __pyx_k_cudaGraphMemAttrReservedMemCurre, sizeof(__pyx_k_cudaGraphMemAttrReservedMemCurre), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemAttrReservedMemHigh, __pyx_k_cudaGraphMemAttrReservedMemHigh, sizeof(__pyx_k_cudaGraphMemAttrReservedMemHigh), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemAttrUsedMemCurrent, __pyx_k_cudaGraphMemAttrUsedMemCurrent, sizeof(__pyx_k_cudaGraphMemAttrUsedMemCurrent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemAttrUsedMemHigh, __pyx_k_cudaGraphMemAttrUsedMemHigh, sizeof(__pyx_k_cudaGraphMemAttrUsedMemHigh), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemAttributeType, __pyx_k_cudaGraphMemAttributeType, sizeof(__pyx_k_cudaGraphMemAttributeType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemFreeNodeGetParams, __pyx_k_cudaGraphMemFreeNodeGetParams, sizeof(__pyx_k_cudaGraphMemFreeNodeGetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemcpyNodeGetParams, __pyx_k_cudaGraphMemcpyNodeGetParams, sizeof(__pyx_k_cudaGraphMemcpyNodeGetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemcpyNodeSetParams, __pyx_k_cudaGraphMemcpyNodeSetParams, sizeof(__pyx_k_cudaGraphMemcpyNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemcpyNodeSetParams1D, __pyx_k_cudaGraphMemcpyNodeSetParams1D, sizeof(__pyx_k_cudaGraphMemcpyNodeSetParams1D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemsetNodeGetParams, __pyx_k_cudaGraphMemsetNodeGetParams, sizeof(__pyx_k_cudaGraphMemsetNodeGetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphMemsetNodeSetParams, __pyx_k_cudaGraphMemsetNodeSetParams, sizeof(__pyx_k_cudaGraphMemsetNodeSetParams), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeFindInClone, __pyx_k_cudaGraphNodeFindInClone, sizeof(__pyx_k_cudaGraphNodeFindInClone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeGetDependencies, __pyx_k_cudaGraphNodeGetDependencies, sizeof(__pyx_k_cudaGraphNodeGetDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeGetDependentNodes, __pyx_k_cudaGraphNodeGetDependentNodes, sizeof(__pyx_k_cudaGraphNodeGetDependentNodes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeGetEnabled, __pyx_k_cudaGraphNodeGetEnabled, sizeof(__pyx_k_cudaGraphNodeGetEnabled), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeGetType, __pyx_k_cudaGraphNodeGetType, sizeof(__pyx_k_cudaGraphNodeGetType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeSetEnabled, __pyx_k_cudaGraphNodeSetEnabled, sizeof(__pyx_k_cudaGraphNodeSetEnabled), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeType, __pyx_k_cudaGraphNodeType, sizeof(__pyx_k_cudaGraphNodeType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeCount, __pyx_k_cudaGraphNodeTypeCount, sizeof(__pyx_k_cudaGraphNodeTypeCount), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeEmpty, __pyx_k_cudaGraphNodeTypeEmpty, sizeof(__pyx_k_cudaGraphNodeTypeEmpty), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeEventRecord, __pyx_k_cudaGraphNodeTypeEventRecord, sizeof(__pyx_k_cudaGraphNodeTypeEventRecord), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeExtSemaphoreSig, __pyx_k_cudaGraphNodeTypeExtSemaphoreSig, sizeof(__pyx_k_cudaGraphNodeTypeExtSemaphoreSig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeExtSemaphoreWai, __pyx_k_cudaGraphNodeTypeExtSemaphoreWai, sizeof(__pyx_k_cudaGraphNodeTypeExtSemaphoreWai), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeGraph, __pyx_k_cudaGraphNodeTypeGraph, sizeof(__pyx_k_cudaGraphNodeTypeGraph), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeHost, __pyx_k_cudaGraphNodeTypeHost, sizeof(__pyx_k_cudaGraphNodeTypeHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeKernel, __pyx_k_cudaGraphNodeTypeKernel, sizeof(__pyx_k_cudaGraphNodeTypeKernel), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeMemAlloc, __pyx_k_cudaGraphNodeTypeMemAlloc, sizeof(__pyx_k_cudaGraphNodeTypeMemAlloc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeMemFree, __pyx_k_cudaGraphNodeTypeMemFree, sizeof(__pyx_k_cudaGraphNodeTypeMemFree), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeMemcpy, __pyx_k_cudaGraphNodeTypeMemcpy, sizeof(__pyx_k_cudaGraphNodeTypeMemcpy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeMemset, __pyx_k_cudaGraphNodeTypeMemset, sizeof(__pyx_k_cudaGraphNodeTypeMemset), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNodeTypeWaitEvent, __pyx_k_cudaGraphNodeTypeWaitEvent, sizeof(__pyx_k_cudaGraphNodeTypeWaitEvent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphNode_t, __pyx_k_cudaGraphNode_t, sizeof(__pyx_k_cudaGraphNode_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphReleaseUserObject, __pyx_k_cudaGraphReleaseUserObject, sizeof(__pyx_k_cudaGraphReleaseUserObject), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphRemoveDependencies, __pyx_k_cudaGraphRemoveDependencies, sizeof(__pyx_k_cudaGraphRemoveDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphRemoveDependencies_loca, __pyx_k_cudaGraphRemoveDependencies_loca, sizeof(__pyx_k_cudaGraphRemoveDependencies_loca), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphRetainUserObject, __pyx_k_cudaGraphRetainUserObject, sizeof(__pyx_k_cudaGraphRetainUserObject), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphUpload, __pyx_k_cudaGraphUpload, sizeof(__pyx_k_cudaGraphUpload), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphUserObjectMove, __pyx_k_cudaGraphUserObjectMove, sizeof(__pyx_k_cudaGraphUserObjectMove), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraph_t, __pyx_k_cudaGraph_t, sizeof(__pyx_k_cudaGraph_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsCubeFace, __pyx_k_cudaGraphicsCubeFace, sizeof(__pyx_k_cudaGraphicsCubeFace), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsCubeFaceNegativeX, __pyx_k_cudaGraphicsCubeFaceNegativeX, sizeof(__pyx_k_cudaGraphicsCubeFaceNegativeX), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsCubeFaceNegativeY, __pyx_k_cudaGraphicsCubeFaceNegativeY, sizeof(__pyx_k_cudaGraphicsCubeFaceNegativeY), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsCubeFaceNegativeZ, __pyx_k_cudaGraphicsCubeFaceNegativeZ, sizeof(__pyx_k_cudaGraphicsCubeFaceNegativeZ), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsCubeFacePositiveX, __pyx_k_cudaGraphicsCubeFacePositiveX, sizeof(__pyx_k_cudaGraphicsCubeFacePositiveX), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsCubeFacePositiveY, __pyx_k_cudaGraphicsCubeFacePositiveY, sizeof(__pyx_k_cudaGraphicsCubeFacePositiveY), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsCubeFacePositiveZ, __pyx_k_cudaGraphicsCubeFacePositiveZ, sizeof(__pyx_k_cudaGraphicsCubeFacePositiveZ), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsEGLRegisterImage, __pyx_k_cudaGraphicsEGLRegisterImage, sizeof(__pyx_k_cudaGraphicsEGLRegisterImage), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsGLRegisterBuffer, __pyx_k_cudaGraphicsGLRegisterBuffer, sizeof(__pyx_k_cudaGraphicsGLRegisterBuffer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsGLRegisterImage, __pyx_k_cudaGraphicsGLRegisterImage, sizeof(__pyx_k_cudaGraphicsGLRegisterImage), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsMapFlags, __pyx_k_cudaGraphicsMapFlags, sizeof(__pyx_k_cudaGraphicsMapFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsMapFlagsNone, __pyx_k_cudaGraphicsMapFlagsNone, sizeof(__pyx_k_cudaGraphicsMapFlagsNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsMapFlagsReadOnly, __pyx_k_cudaGraphicsMapFlagsReadOnly, sizeof(__pyx_k_cudaGraphicsMapFlagsReadOnly), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsMapFlagsWriteDiscard, __pyx_k_cudaGraphicsMapFlagsWriteDiscard, sizeof(__pyx_k_cudaGraphicsMapFlagsWriteDiscard), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsMapResources, __pyx_k_cudaGraphicsMapResources, sizeof(__pyx_k_cudaGraphicsMapResources), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsRegisterFlags, __pyx_k_cudaGraphicsRegisterFlags, sizeof(__pyx_k_cudaGraphicsRegisterFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsRegisterFlagsNone, __pyx_k_cudaGraphicsRegisterFlagsNone, sizeof(__pyx_k_cudaGraphicsRegisterFlagsNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsRegisterFlagsReadOnl, __pyx_k_cudaGraphicsRegisterFlagsReadOnl, sizeof(__pyx_k_cudaGraphicsRegisterFlagsReadOnl), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsRegisterFlagsSurface, __pyx_k_cudaGraphicsRegisterFlagsSurface, sizeof(__pyx_k_cudaGraphicsRegisterFlagsSurface), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsRegisterFlagsTexture, __pyx_k_cudaGraphicsRegisterFlagsTexture, sizeof(__pyx_k_cudaGraphicsRegisterFlagsTexture), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsRegisterFlagsWriteDi, __pyx_k_cudaGraphicsRegisterFlagsWriteDi, sizeof(__pyx_k_cudaGraphicsRegisterFlagsWriteDi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsResourceGetMappedEgl, __pyx_k_cudaGraphicsResourceGetMappedEgl, sizeof(__pyx_k_cudaGraphicsResourceGetMappedEgl), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsResourceGetMappedMip, __pyx_k_cudaGraphicsResourceGetMappedMip, sizeof(__pyx_k_cudaGraphicsResourceGetMappedMip), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsResourceGetMappedPoi, __pyx_k_cudaGraphicsResourceGetMappedPoi, sizeof(__pyx_k_cudaGraphicsResourceGetMappedPoi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsResourceSetMapFlags, __pyx_k_cudaGraphicsResourceSetMapFlags, sizeof(__pyx_k_cudaGraphicsResourceSetMapFlags), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaGraphicsResource_t, __pyx_k_cudaGraphicsResource_t, sizeof(__pyx_k_cudaGraphicsResource_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaGraphicsResource_t_2, __pyx_k_cudaGraphicsResource_t_2, sizeof(__pyx_k_cudaGraphicsResource_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsResource_t___reduce, __pyx_k_cudaGraphicsResource_t___reduce, sizeof(__pyx_k_cudaGraphicsResource_t___reduce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsResource_t___setstat, __pyx_k_cudaGraphicsResource_t___setstat, sizeof(__pyx_k_cudaGraphicsResource_t___setstat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsResource_t_getPtr, __pyx_k_cudaGraphicsResource_t_getPtr, sizeof(__pyx_k_cudaGraphicsResource_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsSubResourceGetMapped, __pyx_k_cudaGraphicsSubResourceGetMapped, sizeof(__pyx_k_cudaGraphicsSubResourceGetMapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsUnmapResources, __pyx_k_cudaGraphicsUnmapResources, sizeof(__pyx_k_cudaGraphicsUnmapResources), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsUnregisterResource, __pyx_k_cudaGraphicsUnregisterResource, sizeof(__pyx_k_cudaGraphicsUnregisterResource), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsVDPAURegisterOutputS, __pyx_k_cudaGraphicsVDPAURegisterOutputS, sizeof(__pyx_k_cudaGraphicsVDPAURegisterOutputS), 0, 0, 1, 1},
  {&__pyx_n_s_cudaGraphicsVDPAURegisterVideoSu, __pyx_k_cudaGraphicsVDPAURegisterVideoSu, sizeof(__pyx_k_cudaGraphicsVDPAURegisterVideoSu), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostAlloc, __pyx_k_cudaHostAlloc, sizeof(__pyx_k_cudaHostAlloc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostAllocDefault, __pyx_k_cudaHostAllocDefault, sizeof(__pyx_k_cudaHostAllocDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostAllocMapped, __pyx_k_cudaHostAllocMapped, sizeof(__pyx_k_cudaHostAllocMapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostAllocPortable, __pyx_k_cudaHostAllocPortable, sizeof(__pyx_k_cudaHostAllocPortable), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostAllocWriteCombined, __pyx_k_cudaHostAllocWriteCombined, sizeof(__pyx_k_cudaHostAllocWriteCombined), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaHostFn_t, __pyx_k_cudaHostFn_t, sizeof(__pyx_k_cudaHostFn_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaHostFn_t_2, __pyx_k_cudaHostFn_t_2, sizeof(__pyx_k_cudaHostFn_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostFn_t___reduce_cython, __pyx_k_cudaHostFn_t___reduce_cython, sizeof(__pyx_k_cudaHostFn_t___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostFn_t___setstate_cython, __pyx_k_cudaHostFn_t___setstate_cython, sizeof(__pyx_k_cudaHostFn_t___setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostFn_t_getPtr, __pyx_k_cudaHostFn_t_getPtr, sizeof(__pyx_k_cudaHostFn_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostGetDevicePointer, __pyx_k_cudaHostGetDevicePointer, sizeof(__pyx_k_cudaHostGetDevicePointer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostGetFlags, __pyx_k_cudaHostGetFlags, sizeof(__pyx_k_cudaHostGetFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostNodeParams, __pyx_k_cudaHostNodeParams, sizeof(__pyx_k_cudaHostNodeParams), 0, 0, 1, 1},
  {&__pyx_n_u_cudaHostNodeParams, __pyx_k_cudaHostNodeParams, sizeof(__pyx_k_cudaHostNodeParams), 0, 1, 0, 1},
  {&__pyx_n_s_cudaHostNodeParams___reduce_cyth, __pyx_k_cudaHostNodeParams___reduce_cyth, sizeof(__pyx_k_cudaHostNodeParams___reduce_cyth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostNodeParams___setstate_cy, __pyx_k_cudaHostNodeParams___setstate_cy, sizeof(__pyx_k_cudaHostNodeParams___setstate_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostNodeParams_getPtr, __pyx_k_cudaHostNodeParams_getPtr, sizeof(__pyx_k_cudaHostNodeParams_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostRegister, __pyx_k_cudaHostRegister, sizeof(__pyx_k_cudaHostRegister), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostRegisterDefault, __pyx_k_cudaHostRegisterDefault, sizeof(__pyx_k_cudaHostRegisterDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostRegisterIoMemory, __pyx_k_cudaHostRegisterIoMemory, sizeof(__pyx_k_cudaHostRegisterIoMemory), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostRegisterMapped, __pyx_k_cudaHostRegisterMapped, sizeof(__pyx_k_cudaHostRegisterMapped), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostRegisterPortable, __pyx_k_cudaHostRegisterPortable, sizeof(__pyx_k_cudaHostRegisterPortable), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostRegisterReadOnly, __pyx_k_cudaHostRegisterReadOnly, sizeof(__pyx_k_cudaHostRegisterReadOnly), 0, 0, 1, 1},
  {&__pyx_n_s_cudaHostUnregister, __pyx_k_cudaHostUnregister, sizeof(__pyx_k_cudaHostUnregister), 0, 0, 1, 1},
  {&__pyx_n_s_cudaImportExternalMemory, __pyx_k_cudaImportExternalMemory, sizeof(__pyx_k_cudaImportExternalMemory), 0, 0, 1, 1},
  {&__pyx_n_s_cudaImportExternalSemaphore, __pyx_k_cudaImportExternalSemaphore, sizeof(__pyx_k_cudaImportExternalSemaphore), 0, 0, 1, 1},
  {&__pyx_n_s_cudaInvalidDeviceId, __pyx_k_cudaInvalidDeviceId, sizeof(__pyx_k_cudaInvalidDeviceId), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcCloseMemHandle, __pyx_k_cudaIpcCloseMemHandle, sizeof(__pyx_k_cudaIpcCloseMemHandle), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcEventHandle_st, __pyx_k_cudaIpcEventHandle_st, sizeof(__pyx_k_cudaIpcEventHandle_st), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcEventHandle_st___reduce_c, __pyx_k_cudaIpcEventHandle_st___reduce_c, sizeof(__pyx_k_cudaIpcEventHandle_st___reduce_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcEventHandle_st___setstate, __pyx_k_cudaIpcEventHandle_st___setstate, sizeof(__pyx_k_cudaIpcEventHandle_st___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcEventHandle_st_getPtr, __pyx_k_cudaIpcEventHandle_st_getPtr, sizeof(__pyx_k_cudaIpcEventHandle_st_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcEventHandle_t, __pyx_k_cudaIpcEventHandle_t, sizeof(__pyx_k_cudaIpcEventHandle_t), 0, 0, 1, 1},
  {&__pyx_n_u_cudaIpcEventHandle_t, __pyx_k_cudaIpcEventHandle_t, sizeof(__pyx_k_cudaIpcEventHandle_t), 0, 1, 0, 1},
  {&__pyx_n_s_cudaIpcGetEventHandle, __pyx_k_cudaIpcGetEventHandle, sizeof(__pyx_k_cudaIpcGetEventHandle), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcGetMemHandle, __pyx_k_cudaIpcGetMemHandle, sizeof(__pyx_k_cudaIpcGetMemHandle), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcMemHandle_st, __pyx_k_cudaIpcMemHandle_st, sizeof(__pyx_k_cudaIpcMemHandle_st), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcMemHandle_st___reduce_cyt, __pyx_k_cudaIpcMemHandle_st___reduce_cyt, sizeof(__pyx_k_cudaIpcMemHandle_st___reduce_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcMemHandle_st___setstate_c, __pyx_k_cudaIpcMemHandle_st___setstate_c, sizeof(__pyx_k_cudaIpcMemHandle_st___setstate_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcMemHandle_st_getPtr, __pyx_k_cudaIpcMemHandle_st_getPtr, sizeof(__pyx_k_cudaIpcMemHandle_st_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcMemHandle_t, __pyx_k_cudaIpcMemHandle_t, sizeof(__pyx_k_cudaIpcMemHandle_t), 0, 0, 1, 1},
  {&__pyx_n_u_cudaIpcMemHandle_t, __pyx_k_cudaIpcMemHandle_t, sizeof(__pyx_k_cudaIpcMemHandle_t), 0, 1, 0, 1},
  {&__pyx_n_s_cudaIpcMemLazyEnablePeerAccess, __pyx_k_cudaIpcMemLazyEnablePeerAccess, sizeof(__pyx_k_cudaIpcMemLazyEnablePeerAccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcOpenEventHandle, __pyx_k_cudaIpcOpenEventHandle, sizeof(__pyx_k_cudaIpcOpenEventHandle), 0, 0, 1, 1},
  {&__pyx_n_s_cudaIpcOpenMemHandle, __pyx_k_cudaIpcOpenMemHandle, sizeof(__pyx_k_cudaIpcOpenMemHandle), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttrID, __pyx_k_cudaKernelNodeAttrID, sizeof(__pyx_k_cudaKernelNodeAttrID), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttrValue, __pyx_k_cudaKernelNodeAttrValue, sizeof(__pyx_k_cudaKernelNodeAttrValue), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttributeAccessPol, __pyx_k_cudaKernelNodeAttributeAccessPol, sizeof(__pyx_k_cudaKernelNodeAttributeAccessPol), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttributeClusterDi, __pyx_k_cudaKernelNodeAttributeClusterDi, sizeof(__pyx_k_cudaKernelNodeAttributeClusterDi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttributeClusterSc, __pyx_k_cudaKernelNodeAttributeClusterSc, sizeof(__pyx_k_cudaKernelNodeAttributeClusterSc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttributeCooperati, __pyx_k_cudaKernelNodeAttributeCooperati, sizeof(__pyx_k_cudaKernelNodeAttributeCooperati), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttributePriority, __pyx_k_cudaKernelNodeAttributePriority, sizeof(__pyx_k_cudaKernelNodeAttributePriority), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeParams, __pyx_k_cudaKernelNodeParams, sizeof(__pyx_k_cudaKernelNodeParams), 0, 0, 1, 1},
  {&__pyx_n_u_cudaKernelNodeParams, __pyx_k_cudaKernelNodeParams, sizeof(__pyx_k_cudaKernelNodeParams), 0, 1, 0, 1},
  {&__pyx_n_s_cudaKernelNodeParams___reduce_cy, __pyx_k_cudaKernelNodeParams___reduce_cy, sizeof(__pyx_k_cudaKernelNodeParams___reduce_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeParams___setstate, __pyx_k_cudaKernelNodeParams___setstate, sizeof(__pyx_k_cudaKernelNodeParams___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeParams_getPtr, __pyx_k_cudaKernelNodeParams_getPtr, sizeof(__pyx_k_cudaKernelNodeParams_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKeyValuePair, __pyx_k_cudaKeyValuePair, sizeof(__pyx_k_cudaKeyValuePair), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttribute, __pyx_k_cudaLaunchAttribute, sizeof(__pyx_k_cudaLaunchAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeAccessPolicyW, __pyx_k_cudaLaunchAttributeAccessPolicyW, sizeof(__pyx_k_cudaLaunchAttributeAccessPolicyW), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeClusterDimens, __pyx_k_cudaLaunchAttributeClusterDimens, sizeof(__pyx_k_cudaLaunchAttributeClusterDimens), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeClusterSchedu, __pyx_k_cudaLaunchAttributeClusterSchedu, sizeof(__pyx_k_cudaLaunchAttributeClusterSchedu), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeCooperative, __pyx_k_cudaLaunchAttributeCooperative, sizeof(__pyx_k_cudaLaunchAttributeCooperative), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeID, __pyx_k_cudaLaunchAttributeID, sizeof(__pyx_k_cudaLaunchAttributeID), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeIgnore, __pyx_k_cudaLaunchAttributeIgnore, sizeof(__pyx_k_cudaLaunchAttributeIgnore), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributePriority, __pyx_k_cudaLaunchAttributePriority, sizeof(__pyx_k_cudaLaunchAttributePriority), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeProgrammaticE, __pyx_k_cudaLaunchAttributeProgrammaticE, sizeof(__pyx_k_cudaLaunchAttributeProgrammaticE), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeProgrammaticS, __pyx_k_cudaLaunchAttributeProgrammaticS, sizeof(__pyx_k_cudaLaunchAttributeProgrammaticS), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeSynchronizati, __pyx_k_cudaLaunchAttributeSynchronizati, sizeof(__pyx_k_cudaLaunchAttributeSynchronizati), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue, __pyx_k_cudaLaunchAttributeValue, sizeof(__pyx_k_cudaLaunchAttributeValue), 0, 0, 1, 1},
  {&__pyx_n_u_cudaLaunchAttributeValue, __pyx_k_cudaLaunchAttributeValue, sizeof(__pyx_k_cudaLaunchAttributeValue), 0, 1, 0, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue___reduc, __pyx_k_cudaLaunchAttributeValue___reduc, sizeof(__pyx_k_cudaLaunchAttributeValue___reduc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue___setst, __pyx_k_cudaLaunchAttributeValue___setst, sizeof(__pyx_k_cudaLaunchAttributeValue___setst), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa, __pyx_k_cudaLaunchAttributeValue_cudaLa, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa_2, __pyx_k_cudaLaunchAttributeValue_cudaLa_2, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa_3, __pyx_k_cudaLaunchAttributeValue_cudaLa_3, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa_4, __pyx_k_cudaLaunchAttributeValue_cudaLa_4, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa_5, __pyx_k_cudaLaunchAttributeValue_cudaLa_5, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa_6, __pyx_k_cudaLaunchAttributeValue_cudaLa_6, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa_7, __pyx_k_cudaLaunchAttributeValue_cudaLa_7, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_cudaLa_8, __pyx_k_cudaLaunchAttributeValue_cudaLa_8, sizeof(__pyx_k_cudaLaunchAttributeValue_cudaLa_8), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttributeValue_getPtr, __pyx_k_cudaLaunchAttributeValue_getPtr, sizeof(__pyx_k_cudaLaunchAttributeValue_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttribute_st, __pyx_k_cudaLaunchAttribute_st, sizeof(__pyx_k_cudaLaunchAttribute_st), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttribute_st___reduce, __pyx_k_cudaLaunchAttribute_st___reduce, sizeof(__pyx_k_cudaLaunchAttribute_st___reduce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttribute_st___setstat, __pyx_k_cudaLaunchAttribute_st___setstat, sizeof(__pyx_k_cudaLaunchAttribute_st___setstat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchAttribute_st_getPtr, __pyx_k_cudaLaunchAttribute_st_getPtr, sizeof(__pyx_k_cudaLaunchAttribute_st_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLaunchHostFunc, __pyx_k_cudaLaunchHostFunc, sizeof(__pyx_k_cudaLaunchHostFunc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimit, __pyx_k_cudaLimit, sizeof(__pyx_k_cudaLimit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimitDevRuntimePendingLaunch, __pyx_k_cudaLimitDevRuntimePendingLaunch, sizeof(__pyx_k_cudaLimitDevRuntimePendingLaunch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimitDevRuntimeSyncDepth, __pyx_k_cudaLimitDevRuntimeSyncDepth, sizeof(__pyx_k_cudaLimitDevRuntimeSyncDepth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimitMallocHeapSize, __pyx_k_cudaLimitMallocHeapSize, sizeof(__pyx_k_cudaLimitMallocHeapSize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimitMaxL2FetchGranularity, __pyx_k_cudaLimitMaxL2FetchGranularity, sizeof(__pyx_k_cudaLimitMaxL2FetchGranularity), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimitPersistingL2CacheSize, __pyx_k_cudaLimitPersistingL2CacheSize, sizeof(__pyx_k_cudaLimitPersistingL2CacheSize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimitPrintfFifoSize, __pyx_k_cudaLimitPrintfFifoSize, sizeof(__pyx_k_cudaLimitPrintfFifoSize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaLimitStackSize, __pyx_k_cudaLimitStackSize, sizeof(__pyx_k_cudaLimitStackSize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMalloc, __pyx_k_cudaMalloc, sizeof(__pyx_k_cudaMalloc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMalloc3D, __pyx_k_cudaMalloc3D, sizeof(__pyx_k_cudaMalloc3D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMalloc3DArray, __pyx_k_cudaMalloc3DArray, sizeof(__pyx_k_cudaMalloc3DArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMallocArray, __pyx_k_cudaMallocArray, sizeof(__pyx_k_cudaMallocArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMallocAsync, __pyx_k_cudaMallocAsync, sizeof(__pyx_k_cudaMallocAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMallocFromPoolAsync, __pyx_k_cudaMallocFromPoolAsync, sizeof(__pyx_k_cudaMallocFromPoolAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMallocHost, __pyx_k_cudaMallocHost, sizeof(__pyx_k_cudaMallocHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMallocManaged, __pyx_k_cudaMallocManaged, sizeof(__pyx_k_cudaMallocManaged), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMallocMipmappedArray, __pyx_k_cudaMallocMipmappedArray, sizeof(__pyx_k_cudaMallocMipmappedArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMallocPitch, __pyx_k_cudaMallocPitch, sizeof(__pyx_k_cudaMallocPitch), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessDesc, __pyx_k_cudaMemAccessDesc, sizeof(__pyx_k_cudaMemAccessDesc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessDesc___reduce_cytho, __pyx_k_cudaMemAccessDesc___reduce_cytho, sizeof(__pyx_k_cudaMemAccessDesc___reduce_cytho), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessDesc___setstate_cyt, __pyx_k_cudaMemAccessDesc___setstate_cyt, sizeof(__pyx_k_cudaMemAccessDesc___setstate_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessDesc_getPtr, __pyx_k_cudaMemAccessDesc_getPtr, sizeof(__pyx_k_cudaMemAccessDesc_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessFlags, __pyx_k_cudaMemAccessFlags, sizeof(__pyx_k_cudaMemAccessFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessFlagsProtNone, __pyx_k_cudaMemAccessFlagsProtNone, sizeof(__pyx_k_cudaMemAccessFlagsProtNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessFlagsProtRead, __pyx_k_cudaMemAccessFlagsProtRead, sizeof(__pyx_k_cudaMemAccessFlagsProtRead), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAccessFlagsProtReadWrite, __pyx_k_cudaMemAccessFlagsProtReadWrite, sizeof(__pyx_k_cudaMemAccessFlagsProtReadWrite), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAdvise, __pyx_k_cudaMemAdvise, sizeof(__pyx_k_cudaMemAdvise), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAdviseSetAccessedBy, __pyx_k_cudaMemAdviseSetAccessedBy, sizeof(__pyx_k_cudaMemAdviseSetAccessedBy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAdviseSetPreferredLocatio, __pyx_k_cudaMemAdviseSetPreferredLocatio, sizeof(__pyx_k_cudaMemAdviseSetPreferredLocatio), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAdviseSetReadMostly, __pyx_k_cudaMemAdviseSetReadMostly, sizeof(__pyx_k_cudaMemAdviseSetReadMostly), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAdviseUnsetAccessedBy, __pyx_k_cudaMemAdviseUnsetAccessedBy, sizeof(__pyx_k_cudaMemAdviseUnsetAccessedBy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAdviseUnsetPreferredLocat, __pyx_k_cudaMemAdviseUnsetPreferredLocat, sizeof(__pyx_k_cudaMemAdviseUnsetPreferredLocat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAdviseUnsetReadMostly, __pyx_k_cudaMemAdviseUnsetReadMostly, sizeof(__pyx_k_cudaMemAdviseUnsetReadMostly), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocNodeParams, __pyx_k_cudaMemAllocNodeParams, sizeof(__pyx_k_cudaMemAllocNodeParams), 0, 0, 1, 1},
  {&__pyx_n_u_cudaMemAllocNodeParams, __pyx_k_cudaMemAllocNodeParams, sizeof(__pyx_k_cudaMemAllocNodeParams), 0, 1, 0, 1},
  {&__pyx_n_s_cudaMemAllocNodeParams___reduce, __pyx_k_cudaMemAllocNodeParams___reduce, sizeof(__pyx_k_cudaMemAllocNodeParams___reduce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocNodeParams___setstat, __pyx_k_cudaMemAllocNodeParams___setstat, sizeof(__pyx_k_cudaMemAllocNodeParams___setstat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocNodeParams_getPtr, __pyx_k_cudaMemAllocNodeParams_getPtr, sizeof(__pyx_k_cudaMemAllocNodeParams_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocationHandleType, __pyx_k_cudaMemAllocationHandleType, sizeof(__pyx_k_cudaMemAllocationHandleType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocationType, __pyx_k_cudaMemAllocationType, sizeof(__pyx_k_cudaMemAllocationType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocationTypeInvalid, __pyx_k_cudaMemAllocationTypeInvalid, sizeof(__pyx_k_cudaMemAllocationTypeInvalid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocationTypeMax, __pyx_k_cudaMemAllocationTypeMax, sizeof(__pyx_k_cudaMemAllocationTypeMax), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAllocationTypePinned, __pyx_k_cudaMemAllocationTypePinned, sizeof(__pyx_k_cudaMemAllocationTypePinned), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAttachGlobal, __pyx_k_cudaMemAttachGlobal, sizeof(__pyx_k_cudaMemAttachGlobal), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAttachHost, __pyx_k_cudaMemAttachHost, sizeof(__pyx_k_cudaMemAttachHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemAttachSingle, __pyx_k_cudaMemAttachSingle, sizeof(__pyx_k_cudaMemAttachSingle), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemGetInfo, __pyx_k_cudaMemGetInfo, sizeof(__pyx_k_cudaMemGetInfo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemHandleTypeNone, __pyx_k_cudaMemHandleTypeNone, sizeof(__pyx_k_cudaMemHandleTypeNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemHandleTypePosixFileDescri, __pyx_k_cudaMemHandleTypePosixFileDescri, sizeof(__pyx_k_cudaMemHandleTypePosixFileDescri), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemHandleTypeWin32, __pyx_k_cudaMemHandleTypeWin32, sizeof(__pyx_k_cudaMemHandleTypeWin32), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemHandleTypeWin32Kmt, __pyx_k_cudaMemHandleTypeWin32Kmt, sizeof(__pyx_k_cudaMemHandleTypeWin32Kmt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemLocation, __pyx_k_cudaMemLocation, sizeof(__pyx_k_cudaMemLocation), 0, 0, 1, 1},
  {&__pyx_n_u_cudaMemLocation, __pyx_k_cudaMemLocation, sizeof(__pyx_k_cudaMemLocation), 0, 1, 0, 1},
  {&__pyx_n_s_cudaMemLocationType, __pyx_k_cudaMemLocationType, sizeof(__pyx_k_cudaMemLocationType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemLocationTypeDevice, __pyx_k_cudaMemLocationTypeDevice, sizeof(__pyx_k_cudaMemLocationTypeDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemLocationTypeInvalid, __pyx_k_cudaMemLocationTypeInvalid, sizeof(__pyx_k_cudaMemLocationTypeInvalid), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemLocation___reduce_cython, __pyx_k_cudaMemLocation___reduce_cython, sizeof(__pyx_k_cudaMemLocation___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemLocation___setstate_cytho, __pyx_k_cudaMemLocation___setstate_cytho, sizeof(__pyx_k_cudaMemLocation___setstate_cytho), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemLocation_getPtr, __pyx_k_cudaMemLocation_getPtr, sizeof(__pyx_k_cudaMemLocation_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolAttr, __pyx_k_cudaMemPoolAttr, sizeof(__pyx_k_cudaMemPoolAttr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolAttrReleaseThreshold, __pyx_k_cudaMemPoolAttrReleaseThreshold, sizeof(__pyx_k_cudaMemPoolAttrReleaseThreshold), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolAttrReservedMemCurren, __pyx_k_cudaMemPoolAttrReservedMemCurren, sizeof(__pyx_k_cudaMemPoolAttrReservedMemCurren), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolAttrReservedMemHigh, __pyx_k_cudaMemPoolAttrReservedMemHigh, sizeof(__pyx_k_cudaMemPoolAttrReservedMemHigh), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolAttrUsedMemCurrent, __pyx_k_cudaMemPoolAttrUsedMemCurrent, sizeof(__pyx_k_cudaMemPoolAttrUsedMemCurrent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolAttrUsedMemHigh, __pyx_k_cudaMemPoolAttrUsedMemHigh, sizeof(__pyx_k_cudaMemPoolAttrUsedMemHigh), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolCreate, __pyx_k_cudaMemPoolCreate, sizeof(__pyx_k_cudaMemPoolCreate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolDestroy, __pyx_k_cudaMemPoolDestroy, sizeof(__pyx_k_cudaMemPoolDestroy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolExportPointer, __pyx_k_cudaMemPoolExportPointer, sizeof(__pyx_k_cudaMemPoolExportPointer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolExportToShareableHand, __pyx_k_cudaMemPoolExportToShareableHand, sizeof(__pyx_k_cudaMemPoolExportToShareableHand), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolGetAccess, __pyx_k_cudaMemPoolGetAccess, sizeof(__pyx_k_cudaMemPoolGetAccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolGetAttribute, __pyx_k_cudaMemPoolGetAttribute, sizeof(__pyx_k_cudaMemPoolGetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolImportFromShareableHa, __pyx_k_cudaMemPoolImportFromShareableHa, sizeof(__pyx_k_cudaMemPoolImportFromShareableHa), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolImportPointer, __pyx_k_cudaMemPoolImportPointer, sizeof(__pyx_k_cudaMemPoolImportPointer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolProps, __pyx_k_cudaMemPoolProps, sizeof(__pyx_k_cudaMemPoolProps), 0, 0, 1, 1},
  {&__pyx_n_u_cudaMemPoolProps, __pyx_k_cudaMemPoolProps, sizeof(__pyx_k_cudaMemPoolProps), 0, 1, 0, 1},
  {&__pyx_n_s_cudaMemPoolProps___reduce_cython, __pyx_k_cudaMemPoolProps___reduce_cython, sizeof(__pyx_k_cudaMemPoolProps___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolProps___setstate_cyth, __pyx_k_cudaMemPoolProps___setstate_cyth, sizeof(__pyx_k_cudaMemPoolProps___setstate_cyth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolProps_getPtr, __pyx_k_cudaMemPoolProps_getPtr, sizeof(__pyx_k_cudaMemPoolProps_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolPtrExportData, __pyx_k_cudaMemPoolPtrExportData, sizeof(__pyx_k_cudaMemPoolPtrExportData), 0, 0, 1, 1},
  {&__pyx_n_u_cudaMemPoolPtrExportData, __pyx_k_cudaMemPoolPtrExportData, sizeof(__pyx_k_cudaMemPoolPtrExportData), 0, 1, 0, 1},
  {&__pyx_n_s_cudaMemPoolPtrExportData___reduc, __pyx_k_cudaMemPoolPtrExportData___reduc, sizeof(__pyx_k_cudaMemPoolPtrExportData___reduc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolPtrExportData___setst, __pyx_k_cudaMemPoolPtrExportData___setst, sizeof(__pyx_k_cudaMemPoolPtrExportData___setst), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolPtrExportData_getPtr, __pyx_k_cudaMemPoolPtrExportData_getPtr, sizeof(__pyx_k_cudaMemPoolPtrExportData_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolReuseAllowInternalDep, __pyx_k_cudaMemPoolReuseAllowInternalDep, sizeof(__pyx_k_cudaMemPoolReuseAllowInternalDep), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolReuseAllowOpportunist, __pyx_k_cudaMemPoolReuseAllowOpportunist, sizeof(__pyx_k_cudaMemPoolReuseAllowOpportunist), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolReuseFollowEventDepen, __pyx_k_cudaMemPoolReuseFollowEventDepen, sizeof(__pyx_k_cudaMemPoolReuseFollowEventDepen), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolSetAccess, __pyx_k_cudaMemPoolSetAccess, sizeof(__pyx_k_cudaMemPoolSetAccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolSetAccess_locals_gene, __pyx_k_cudaMemPoolSetAccess_locals_gene, sizeof(__pyx_k_cudaMemPoolSetAccess_locals_gene), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolSetAttribute, __pyx_k_cudaMemPoolSetAttribute, sizeof(__pyx_k_cudaMemPoolSetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPoolTrimTo, __pyx_k_cudaMemPoolTrimTo, sizeof(__pyx_k_cudaMemPoolTrimTo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPool_t, __pyx_k_cudaMemPool_t, sizeof(__pyx_k_cudaMemPool_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemPrefetchAsync, __pyx_k_cudaMemPrefetchAsync, sizeof(__pyx_k_cudaMemPrefetchAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeAttribute, __pyx_k_cudaMemRangeAttribute, sizeof(__pyx_k_cudaMemRangeAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeAttributeAccessedBy, __pyx_k_cudaMemRangeAttributeAccessedBy, sizeof(__pyx_k_cudaMemRangeAttributeAccessedBy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeAttributeLastPrefetc, __pyx_k_cudaMemRangeAttributeLastPrefetc, sizeof(__pyx_k_cudaMemRangeAttributeLastPrefetc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeAttributePreferredLo, __pyx_k_cudaMemRangeAttributePreferredLo, sizeof(__pyx_k_cudaMemRangeAttributePreferredLo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeAttributeReadMostly, __pyx_k_cudaMemRangeAttributeReadMostly, sizeof(__pyx_k_cudaMemRangeAttributeReadMostly), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeGetAttribute, __pyx_k_cudaMemRangeGetAttribute, sizeof(__pyx_k_cudaMemRangeGetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeGetAttributes, __pyx_k_cudaMemRangeGetAttributes, sizeof(__pyx_k_cudaMemRangeGetAttributes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemRangeGetAttributes_locals, __pyx_k_cudaMemRangeGetAttributes_locals, sizeof(__pyx_k_cudaMemRangeGetAttributes_locals), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy, __pyx_k_cudaMemcpy, sizeof(__pyx_k_cudaMemcpy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy2D, __pyx_k_cudaMemcpy2D, sizeof(__pyx_k_cudaMemcpy2D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy2DArrayToArray, __pyx_k_cudaMemcpy2DArrayToArray, sizeof(__pyx_k_cudaMemcpy2DArrayToArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy2DAsync, __pyx_k_cudaMemcpy2DAsync, sizeof(__pyx_k_cudaMemcpy2DAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy2DFromArray, __pyx_k_cudaMemcpy2DFromArray, sizeof(__pyx_k_cudaMemcpy2DFromArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy2DFromArrayAsync, __pyx_k_cudaMemcpy2DFromArrayAsync, sizeof(__pyx_k_cudaMemcpy2DFromArrayAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy2DToArray, __pyx_k_cudaMemcpy2DToArray, sizeof(__pyx_k_cudaMemcpy2DToArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy2DToArrayAsync, __pyx_k_cudaMemcpy2DToArrayAsync, sizeof(__pyx_k_cudaMemcpy2DToArrayAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3D, __pyx_k_cudaMemcpy3D, sizeof(__pyx_k_cudaMemcpy3D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DAsync, __pyx_k_cudaMemcpy3DAsync, sizeof(__pyx_k_cudaMemcpy3DAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DParms, __pyx_k_cudaMemcpy3DParms, sizeof(__pyx_k_cudaMemcpy3DParms), 0, 0, 1, 1},
  {&__pyx_n_u_cudaMemcpy3DParms, __pyx_k_cudaMemcpy3DParms, sizeof(__pyx_k_cudaMemcpy3DParms), 0, 1, 0, 1},
  {&__pyx_n_s_cudaMemcpy3DParms___reduce_cytho, __pyx_k_cudaMemcpy3DParms___reduce_cytho, sizeof(__pyx_k_cudaMemcpy3DParms___reduce_cytho), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DParms___setstate_cyt, __pyx_k_cudaMemcpy3DParms___setstate_cyt, sizeof(__pyx_k_cudaMemcpy3DParms___setstate_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DParms_getPtr, __pyx_k_cudaMemcpy3DParms_getPtr, sizeof(__pyx_k_cudaMemcpy3DParms_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DPeer, __pyx_k_cudaMemcpy3DPeer, sizeof(__pyx_k_cudaMemcpy3DPeer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DPeerAsync, __pyx_k_cudaMemcpy3DPeerAsync, sizeof(__pyx_k_cudaMemcpy3DPeerAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DPeerParms, __pyx_k_cudaMemcpy3DPeerParms, sizeof(__pyx_k_cudaMemcpy3DPeerParms), 0, 0, 1, 1},
  {&__pyx_n_u_cudaMemcpy3DPeerParms, __pyx_k_cudaMemcpy3DPeerParms, sizeof(__pyx_k_cudaMemcpy3DPeerParms), 0, 1, 0, 1},
  {&__pyx_n_s_cudaMemcpy3DPeerParms___reduce_c, __pyx_k_cudaMemcpy3DPeerParms___reduce_c, sizeof(__pyx_k_cudaMemcpy3DPeerParms___reduce_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DPeerParms___setstate, __pyx_k_cudaMemcpy3DPeerParms___setstate, sizeof(__pyx_k_cudaMemcpy3DPeerParms___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpy3DPeerParms_getPtr, __pyx_k_cudaMemcpy3DPeerParms_getPtr, sizeof(__pyx_k_cudaMemcpy3DPeerParms_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyArrayToArray, __pyx_k_cudaMemcpyArrayToArray, sizeof(__pyx_k_cudaMemcpyArrayToArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyAsync, __pyx_k_cudaMemcpyAsync, sizeof(__pyx_k_cudaMemcpyAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyDefault, __pyx_k_cudaMemcpyDefault, sizeof(__pyx_k_cudaMemcpyDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyDeviceToDevice, __pyx_k_cudaMemcpyDeviceToDevice, sizeof(__pyx_k_cudaMemcpyDeviceToDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyDeviceToHost, __pyx_k_cudaMemcpyDeviceToHost, sizeof(__pyx_k_cudaMemcpyDeviceToHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyFromArray, __pyx_k_cudaMemcpyFromArray, sizeof(__pyx_k_cudaMemcpyFromArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyFromArrayAsync, __pyx_k_cudaMemcpyFromArrayAsync, sizeof(__pyx_k_cudaMemcpyFromArrayAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyHostToDevice, __pyx_k_cudaMemcpyHostToDevice, sizeof(__pyx_k_cudaMemcpyHostToDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyHostToHost, __pyx_k_cudaMemcpyHostToHost, sizeof(__pyx_k_cudaMemcpyHostToHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyKind, __pyx_k_cudaMemcpyKind, sizeof(__pyx_k_cudaMemcpyKind), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyPeer, __pyx_k_cudaMemcpyPeer, sizeof(__pyx_k_cudaMemcpyPeer), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyPeerAsync, __pyx_k_cudaMemcpyPeerAsync, sizeof(__pyx_k_cudaMemcpyPeerAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyToArray, __pyx_k_cudaMemcpyToArray, sizeof(__pyx_k_cudaMemcpyToArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemcpyToArrayAsync, __pyx_k_cudaMemcpyToArrayAsync, sizeof(__pyx_k_cudaMemcpyToArrayAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemoryAdvise, __pyx_k_cudaMemoryAdvise, sizeof(__pyx_k_cudaMemoryAdvise), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemoryType, __pyx_k_cudaMemoryType, sizeof(__pyx_k_cudaMemoryType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemoryTypeDevice, __pyx_k_cudaMemoryTypeDevice, sizeof(__pyx_k_cudaMemoryTypeDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemoryTypeHost, __pyx_k_cudaMemoryTypeHost, sizeof(__pyx_k_cudaMemoryTypeHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemoryTypeManaged, __pyx_k_cudaMemoryTypeManaged, sizeof(__pyx_k_cudaMemoryTypeManaged), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemoryTypeUnregistered, __pyx_k_cudaMemoryTypeUnregistered, sizeof(__pyx_k_cudaMemoryTypeUnregistered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemset, __pyx_k_cudaMemset, sizeof(__pyx_k_cudaMemset), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemset2D, __pyx_k_cudaMemset2D, sizeof(__pyx_k_cudaMemset2D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemset2DAsync, __pyx_k_cudaMemset2DAsync, sizeof(__pyx_k_cudaMemset2DAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemset3D, __pyx_k_cudaMemset3D, sizeof(__pyx_k_cudaMemset3D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemset3DAsync, __pyx_k_cudaMemset3DAsync, sizeof(__pyx_k_cudaMemset3DAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemsetAsync, __pyx_k_cudaMemsetAsync, sizeof(__pyx_k_cudaMemsetAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemsetParams, __pyx_k_cudaMemsetParams, sizeof(__pyx_k_cudaMemsetParams), 0, 0, 1, 1},
  {&__pyx_n_u_cudaMemsetParams, __pyx_k_cudaMemsetParams, sizeof(__pyx_k_cudaMemsetParams), 0, 1, 0, 1},
  {&__pyx_n_s_cudaMemsetParams___reduce_cython, __pyx_k_cudaMemsetParams___reduce_cython, sizeof(__pyx_k_cudaMemsetParams___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemsetParams___setstate_cyth, __pyx_k_cudaMemsetParams___setstate_cyth, sizeof(__pyx_k_cudaMemsetParams___setstate_cyth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMemsetParams_getPtr, __pyx_k_cudaMemsetParams_getPtr, sizeof(__pyx_k_cudaMemsetParams_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArrayGetMemoryRequi, __pyx_k_cudaMipmappedArrayGetMemoryRequi, sizeof(__pyx_k_cudaMipmappedArrayGetMemoryRequi), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArrayGetSparsePrope, __pyx_k_cudaMipmappedArrayGetSparsePrope, sizeof(__pyx_k_cudaMipmappedArrayGetSparsePrope), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaMipmappedArray_const_t, __pyx_k_cudaMipmappedArray_const_t, sizeof(__pyx_k_cudaMipmappedArray_const_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaMipmappedArray_const_t_2, __pyx_k_cudaMipmappedArray_const_t_2, sizeof(__pyx_k_cudaMipmappedArray_const_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArray_const_t___red, __pyx_k_cudaMipmappedArray_const_t___red, sizeof(__pyx_k_cudaMipmappedArray_const_t___red), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArray_const_t___set, __pyx_k_cudaMipmappedArray_const_t___set, sizeof(__pyx_k_cudaMipmappedArray_const_t___set), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArray_const_t_getPt, __pyx_k_cudaMipmappedArray_const_t_getPt, sizeof(__pyx_k_cudaMipmappedArray_const_t_getPt), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaMipmappedArray_t, __pyx_k_cudaMipmappedArray_t, sizeof(__pyx_k_cudaMipmappedArray_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaMipmappedArray_t_2, __pyx_k_cudaMipmappedArray_t_2, sizeof(__pyx_k_cudaMipmappedArray_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArray_t___reduce_cy, __pyx_k_cudaMipmappedArray_t___reduce_cy, sizeof(__pyx_k_cudaMipmappedArray_t___reduce_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArray_t___setstate, __pyx_k_cudaMipmappedArray_t___setstate, sizeof(__pyx_k_cudaMipmappedArray_t___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaMipmappedArray_t_getPtr, __pyx_k_cudaMipmappedArray_t_getPtr, sizeof(__pyx_k_cudaMipmappedArray_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaNvSciSyncAttrSignal, __pyx_k_cudaNvSciSyncAttrSignal, sizeof(__pyx_k_cudaNvSciSyncAttrSignal), 0, 0, 1, 1},
  {&__pyx_n_s_cudaNvSciSyncAttrWait, __pyx_k_cudaNvSciSyncAttrWait, sizeof(__pyx_k_cudaNvSciSyncAttrWait), 0, 0, 1, 1},
  {&__pyx_n_s_cudaOccupancyAvailableDynamicSMe, __pyx_k_cudaOccupancyAvailableDynamicSMe, sizeof(__pyx_k_cudaOccupancyAvailableDynamicSMe), 0, 0, 1, 1},
  {&__pyx_n_s_cudaOccupancyDefault, __pyx_k_cudaOccupancyDefault, sizeof(__pyx_k_cudaOccupancyDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaOccupancyDisableCachingOverr, __pyx_k_cudaOccupancyDisableCachingOverr, sizeof(__pyx_k_cudaOccupancyDisableCachingOverr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaOccupancyMaxActiveBlocksPerM, __pyx_k_cudaOccupancyMaxActiveBlocksPerM, sizeof(__pyx_k_cudaOccupancyMaxActiveBlocksPerM), 0, 0, 1, 1},
  {&__pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2, __pyx_k_cudaOccupancyMaxActiveBlocksPerM_2, sizeof(__pyx_k_cudaOccupancyMaxActiveBlocksPerM_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaOutputMode_t, __pyx_k_cudaOutputMode_t, sizeof(__pyx_k_cudaOutputMode_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPeekAtLastError, __pyx_k_cudaPeekAtLastError, sizeof(__pyx_k_cudaPeekAtLastError), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPeerAccessDefault, __pyx_k_cudaPeerAccessDefault, sizeof(__pyx_k_cudaPeerAccessDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPitchedPtr, __pyx_k_cudaPitchedPtr, sizeof(__pyx_k_cudaPitchedPtr), 0, 0, 1, 1},
  {&__pyx_n_u_cudaPitchedPtr, __pyx_k_cudaPitchedPtr, sizeof(__pyx_k_cudaPitchedPtr), 0, 1, 0, 1},
  {&__pyx_n_s_cudaPitchedPtr___reduce_cython, __pyx_k_cudaPitchedPtr___reduce_cython, sizeof(__pyx_k_cudaPitchedPtr___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPitchedPtr___setstate_cython, __pyx_k_cudaPitchedPtr___setstate_cython, sizeof(__pyx_k_cudaPitchedPtr___setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPitchedPtr_getPtr, __pyx_k_cudaPitchedPtr_getPtr, sizeof(__pyx_k_cudaPitchedPtr_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPointerAttributes, __pyx_k_cudaPointerAttributes, sizeof(__pyx_k_cudaPointerAttributes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPointerAttributes___reduce_c, __pyx_k_cudaPointerAttributes___reduce_c, sizeof(__pyx_k_cudaPointerAttributes___reduce_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPointerAttributes___setstate, __pyx_k_cudaPointerAttributes___setstate, sizeof(__pyx_k_cudaPointerAttributes___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPointerAttributes_getPtr, __pyx_k_cudaPointerAttributes_getPtr, sizeof(__pyx_k_cudaPointerAttributes_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPointerGetAttributes, __pyx_k_cudaPointerGetAttributes, sizeof(__pyx_k_cudaPointerGetAttributes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPos, __pyx_k_cudaPos, sizeof(__pyx_k_cudaPos), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPos___reduce_cython, __pyx_k_cudaPos___reduce_cython, sizeof(__pyx_k_cudaPos___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPos___setstate_cython, __pyx_k_cudaPos___setstate_cython, sizeof(__pyx_k_cudaPos___setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaPos_getPtr, __pyx_k_cudaPos_getPtr, sizeof(__pyx_k_cudaPos_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaProfilerInitialize, __pyx_k_cudaProfilerInitialize, sizeof(__pyx_k_cudaProfilerInitialize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaProfilerStart, __pyx_k_cudaProfilerStart, sizeof(__pyx_k_cudaProfilerStart), 0, 0, 1, 1},
  {&__pyx_n_s_cudaProfilerStop, __pyx_k_cudaProfilerStop, sizeof(__pyx_k_cudaProfilerStop), 0, 0, 1, 1},
  {&__pyx_n_s_cudaReadModeElementType, __pyx_k_cudaReadModeElementType, sizeof(__pyx_k_cudaReadModeElementType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaReadModeNormalizedFloat, __pyx_k_cudaReadModeNormalizedFloat, sizeof(__pyx_k_cudaReadModeNormalizedFloat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatFloat1, __pyx_k_cudaResViewFormatFloat1, sizeof(__pyx_k_cudaResViewFormatFloat1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatFloat2, __pyx_k_cudaResViewFormatFloat2, sizeof(__pyx_k_cudaResViewFormatFloat2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatFloat4, __pyx_k_cudaResViewFormatFloat4, sizeof(__pyx_k_cudaResViewFormatFloat4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatHalf1, __pyx_k_cudaResViewFormatHalf1, sizeof(__pyx_k_cudaResViewFormatHalf1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatHalf2, __pyx_k_cudaResViewFormatHalf2, sizeof(__pyx_k_cudaResViewFormatHalf2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatHalf4, __pyx_k_cudaResViewFormatHalf4, sizeof(__pyx_k_cudaResViewFormatHalf4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatNone, __pyx_k_cudaResViewFormatNone, sizeof(__pyx_k_cudaResViewFormatNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedBlockComp, __pyx_k_cudaResViewFormatSignedBlockComp, sizeof(__pyx_k_cudaResViewFormatSignedBlockComp), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedBlockComp_2, __pyx_k_cudaResViewFormatSignedBlockComp_2, sizeof(__pyx_k_cudaResViewFormatSignedBlockComp_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedBlockComp_3, __pyx_k_cudaResViewFormatSignedBlockComp_3, sizeof(__pyx_k_cudaResViewFormatSignedBlockComp_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedChar1, __pyx_k_cudaResViewFormatSignedChar1, sizeof(__pyx_k_cudaResViewFormatSignedChar1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedChar2, __pyx_k_cudaResViewFormatSignedChar2, sizeof(__pyx_k_cudaResViewFormatSignedChar2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedChar4, __pyx_k_cudaResViewFormatSignedChar4, sizeof(__pyx_k_cudaResViewFormatSignedChar4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedInt1, __pyx_k_cudaResViewFormatSignedInt1, sizeof(__pyx_k_cudaResViewFormatSignedInt1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedInt2, __pyx_k_cudaResViewFormatSignedInt2, sizeof(__pyx_k_cudaResViewFormatSignedInt2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedInt4, __pyx_k_cudaResViewFormatSignedInt4, sizeof(__pyx_k_cudaResViewFormatSignedInt4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedShort1, __pyx_k_cudaResViewFormatSignedShort1, sizeof(__pyx_k_cudaResViewFormatSignedShort1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedShort2, __pyx_k_cudaResViewFormatSignedShort2, sizeof(__pyx_k_cudaResViewFormatSignedShort2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatSignedShort4, __pyx_k_cudaResViewFormatSignedShort4, sizeof(__pyx_k_cudaResViewFormatSignedShort4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedBlockCo, __pyx_k_cudaResViewFormatUnsignedBlockCo, sizeof(__pyx_k_cudaResViewFormatUnsignedBlockCo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedBlockCo_2, __pyx_k_cudaResViewFormatUnsignedBlockCo_2, sizeof(__pyx_k_cudaResViewFormatUnsignedBlockCo_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedBlockCo_3, __pyx_k_cudaResViewFormatUnsignedBlockCo_3, sizeof(__pyx_k_cudaResViewFormatUnsignedBlockCo_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedBlockCo_4, __pyx_k_cudaResViewFormatUnsignedBlockCo_4, sizeof(__pyx_k_cudaResViewFormatUnsignedBlockCo_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedBlockCo_5, __pyx_k_cudaResViewFormatUnsignedBlockCo_5, sizeof(__pyx_k_cudaResViewFormatUnsignedBlockCo_5), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedBlockCo_6, __pyx_k_cudaResViewFormatUnsignedBlockCo_6, sizeof(__pyx_k_cudaResViewFormatUnsignedBlockCo_6), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedBlockCo_7, __pyx_k_cudaResViewFormatUnsignedBlockCo_7, sizeof(__pyx_k_cudaResViewFormatUnsignedBlockCo_7), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedChar1, __pyx_k_cudaResViewFormatUnsignedChar1, sizeof(__pyx_k_cudaResViewFormatUnsignedChar1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedChar2, __pyx_k_cudaResViewFormatUnsignedChar2, sizeof(__pyx_k_cudaResViewFormatUnsignedChar2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedChar4, __pyx_k_cudaResViewFormatUnsignedChar4, sizeof(__pyx_k_cudaResViewFormatUnsignedChar4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedInt1, __pyx_k_cudaResViewFormatUnsignedInt1, sizeof(__pyx_k_cudaResViewFormatUnsignedInt1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedInt2, __pyx_k_cudaResViewFormatUnsignedInt2, sizeof(__pyx_k_cudaResViewFormatUnsignedInt2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedInt4, __pyx_k_cudaResViewFormatUnsignedInt4, sizeof(__pyx_k_cudaResViewFormatUnsignedInt4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedShort1, __pyx_k_cudaResViewFormatUnsignedShort1, sizeof(__pyx_k_cudaResViewFormatUnsignedShort1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedShort2, __pyx_k_cudaResViewFormatUnsignedShort2, sizeof(__pyx_k_cudaResViewFormatUnsignedShort2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResViewFormatUnsignedShort4, __pyx_k_cudaResViewFormatUnsignedShort4, sizeof(__pyx_k_cudaResViewFormatUnsignedShort4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc, __pyx_k_cudaResourceDesc, sizeof(__pyx_k_cudaResourceDesc), 0, 0, 1, 1},
  {&__pyx_n_u_cudaResourceDesc, __pyx_k_cudaResourceDesc, sizeof(__pyx_k_cudaResourceDesc), 0, 1, 0, 1},
  {&__pyx_n_s_cudaResourceDesc___reduce_cython, __pyx_k_cudaResourceDesc___reduce_cython, sizeof(__pyx_k_cudaResourceDesc___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc___setstate_cyth, __pyx_k_cudaResourceDesc___setstate_cyth, sizeof(__pyx_k_cudaResourceDesc___setstate_cyth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_getPtr, __pyx_k_cudaResourceDesc_getPtr, sizeof(__pyx_k_cudaResourceDesc_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_array, __pyx_k_cudaResourceDesc_res_res_array, sizeof(__pyx_k_cudaResourceDesc_res_res_array), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_array_2, __pyx_k_cudaResourceDesc_res_res_array_2, sizeof(__pyx_k_cudaResourceDesc_res_res_array_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_array_3, __pyx_k_cudaResourceDesc_res_res_array_3, sizeof(__pyx_k_cudaResourceDesc_res_res_array_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_array_4, __pyx_k_cudaResourceDesc_res_res_array_4, sizeof(__pyx_k_cudaResourceDesc_res_res_array_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_linear, __pyx_k_cudaResourceDesc_res_res_linear, sizeof(__pyx_k_cudaResourceDesc_res_res_linear), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_linear_2, __pyx_k_cudaResourceDesc_res_res_linear_2, sizeof(__pyx_k_cudaResourceDesc_res_res_linear_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_linear_3, __pyx_k_cudaResourceDesc_res_res_linear_3, sizeof(__pyx_k_cudaResourceDesc_res_res_linear_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_linear_4, __pyx_k_cudaResourceDesc_res_res_linear_4, sizeof(__pyx_k_cudaResourceDesc_res_res_linear_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_mipmap, __pyx_k_cudaResourceDesc_res_res_mipmap, sizeof(__pyx_k_cudaResourceDesc_res_res_mipmap), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_mipmap_2, __pyx_k_cudaResourceDesc_res_res_mipmap_2, sizeof(__pyx_k_cudaResourceDesc_res_res_mipmap_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_mipmap_3, __pyx_k_cudaResourceDesc_res_res_mipmap_3, sizeof(__pyx_k_cudaResourceDesc_res_res_mipmap_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_mipmap_4, __pyx_k_cudaResourceDesc_res_res_mipmap_4, sizeof(__pyx_k_cudaResourceDesc_res_res_mipmap_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_pitch2, __pyx_k_cudaResourceDesc_res_res_pitch2, sizeof(__pyx_k_cudaResourceDesc_res_res_pitch2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_pitch2_2, __pyx_k_cudaResourceDesc_res_res_pitch2_2, sizeof(__pyx_k_cudaResourceDesc_res_res_pitch2_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_pitch2_3, __pyx_k_cudaResourceDesc_res_res_pitch2_3, sizeof(__pyx_k_cudaResourceDesc_res_res_pitch2_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_res_pitch2_4, __pyx_k_cudaResourceDesc_res_res_pitch2_4, sizeof(__pyx_k_cudaResourceDesc_res_res_pitch2_4), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_u, __pyx_k_cudaResourceDesc_res_u, sizeof(__pyx_k_cudaResourceDesc_res_u), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_u___reduce, __pyx_k_cudaResourceDesc_res_u___reduce, sizeof(__pyx_k_cudaResourceDesc_res_u___reduce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_u___setsta, __pyx_k_cudaResourceDesc_res_u___setsta, sizeof(__pyx_k_cudaResourceDesc_res_u___setsta), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceDesc_res_u_getPtr, __pyx_k_cudaResourceDesc_res_u_getPtr, sizeof(__pyx_k_cudaResourceDesc_res_u_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceType, __pyx_k_cudaResourceType, sizeof(__pyx_k_cudaResourceType), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceTypeArray, __pyx_k_cudaResourceTypeArray, sizeof(__pyx_k_cudaResourceTypeArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceTypeLinear, __pyx_k_cudaResourceTypeLinear, sizeof(__pyx_k_cudaResourceTypeLinear), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceTypeMipmappedArray, __pyx_k_cudaResourceTypeMipmappedArray, sizeof(__pyx_k_cudaResourceTypeMipmappedArray), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceTypePitch2D, __pyx_k_cudaResourceTypePitch2D, sizeof(__pyx_k_cudaResourceTypePitch2D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceViewDesc, __pyx_k_cudaResourceViewDesc, sizeof(__pyx_k_cudaResourceViewDesc), 0, 0, 1, 1},
  {&__pyx_n_u_cudaResourceViewDesc, __pyx_k_cudaResourceViewDesc, sizeof(__pyx_k_cudaResourceViewDesc), 0, 1, 0, 1},
  {&__pyx_n_s_cudaResourceViewDesc___reduce_cy, __pyx_k_cudaResourceViewDesc___reduce_cy, sizeof(__pyx_k_cudaResourceViewDesc___reduce_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceViewDesc___setstate, __pyx_k_cudaResourceViewDesc___setstate, sizeof(__pyx_k_cudaResourceViewDesc___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceViewDesc_getPtr, __pyx_k_cudaResourceViewDesc_getPtr, sizeof(__pyx_k_cudaResourceViewDesc_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaResourceViewFormat, __pyx_k_cudaResourceViewFormat, sizeof(__pyx_k_cudaResourceViewFormat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaRoundMinInf, __pyx_k_cudaRoundMinInf, sizeof(__pyx_k_cudaRoundMinInf), 0, 0, 1, 1},
  {&__pyx_n_s_cudaRoundMode, __pyx_k_cudaRoundMode, sizeof(__pyx_k_cudaRoundMode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaRoundNearest, __pyx_k_cudaRoundNearest, sizeof(__pyx_k_cudaRoundNearest), 0, 0, 1, 1},
  {&__pyx_n_s_cudaRoundPosInf, __pyx_k_cudaRoundPosInf, sizeof(__pyx_k_cudaRoundPosInf), 0, 0, 1, 1},
  {&__pyx_n_s_cudaRoundZero, __pyx_k_cudaRoundZero, sizeof(__pyx_k_cudaRoundZero), 0, 0, 1, 1},
  {&__pyx_n_s_cudaRuntimeGetVersion, __pyx_k_cudaRuntimeGetVersion, sizeof(__pyx_k_cudaRuntimeGetVersion), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSetDevice, __pyx_k_cudaSetDevice, sizeof(__pyx_k_cudaSetDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSetDeviceFlags, __pyx_k_cudaSetDeviceFlags, sizeof(__pyx_k_cudaSetDeviceFlags), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaSetDevice_line_11313, __pyx_k_cudaSetDevice_line_11313, sizeof(__pyx_k_cudaSetDevice_line_11313), 0, 1, 0, 0},
  {&__pyx_n_s_cudaSetDoubleForDevice, __pyx_k_cudaSetDoubleForDevice, sizeof(__pyx_k_cudaSetDoubleForDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSetDoubleForHost, __pyx_k_cudaSetDoubleForHost, sizeof(__pyx_k_cudaSetDoubleForHost), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedCarveout, __pyx_k_cudaSharedCarveout, sizeof(__pyx_k_cudaSharedCarveout), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedMemBankSizeDefault, __pyx_k_cudaSharedMemBankSizeDefault, sizeof(__pyx_k_cudaSharedMemBankSizeDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedMemBankSizeEightByte, __pyx_k_cudaSharedMemBankSizeEightByte, sizeof(__pyx_k_cudaSharedMemBankSizeEightByte), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedMemBankSizeFourByte, __pyx_k_cudaSharedMemBankSizeFourByte, sizeof(__pyx_k_cudaSharedMemBankSizeFourByte), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedMemConfig, __pyx_k_cudaSharedMemConfig, sizeof(__pyx_k_cudaSharedMemConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedmemCarveoutDefault, __pyx_k_cudaSharedmemCarveoutDefault, sizeof(__pyx_k_cudaSharedmemCarveoutDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedmemCarveoutMaxL1, __pyx_k_cudaSharedmemCarveoutMaxL1, sizeof(__pyx_k_cudaSharedmemCarveoutMaxL1), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSharedmemCarveoutMaxShared, __pyx_k_cudaSharedmemCarveoutMaxShared, sizeof(__pyx_k_cudaSharedmemCarveoutMaxShared), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSignalExternalSemaphoresAsyn, __pyx_k_cudaSignalExternalSemaphoresAsyn, sizeof(__pyx_k_cudaSignalExternalSemaphoresAsyn), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSignalExternalSemaphoresAsyn_2, __pyx_k_cudaSignalExternalSemaphoresAsyn_2, sizeof(__pyx_k_cudaSignalExternalSemaphoresAsyn_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAddCallback, __pyx_k_cudaStreamAddCallback, sizeof(__pyx_k_cudaStreamAddCallback), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAddCaptureDependencies, __pyx_k_cudaStreamAddCaptureDependencies, sizeof(__pyx_k_cudaStreamAddCaptureDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAttachMemAsync, __pyx_k_cudaStreamAttachMemAsync, sizeof(__pyx_k_cudaStreamAttachMemAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAttrID, __pyx_k_cudaStreamAttrID, sizeof(__pyx_k_cudaStreamAttrID), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAttrValue, __pyx_k_cudaStreamAttrValue, sizeof(__pyx_k_cudaStreamAttrValue), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAttributeAccessPolicyW, __pyx_k_cudaStreamAttributeAccessPolicyW, sizeof(__pyx_k_cudaStreamAttributeAccessPolicyW), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAttributeSynchronizati, __pyx_k_cudaStreamAttributeSynchronizati, sizeof(__pyx_k_cudaStreamAttributeSynchronizati), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamBeginCapture, __pyx_k_cudaStreamBeginCapture, sizeof(__pyx_k_cudaStreamBeginCapture), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaStreamCallback_t, __pyx_k_cudaStreamCallback_t, sizeof(__pyx_k_cudaStreamCallback_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaStreamCallback_t_2, __pyx_k_cudaStreamCallback_t_2, sizeof(__pyx_k_cudaStreamCallback_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCallback_t___reduce_cy, __pyx_k_cudaStreamCallback_t___reduce_cy, sizeof(__pyx_k_cudaStreamCallback_t___reduce_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCallback_t___setstate, __pyx_k_cudaStreamCallback_t___setstate, sizeof(__pyx_k_cudaStreamCallback_t___setstate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCallback_t_getPtr, __pyx_k_cudaStreamCallback_t_getPtr, sizeof(__pyx_k_cudaStreamCallback_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureMode, __pyx_k_cudaStreamCaptureMode, sizeof(__pyx_k_cudaStreamCaptureMode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureModeGlobal, __pyx_k_cudaStreamCaptureModeGlobal, sizeof(__pyx_k_cudaStreamCaptureModeGlobal), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureModeRelaxed, __pyx_k_cudaStreamCaptureModeRelaxed, sizeof(__pyx_k_cudaStreamCaptureModeRelaxed), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureModeThreadLocal, __pyx_k_cudaStreamCaptureModeThreadLocal, sizeof(__pyx_k_cudaStreamCaptureModeThreadLocal), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureStatus, __pyx_k_cudaStreamCaptureStatus, sizeof(__pyx_k_cudaStreamCaptureStatus), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureStatusActive, __pyx_k_cudaStreamCaptureStatusActive, sizeof(__pyx_k_cudaStreamCaptureStatusActive), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureStatusInvalidat, __pyx_k_cudaStreamCaptureStatusInvalidat, sizeof(__pyx_k_cudaStreamCaptureStatusInvalidat), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCaptureStatusNone, __pyx_k_cudaStreamCaptureStatusNone, sizeof(__pyx_k_cudaStreamCaptureStatusNone), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCopyAttributes, __pyx_k_cudaStreamCopyAttributes, sizeof(__pyx_k_cudaStreamCopyAttributes), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCreate, __pyx_k_cudaStreamCreate, sizeof(__pyx_k_cudaStreamCreate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCreateWithFlags, __pyx_k_cudaStreamCreateWithFlags, sizeof(__pyx_k_cudaStreamCreateWithFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamCreateWithPriority, __pyx_k_cudaStreamCreateWithPriority, sizeof(__pyx_k_cudaStreamCreateWithPriority), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamDefault, __pyx_k_cudaStreamDefault, sizeof(__pyx_k_cudaStreamDefault), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamDestroy, __pyx_k_cudaStreamDestroy, sizeof(__pyx_k_cudaStreamDestroy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamEndCapture, __pyx_k_cudaStreamEndCapture, sizeof(__pyx_k_cudaStreamEndCapture), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamGetAttribute, __pyx_k_cudaStreamGetAttribute, sizeof(__pyx_k_cudaStreamGetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamGetCaptureInfo, __pyx_k_cudaStreamGetCaptureInfo, sizeof(__pyx_k_cudaStreamGetCaptureInfo), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamGetCaptureInfo_v2, __pyx_k_cudaStreamGetCaptureInfo_v2, sizeof(__pyx_k_cudaStreamGetCaptureInfo_v2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamGetFlags, __pyx_k_cudaStreamGetFlags, sizeof(__pyx_k_cudaStreamGetFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamGetPriority, __pyx_k_cudaStreamGetPriority, sizeof(__pyx_k_cudaStreamGetPriority), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamIsCapturing, __pyx_k_cudaStreamIsCapturing, sizeof(__pyx_k_cudaStreamIsCapturing), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamLegacy, __pyx_k_cudaStreamLegacy, sizeof(__pyx_k_cudaStreamLegacy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamNonBlocking, __pyx_k_cudaStreamNonBlocking, sizeof(__pyx_k_cudaStreamNonBlocking), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamPerThread, __pyx_k_cudaStreamPerThread, sizeof(__pyx_k_cudaStreamPerThread), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamQuery, __pyx_k_cudaStreamQuery, sizeof(__pyx_k_cudaStreamQuery), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamSetAttribute, __pyx_k_cudaStreamSetAttribute, sizeof(__pyx_k_cudaStreamSetAttribute), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamSetCaptureDependencies, __pyx_k_cudaStreamSetCaptureDependencies, sizeof(__pyx_k_cudaStreamSetCaptureDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamSynchronize, __pyx_k_cudaStreamSynchronize, sizeof(__pyx_k_cudaStreamSynchronize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamUpdateCaptureDependenc, __pyx_k_cudaStreamUpdateCaptureDependenc, sizeof(__pyx_k_cudaStreamUpdateCaptureDependenc), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamUpdateCaptureDependenc_2, __pyx_k_cudaStreamUpdateCaptureDependenc_2, sizeof(__pyx_k_cudaStreamUpdateCaptureDependenc_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamUpdateCaptureDependenc_3, __pyx_k_cudaStreamUpdateCaptureDependenc_3, sizeof(__pyx_k_cudaStreamUpdateCaptureDependenc_3), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamWaitEvent, __pyx_k_cudaStreamWaitEvent, sizeof(__pyx_k_cudaStreamWaitEvent), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStream_t, __pyx_k_cudaStream_t, sizeof(__pyx_k_cudaStream_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSuccess, __pyx_k_cudaSuccess, sizeof(__pyx_k_cudaSuccess), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceBoundaryMode, __pyx_k_cudaSurfaceBoundaryMode, sizeof(__pyx_k_cudaSurfaceBoundaryMode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceFormatMode, __pyx_k_cudaSurfaceFormatMode, sizeof(__pyx_k_cudaSurfaceFormatMode), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaSurfaceObject_t, __pyx_k_cudaSurfaceObject_t, sizeof(__pyx_k_cudaSurfaceObject_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaSurfaceObject_t_2, __pyx_k_cudaSurfaceObject_t_2, sizeof(__pyx_k_cudaSurfaceObject_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceObject_t___reduce_cyt, __pyx_k_cudaSurfaceObject_t___reduce_cyt, sizeof(__pyx_k_cudaSurfaceObject_t___reduce_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceObject_t___setstate_c, __pyx_k_cudaSurfaceObject_t___setstate_c, sizeof(__pyx_k_cudaSurfaceObject_t___setstate_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceObject_t_getPtr, __pyx_k_cudaSurfaceObject_t_getPtr, sizeof(__pyx_k_cudaSurfaceObject_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceType1D, __pyx_k_cudaSurfaceType1D, sizeof(__pyx_k_cudaSurfaceType1D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceType1DLayered, __pyx_k_cudaSurfaceType1DLayered, sizeof(__pyx_k_cudaSurfaceType1DLayered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceType2D, __pyx_k_cudaSurfaceType2D, sizeof(__pyx_k_cudaSurfaceType2D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceType2DLayered, __pyx_k_cudaSurfaceType2DLayered, sizeof(__pyx_k_cudaSurfaceType2DLayered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceType3D, __pyx_k_cudaSurfaceType3D, sizeof(__pyx_k_cudaSurfaceType3D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceTypeCubemap, __pyx_k_cudaSurfaceTypeCubemap, sizeof(__pyx_k_cudaSurfaceTypeCubemap), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSurfaceTypeCubemapLayered, __pyx_k_cudaSurfaceTypeCubemapLayered, sizeof(__pyx_k_cudaSurfaceTypeCubemapLayered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSyncPolicyAuto, __pyx_k_cudaSyncPolicyAuto, sizeof(__pyx_k_cudaSyncPolicyAuto), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSyncPolicyBlockingSync, __pyx_k_cudaSyncPolicyBlockingSync, sizeof(__pyx_k_cudaSyncPolicyBlockingSync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSyncPolicySpin, __pyx_k_cudaSyncPolicySpin, sizeof(__pyx_k_cudaSyncPolicySpin), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSyncPolicyYield, __pyx_k_cudaSyncPolicyYield, sizeof(__pyx_k_cudaSyncPolicyYield), 0, 0, 1, 1},
  {&__pyx_n_s_cudaSynchronizationPolicy, __pyx_k_cudaSynchronizationPolicy, sizeof(__pyx_k_cudaSynchronizationPolicy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureAddressMode, __pyx_k_cudaTextureAddressMode, sizeof(__pyx_k_cudaTextureAddressMode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureDesc, __pyx_k_cudaTextureDesc, sizeof(__pyx_k_cudaTextureDesc), 0, 0, 1, 1},
  {&__pyx_n_u_cudaTextureDesc, __pyx_k_cudaTextureDesc, sizeof(__pyx_k_cudaTextureDesc), 0, 1, 0, 1},
  {&__pyx_n_s_cudaTextureDesc___reduce_cython, __pyx_k_cudaTextureDesc___reduce_cython, sizeof(__pyx_k_cudaTextureDesc___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureDesc___setstate_cytho, __pyx_k_cudaTextureDesc___setstate_cytho, sizeof(__pyx_k_cudaTextureDesc___setstate_cytho), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureDesc_getPtr, __pyx_k_cudaTextureDesc_getPtr, sizeof(__pyx_k_cudaTextureDesc_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureDesc_v2, __pyx_k_cudaTextureDesc_v2, sizeof(__pyx_k_cudaTextureDesc_v2), 0, 0, 1, 1},
  {&__pyx_n_u_cudaTextureDesc_v2, __pyx_k_cudaTextureDesc_v2, sizeof(__pyx_k_cudaTextureDesc_v2), 0, 1, 0, 1},
  {&__pyx_n_s_cudaTextureDesc_v2___reduce_cyth, __pyx_k_cudaTextureDesc_v2___reduce_cyth, sizeof(__pyx_k_cudaTextureDesc_v2___reduce_cyth), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureDesc_v2___setstate_cy, __pyx_k_cudaTextureDesc_v2___setstate_cy, sizeof(__pyx_k_cudaTextureDesc_v2___setstate_cy), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureDesc_v2_getPtr, __pyx_k_cudaTextureDesc_v2_getPtr, sizeof(__pyx_k_cudaTextureDesc_v2_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureFilterMode, __pyx_k_cudaTextureFilterMode, sizeof(__pyx_k_cudaTextureFilterMode), 0, 0, 1, 1},
  {&__pyx_kp_u_cudaTextureObject_t, __pyx_k_cudaTextureObject_t, sizeof(__pyx_k_cudaTextureObject_t), 0, 1, 0, 0},
  {&__pyx_n_s_cudaTextureObject_t_2, __pyx_k_cudaTextureObject_t_2, sizeof(__pyx_k_cudaTextureObject_t_2), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureObject_t___reduce_cyt, __pyx_k_cudaTextureObject_t___reduce_cyt, sizeof(__pyx_k_cudaTextureObject_t___reduce_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureObject_t___setstate_c, __pyx_k_cudaTextureObject_t___setstate_c, sizeof(__pyx_k_cudaTextureObject_t___setstate_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureObject_t_getPtr, __pyx_k_cudaTextureObject_t_getPtr, sizeof(__pyx_k_cudaTextureObject_t_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureReadMode, __pyx_k_cudaTextureReadMode, sizeof(__pyx_k_cudaTextureReadMode), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureType1D, __pyx_k_cudaTextureType1D, sizeof(__pyx_k_cudaTextureType1D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureType1DLayered, __pyx_k_cudaTextureType1DLayered, sizeof(__pyx_k_cudaTextureType1DLayered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureType2D, __pyx_k_cudaTextureType2D, sizeof(__pyx_k_cudaTextureType2D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureType2DLayered, __pyx_k_cudaTextureType2DLayered, sizeof(__pyx_k_cudaTextureType2DLayered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureType3D, __pyx_k_cudaTextureType3D, sizeof(__pyx_k_cudaTextureType3D), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureTypeCubemap, __pyx_k_cudaTextureTypeCubemap, sizeof(__pyx_k_cudaTextureTypeCubemap), 0, 0, 1, 1},
  {&__pyx_n_s_cudaTextureTypeCubemapLayered, __pyx_k_cudaTextureTypeCubemapLayered, sizeof(__pyx_k_cudaTextureTypeCubemapLayered), 0, 0, 1, 1},
  {&__pyx_n_s_cudaThreadExchangeStreamCaptureM, __pyx_k_cudaThreadExchangeStreamCaptureM, sizeof(__pyx_k_cudaThreadExchangeStreamCaptureM), 0, 0, 1, 1},
  {&__pyx_n_s_cudaThreadExit, __pyx_k_cudaThreadExit, sizeof(__pyx_k_cudaThreadExit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaThreadGetLimit, __pyx_k_cudaThreadGetLimit, sizeof(__pyx_k_cudaThreadGetLimit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaThreadSetLimit, __pyx_k_cudaThreadSetLimit, sizeof(__pyx_k_cudaThreadSetLimit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaThreadSynchronize, __pyx_k_cudaThreadSynchronize, sizeof(__pyx_k_cudaThreadSynchronize), 0, 0, 1, 1},
  {&__pyx_n_s_cudaUUID_t, __pyx_k_cudaUUID_t, sizeof(__pyx_k_cudaUUID_t), 0, 0, 1, 1},
  {&__pyx_n_u_cudaUUID_t, __pyx_k_cudaUUID_t, sizeof(__pyx_k_cudaUUID_t), 0, 1, 0, 1},
  {&__pyx_n_s_cudaUserObjectCreate, __pyx_k_cudaUserObjectCreate, sizeof(__pyx_k_cudaUserObjectCreate), 0, 0, 1, 1},
  {&__pyx_n_s_cudaUserObjectFlags, __pyx_k_cudaUserObjectFlags, sizeof(__pyx_k_cudaUserObjectFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaUserObjectNoDestructorSync, __pyx_k_cudaUserObjectNoDestructorSync, sizeof(__pyx_k_cudaUserObjectNoDestructorSync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaUserObjectRelease, __pyx_k_cudaUserObjectRelease, sizeof(__pyx_k_cudaUserObjectRelease), 0, 0, 1, 1},
  {&__pyx_n_s_cudaUserObjectRetain, __pyx_k_cudaUserObjectRetain, sizeof(__pyx_k_cudaUserObjectRetain), 0, 0, 1, 1},
  {&__pyx_n_s_cudaUserObjectRetainFlags, __pyx_k_cudaUserObjectRetainFlags, sizeof(__pyx_k_cudaUserObjectRetainFlags), 0, 0, 1, 1},
  {&__pyx_n_s_cudaUserObject_t, __pyx_k_cudaUserObject_t, sizeof(__pyx_k_cudaUserObject_t), 0, 0, 1, 1},
  {&__pyx_n_s_cudaVDPAUGetDevice, __pyx_k_cudaVDPAUGetDevice, sizeof(__pyx_k_cudaVDPAUGetDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaVDPAUSetVDPAUDevice, __pyx_k_cudaVDPAUSetVDPAUDevice, sizeof(__pyx_k_cudaVDPAUSetVDPAUDevice), 0, 0, 1, 1},
  {&__pyx_n_s_cudaWaitExternalSemaphoresAsync, __pyx_k_cudaWaitExternalSemaphoresAsync, sizeof(__pyx_k_cudaWaitExternalSemaphoresAsync), 0, 0, 1, 1},
  {&__pyx_n_s_cudaWaitExternalSemaphoresAsync_2, __pyx_k_cudaWaitExternalSemaphoresAsync_2, sizeof(__pyx_k_cudaWaitExternalSemaphoresAsync_2), 0, 0, 1, 1},
  {&__pyx_n_s_cuda_cuda, __pyx_k_cuda_cuda, sizeof(__pyx_k_cuda_cuda), 0, 0, 1, 1},
  {&__pyx_n_s_cuda_cudart, __pyx_k_cuda_cudart, sizeof(__pyx_k_cuda_cudart), 0, 0, 1, 1},
  {&__pyx_kp_s_cuda_cudart_pyx, __pyx_k_cuda_cudart_pyx, sizeof(__pyx_k_cuda_cudart_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_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_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
  {&__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_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1},
  {&__pyx_n_s_dependencies, __pyx_k_dependencies, sizeof(__pyx_k_dependencies), 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_desc, __pyx_k_desc, sizeof(__pyx_k_desc), 0, 1, 0, 0},
  {&__pyx_n_s_descList, __pyx_k_descList, sizeof(__pyx_k_descList), 0, 0, 1, 1},
  {&__pyx_n_s_desc_2, __pyx_k_desc_2, sizeof(__pyx_k_desc_2), 0, 0, 1, 1},
  {&__pyx_n_s_destroy, __pyx_k_destroy, sizeof(__pyx_k_destroy), 0, 0, 1, 1},
  {&__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_device, __pyx_k_device, sizeof(__pyx_k_device), 0, 1, 0, 0},
  {&__pyx_n_s_deviceList, __pyx_k_deviceList, sizeof(__pyx_k_deviceList), 0, 0, 1, 1},
  {&__pyx_kp_u_deviceOverlap, __pyx_k_deviceOverlap, sizeof(__pyx_k_deviceOverlap), 0, 1, 0, 0},
  {&__pyx_n_s_deviceOverlap_2, __pyx_k_deviceOverlap_2, sizeof(__pyx_k_deviceOverlap_2), 0, 0, 1, 1},
  {&__pyx_kp_u_devicePointer, __pyx_k_devicePointer, sizeof(__pyx_k_devicePointer), 0, 1, 0, 0},
  {&__pyx_n_s_devicePointer_2, __pyx_k_devicePointer_2, sizeof(__pyx_k_devicePointer_2), 0, 0, 1, 1},
  {&__pyx_n_s_device_2, __pyx_k_device_2, sizeof(__pyx_k_device_2), 0, 0, 1, 1},
  {&__pyx_n_s_dim3, __pyx_k_dim3, sizeof(__pyx_k_dim3), 0, 0, 1, 1},
  {&__pyx_n_s_dim3___reduce_cython, __pyx_k_dim3___reduce_cython, sizeof(__pyx_k_dim3___reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_dim3___setstate_cython, __pyx_k_dim3___setstate_cython, sizeof(__pyx_k_dim3___setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_dim3_getPtr, __pyx_k_dim3_getPtr, sizeof(__pyx_k_dim3_getPtr), 0, 0, 1, 1},
  {&__pyx_kp_u_directManagedMemAccessFromHost, __pyx_k_directManagedMemAccessFromHost, sizeof(__pyx_k_directManagedMemAccessFromHost), 0, 1, 0, 0},
  {&__pyx_n_s_directManagedMemAccessFromHost_2, __pyx_k_directManagedMemAccessFromHost_2, sizeof(__pyx_k_directManagedMemAccessFromHost_2), 0, 0, 1, 1},
  {&__pyx_kp_u_disableTrilinearOptimization, __pyx_k_disableTrilinearOptimization, sizeof(__pyx_k_disableTrilinearOptimization), 0, 1, 0, 0},
  {&__pyx_n_s_disableTrilinearOptimization_2, __pyx_k_disableTrilinearOptimization_2, sizeof(__pyx_k_disableTrilinearOptimization_2), 0, 0, 1, 1},
  {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
  {&__pyx_n_s_dpitch, __pyx_k_dpitch, sizeof(__pyx_k_dpitch), 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_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_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_dstPos, __pyx_k_dstPos, sizeof(__pyx_k_dstPos), 0, 1, 0, 0},
  {&__pyx_n_s_dstPos_2, __pyx_k_dstPos_2, sizeof(__pyx_k_dstPos_2), 0, 0, 1, 1},
  {&__pyx_kp_u_dstPtr, __pyx_k_dstPtr, sizeof(__pyx_k_dstPtr), 0, 1, 0, 0},
  {&__pyx_n_s_dstPtr_2, __pyx_k_dstPtr_2, sizeof(__pyx_k_dstPtr_2), 0, 0, 1, 1},
  {&__pyx_n_s_dst_2, __pyx_k_dst_2, sizeof(__pyx_k_dst_2), 0, 0, 1, 1},
  {&__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_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_n_s_eglFrame, __pyx_k_eglFrame, sizeof(__pyx_k_eglFrame), 0, 0, 1, 1},
  {&__pyx_n_s_eglStream, __pyx_k_eglStream, sizeof(__pyx_k_eglStream), 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_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
  {&__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_event, __pyx_k_event, sizeof(__pyx_k_event), 0, 1, 0, 0},
  {&__pyx_n_s_event_2, __pyx_k_event_2, sizeof(__pyx_k_event_2), 0, 0, 1, 1},
  {&__pyx_n_s_event_out, __pyx_k_event_out, sizeof(__pyx_k_event_out), 0, 0, 1, 1},
  {&__pyx_n_s_exportData, __pyx_k_exportData, sizeof(__pyx_k_exportData), 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_n_s_extSem_out, __pyx_k_extSem_out, sizeof(__pyx_k_extSem_out), 0, 0, 1, 1},
  {&__pyx_kp_u_extent, __pyx_k_extent, sizeof(__pyx_k_extent), 0, 1, 0, 0},
  {&__pyx_n_s_extent_2, __pyx_k_extent_2, sizeof(__pyx_k_extent_2), 0, 0, 1, 1},
  {&__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_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 1, 0, 0},
  {&__pyx_n_s_f_2, __pyx_k_f_2, sizeof(__pyx_k_f_2), 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_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_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_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_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_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_n_s_fmtDesc, __pyx_k_fmtDesc, sizeof(__pyx_k_fmtDesc), 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_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 1, 0, 0},
  {&__pyx_kp_u_formatDesc, __pyx_k_formatDesc, sizeof(__pyx_k_formatDesc), 0, 1, 0, 0},
  {&__pyx_n_s_formatDesc_2, __pyx_k_formatDesc_2, sizeof(__pyx_k_formatDesc_2), 0, 0, 1, 1},
  {&__pyx_n_s_format_2, __pyx_k_format_2, sizeof(__pyx_k_format_2), 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_n_s_frame_2, __pyx_k_frame_2, sizeof(__pyx_k_frame_2), 0, 0, 1, 1},
  {&__pyx_n_s_free, __pyx_k_free, sizeof(__pyx_k_free), 0, 0, 1, 1},
  {&__pyx_n_s_from, __pyx_k_from, sizeof(__pyx_k_from), 0, 0, 1, 1},
  {&__pyx_kp_u_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 1, 0, 0},
  {&__pyx_n_s_funcPtr, __pyx_k_funcPtr, sizeof(__pyx_k_funcPtr), 0, 0, 1, 1},
  {&__pyx_n_s_func_2, __pyx_k_func_2, sizeof(__pyx_k_func_2), 0, 0, 1, 1},
  {&__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_u_getPtr, __pyx_k_getPtr, sizeof(__pyx_k_getPtr), 0, 1, 0, 1},
  {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
  {&__pyx_kp_u_globalL1CacheSupported, __pyx_k_globalL1CacheSupported, sizeof(__pyx_k_globalL1CacheSupported), 0, 1, 0, 0},
  {&__pyx_n_s_globalL1CacheSupported_2, __pyx_k_globalL1CacheSupported_2, sizeof(__pyx_k_globalL1CacheSupported_2), 0, 0, 1, 1},
  {&__pyx_n_s_graph, __pyx_k_graph, sizeof(__pyx_k_graph), 0, 0, 1, 1},
  {&__pyx_n_s_graphExec, __pyx_k_graphExec, sizeof(__pyx_k_graphExec), 0, 0, 1, 1},
  {&__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_gridDim, __pyx_k_gridDim, sizeof(__pyx_k_gridDim), 0, 1, 0, 0},
  {&__pyx_n_s_gridDim_2, __pyx_k_gridDim_2, sizeof(__pyx_k_gridDim_2), 0, 0, 1, 1},
  {&__pyx_n_s_h, __pyx_k_h, sizeof(__pyx_k_h), 0, 0, 1, 1},
  {&__pyx_n_s_hArray, __pyx_k_hArray, sizeof(__pyx_k_hArray), 0, 0, 1, 1},
  {&__pyx_n_s_hDst, __pyx_k_hDst, sizeof(__pyx_k_hDst), 0, 0, 1, 1},
  {&__pyx_n_s_hErrorNode_out, __pyx_k_hErrorNode_out, sizeof(__pyx_k_hErrorNode_out), 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_n_s_hNode, __pyx_k_hNode, sizeof(__pyx_k_hNode), 0, 0, 1, 1},
  {&__pyx_n_s_hOffset, __pyx_k_hOffset, sizeof(__pyx_k_hOffset), 0, 0, 1, 1},
  {&__pyx_n_s_hOffsetDst, __pyx_k_hOffsetDst, sizeof(__pyx_k_hOffsetDst), 0, 0, 1, 1},
  {&__pyx_n_s_hOffsetSrc, __pyx_k_hOffsetSrc, sizeof(__pyx_k_hOffsetSrc), 0, 0, 1, 1},
  {&__pyx_n_s_hSrc, __pyx_k_hSrc, sizeof(__pyx_k_hSrc), 0, 0, 1, 1},
  {&__pyx_n_s_hStream, __pyx_k_hStream, sizeof(__pyx_k_hStream), 0, 0, 1, 1},
  {&__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_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_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_n_s_hex, __pyx_k_hex, sizeof(__pyx_k_hex), 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_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_hostNativeAtomicSupported, __pyx_k_hostNativeAtomicSupported, sizeof(__pyx_k_hostNativeAtomicSupported), 0, 1, 0, 0},
  {&__pyx_n_s_hostNativeAtomicSupported_2, __pyx_k_hostNativeAtomicSupported_2, sizeof(__pyx_k_hostNativeAtomicSupported_2), 0, 0, 1, 1},
  {&__pyx_kp_u_hostPointer, __pyx_k_hostPointer, sizeof(__pyx_k_hostPointer), 0, 1, 0, 0},
  {&__pyx_n_s_hostPointer_2, __pyx_k_hostPointer_2, sizeof(__pyx_k_hostPointer_2), 0, 0, 1, 1},
  {&__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_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_kp_s_impl_private_CUDA_error_types, __pyx_k_impl_private_CUDA_error_types, sizeof(__pyx_k_impl_private_CUDA_error_types), 0, 0, 1, 0},
  {&__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_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_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1},
  {&__pyx_kp_u_integrated, __pyx_k_integrated, sizeof(__pyx_k_integrated), 0, 1, 0, 0},
  {&__pyx_n_s_integrated_2, __pyx_k_integrated_2, sizeof(__pyx_k_integrated_2), 0, 0, 1, 1},
  {&__pyx_n_s_isEnabled, __pyx_k_isEnabled, sizeof(__pyx_k_isEnabled), 0, 0, 1, 1},
  {&__pyx_kp_u_isMultiGpuBoard, __pyx_k_isMultiGpuBoard, sizeof(__pyx_k_isMultiGpuBoard), 0, 1, 0, 0},
  {&__pyx_n_s_isMultiGpuBoard_2, __pyx_k_isMultiGpuBoard_2, sizeof(__pyx_k_isMultiGpuBoard_2), 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_kernelExecTimeoutEnabled, __pyx_k_kernelExecTimeoutEnabled, sizeof(__pyx_k_kernelExecTimeoutEnabled), 0, 1, 0, 0},
  {&__pyx_n_s_kernelExecTimeoutEnabled_2, __pyx_k_kernelExecTimeoutEnabled_2, sizeof(__pyx_k_kernelExecTimeoutEnabled_2), 0, 0, 1, 1},
  {&__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_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_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_kind, __pyx_k_kind, sizeof(__pyx_k_kind), 0, 1, 0, 0},
  {&__pyx_n_s_kind_2, __pyx_k_kind_2, sizeof(__pyx_k_kind_2), 0, 0, 1, 1},
  {&__pyx_kp_u_l2CacheSize, __pyx_k_l2CacheSize, sizeof(__pyx_k_l2CacheSize), 0, 1, 0, 0},
  {&__pyx_n_s_l2CacheSize_2, __pyx_k_l2CacheSize_2, sizeof(__pyx_k_l2CacheSize_2), 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_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_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_n_s_level, __pyx_k_level, sizeof(__pyx_k_level), 0, 0, 1, 1},
  {&__pyx_n_s_levelArray, __pyx_k_levelArray, sizeof(__pyx_k_levelArray), 0, 0, 1, 1},
  {&__pyx_n_s_libraryPropertyType, __pyx_k_libraryPropertyType, sizeof(__pyx_k_libraryPropertyType), 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_localL1CacheSupported, __pyx_k_localL1CacheSupported, sizeof(__pyx_k_localL1CacheSupported), 0, 1, 0, 0},
  {&__pyx_n_s_localL1CacheSupported_2, __pyx_k_localL1CacheSupported_2, sizeof(__pyx_k_localL1CacheSupported_2), 0, 0, 1, 1},
  {&__pyx_kp_u_localSizeBytes, __pyx_k_localSizeBytes, sizeof(__pyx_k_localSizeBytes), 0, 1, 0, 0},
  {&__pyx_n_s_localSizeBytes_2, __pyx_k_localSizeBytes_2, sizeof(__pyx_k_localSizeBytes_2), 0, 0, 1, 1},
  {&__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_luid, __pyx_k_luid, sizeof(__pyx_k_luid), 0, 1, 0, 0},
  {&__pyx_kp_u_luidDeviceNodeMask, __pyx_k_luidDeviceNodeMask, sizeof(__pyx_k_luidDeviceNodeMask), 0, 1, 0, 0},
  {&__pyx_n_s_luidDeviceNodeMask_2, __pyx_k_luidDeviceNodeMask_2, sizeof(__pyx_k_luidDeviceNodeMask_2), 0, 0, 1, 1},
  {&__pyx_n_s_luid_2, __pyx_k_luid_2, sizeof(__pyx_k_luid_2), 0, 0, 1, 1},
  {&__pyx_kp_u_luid_length_must_be_8_is, __pyx_k_luid_length_must_be_8_is, sizeof(__pyx_k_luid_length_must_be_8_is), 0, 1, 0, 0},
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
  {&__pyx_kp_u_major, __pyx_k_major, sizeof(__pyx_k_major), 0, 1, 0, 0},
  {&__pyx_n_s_major_2, __pyx_k_major_2, sizeof(__pyx_k_major_2), 0, 0, 1, 1},
  {&__pyx_n_s_make_cudaExtent, __pyx_k_make_cudaExtent, sizeof(__pyx_k_make_cudaExtent), 0, 0, 1, 1},
  {&__pyx_n_s_make_cudaPitchedPtr, __pyx_k_make_cudaPitchedPtr, sizeof(__pyx_k_make_cudaPitchedPtr), 0, 0, 1, 1},
  {&__pyx_n_s_make_cudaPos, __pyx_k_make_cudaPos, sizeof(__pyx_k_make_cudaPos), 0, 0, 1, 1},
  {&__pyx_kp_u_managedMemory, __pyx_k_managedMemory, sizeof(__pyx_k_managedMemory), 0, 1, 0, 0},
  {&__pyx_n_s_managedMemory_2, __pyx_k_managedMemory_2, sizeof(__pyx_k_managedMemory_2), 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_maxBlocksPerMultiProcessor, __pyx_k_maxBlocksPerMultiProcessor, sizeof(__pyx_k_maxBlocksPerMultiProcessor), 0, 1, 0, 0},
  {&__pyx_n_s_maxBlocksPerMultiProcessor_2, __pyx_k_maxBlocksPerMultiProcessor_2, sizeof(__pyx_k_maxBlocksPerMultiProcessor_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxDynamicSharedSizeBytes, __pyx_k_maxDynamicSharedSizeBytes, sizeof(__pyx_k_maxDynamicSharedSizeBytes), 0, 1, 0, 0},
  {&__pyx_n_s_maxDynamicSharedSizeBytes_2, __pyx_k_maxDynamicSharedSizeBytes_2, sizeof(__pyx_k_maxDynamicSharedSizeBytes_2), 0, 0, 1, 1},
  {&__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_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_maxSurface1D, __pyx_k_maxSurface1D, sizeof(__pyx_k_maxSurface1D), 0, 1, 0, 0},
  {&__pyx_kp_u_maxSurface1DLayered, __pyx_k_maxSurface1DLayered, sizeof(__pyx_k_maxSurface1DLayered), 0, 1, 0, 0},
  {&__pyx_n_s_maxSurface1DLayered_2, __pyx_k_maxSurface1DLayered_2, sizeof(__pyx_k_maxSurface1DLayered_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxSurface1D_2, __pyx_k_maxSurface1D_2, sizeof(__pyx_k_maxSurface1D_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxSurface2D, __pyx_k_maxSurface2D, sizeof(__pyx_k_maxSurface2D), 0, 1, 0, 0},
  {&__pyx_kp_u_maxSurface2DLayered, __pyx_k_maxSurface2DLayered, sizeof(__pyx_k_maxSurface2DLayered), 0, 1, 0, 0},
  {&__pyx_n_s_maxSurface2DLayered_2, __pyx_k_maxSurface2DLayered_2, sizeof(__pyx_k_maxSurface2DLayered_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxSurface2D_2, __pyx_k_maxSurface2D_2, sizeof(__pyx_k_maxSurface2D_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxSurface3D, __pyx_k_maxSurface3D, sizeof(__pyx_k_maxSurface3D), 0, 1, 0, 0},
  {&__pyx_n_s_maxSurface3D_2, __pyx_k_maxSurface3D_2, sizeof(__pyx_k_maxSurface3D_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxSurfaceCubemap, __pyx_k_maxSurfaceCubemap, sizeof(__pyx_k_maxSurfaceCubemap), 0, 1, 0, 0},
  {&__pyx_kp_u_maxSurfaceCubemapLayered, __pyx_k_maxSurfaceCubemapLayered, sizeof(__pyx_k_maxSurfaceCubemapLayered), 0, 1, 0, 0},
  {&__pyx_n_s_maxSurfaceCubemapLayered_2, __pyx_k_maxSurfaceCubemapLayered_2, sizeof(__pyx_k_maxSurfaceCubemapLayered_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxSurfaceCubemap_2, __pyx_k_maxSurfaceCubemap_2, sizeof(__pyx_k_maxSurfaceCubemap_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture1D, __pyx_k_maxTexture1D, sizeof(__pyx_k_maxTexture1D), 0, 1, 0, 0},
  {&__pyx_kp_u_maxTexture1DLayered, __pyx_k_maxTexture1DLayered, sizeof(__pyx_k_maxTexture1DLayered), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture1DLayered_2, __pyx_k_maxTexture1DLayered_2, sizeof(__pyx_k_maxTexture1DLayered_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture1DLinear, __pyx_k_maxTexture1DLinear, sizeof(__pyx_k_maxTexture1DLinear), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture1DLinear_2, __pyx_k_maxTexture1DLinear_2, sizeof(__pyx_k_maxTexture1DLinear_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture1DMipmap, __pyx_k_maxTexture1DMipmap, sizeof(__pyx_k_maxTexture1DMipmap), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture1DMipmap_2, __pyx_k_maxTexture1DMipmap_2, sizeof(__pyx_k_maxTexture1DMipmap_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxTexture1D_2, __pyx_k_maxTexture1D_2, sizeof(__pyx_k_maxTexture1D_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture2D, __pyx_k_maxTexture2D, sizeof(__pyx_k_maxTexture2D), 0, 1, 0, 0},
  {&__pyx_kp_u_maxTexture2DGather, __pyx_k_maxTexture2DGather, sizeof(__pyx_k_maxTexture2DGather), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture2DGather_2, __pyx_k_maxTexture2DGather_2, sizeof(__pyx_k_maxTexture2DGather_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture2DLayered, __pyx_k_maxTexture2DLayered, sizeof(__pyx_k_maxTexture2DLayered), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture2DLayered_2, __pyx_k_maxTexture2DLayered_2, sizeof(__pyx_k_maxTexture2DLayered_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture2DLinear, __pyx_k_maxTexture2DLinear, sizeof(__pyx_k_maxTexture2DLinear), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture2DLinear_2, __pyx_k_maxTexture2DLinear_2, sizeof(__pyx_k_maxTexture2DLinear_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture2DMipmap, __pyx_k_maxTexture2DMipmap, sizeof(__pyx_k_maxTexture2DMipmap), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture2DMipmap_2, __pyx_k_maxTexture2DMipmap_2, sizeof(__pyx_k_maxTexture2DMipmap_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxTexture2D_2, __pyx_k_maxTexture2D_2, sizeof(__pyx_k_maxTexture2D_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTexture3D, __pyx_k_maxTexture3D, sizeof(__pyx_k_maxTexture3D), 0, 1, 0, 0},
  {&__pyx_kp_u_maxTexture3DAlt, __pyx_k_maxTexture3DAlt, sizeof(__pyx_k_maxTexture3DAlt), 0, 1, 0, 0},
  {&__pyx_n_s_maxTexture3DAlt_2, __pyx_k_maxTexture3DAlt_2, sizeof(__pyx_k_maxTexture3DAlt_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxTexture3D_2, __pyx_k_maxTexture3D_2, sizeof(__pyx_k_maxTexture3D_2), 0, 0, 1, 1},
  {&__pyx_kp_u_maxTextureCubemap, __pyx_k_maxTextureCubemap, sizeof(__pyx_k_maxTextureCubemap), 0, 1, 0, 0},
  {&__pyx_kp_u_maxTextureCubemapLayered, __pyx_k_maxTextureCubemapLayered, sizeof(__pyx_k_maxTextureCubemapLayered), 0, 1, 0, 0},
  {&__pyx_n_s_maxTextureCubemapLayered_2, __pyx_k_maxTextureCubemapLayered_2, sizeof(__pyx_k_maxTextureCubemapLayered_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxTextureCubemap_2, __pyx_k_maxTextureCubemap_2, sizeof(__pyx_k_maxTextureCubemap_2), 0, 0, 1, 1},
  {&__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_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_maxThreadsPerMultiProcessor, __pyx_k_maxThreadsPerMultiProcessor, sizeof(__pyx_k_maxThreadsPerMultiProcessor), 0, 1, 0, 0},
  {&__pyx_n_s_maxThreadsPerMultiProcessor_2, __pyx_k_maxThreadsPerMultiProcessor_2, sizeof(__pyx_k_maxThreadsPerMultiProcessor_2), 0, 0, 1, 1},
  {&__pyx_n_s_maxWidthInElements, __pyx_k_maxWidthInElements, sizeof(__pyx_k_maxWidthInElements), 0, 0, 1, 1},
  {&__pyx_n_s_memHandleDesc, __pyx_k_memHandleDesc, sizeof(__pyx_k_memHandleDesc), 0, 0, 1, 1},
  {&__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_n_s_memPool, __pyx_k_memPool, sizeof(__pyx_k_memPool), 0, 0, 1, 1},
  {&__pyx_kp_u_memoryBusWidth, __pyx_k_memoryBusWidth, sizeof(__pyx_k_memoryBusWidth), 0, 1, 0, 0},
  {&__pyx_n_s_memoryBusWidth_2, __pyx_k_memoryBusWidth_2, sizeof(__pyx_k_memoryBusWidth_2), 0, 0, 1, 1},
  {&__pyx_kp_u_memoryClockRate, __pyx_k_memoryClockRate, sizeof(__pyx_k_memoryClockRate), 0, 1, 0, 0},
  {&__pyx_n_s_memoryClockRate_2, __pyx_k_memoryClockRate_2, sizeof(__pyx_k_memoryClockRate_2), 0, 0, 1, 1},
  {&__pyx_n_s_memoryRequirements, __pyx_k_memoryRequirements, sizeof(__pyx_k_memoryRequirements), 0, 0, 1, 1},
  {&__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_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_minor, __pyx_k_minor, sizeof(__pyx_k_minor), 0, 1, 0, 0},
  {&__pyx_n_s_minor_2, __pyx_k_minor_2, sizeof(__pyx_k_minor_2), 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_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_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_n_s_mipmappedArray, __pyx_k_mipmappedArray, sizeof(__pyx_k_mipmappedArray), 0, 0, 1, 1},
  {&__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_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_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_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_ms, __pyx_k_ms, sizeof(__pyx_k_ms), 0, 0, 1, 1},
  {&__pyx_kp_u_multiGpuBoardGroupID, __pyx_k_multiGpuBoardGroupID, sizeof(__pyx_k_multiGpuBoardGroupID), 0, 1, 0, 0},
  {&__pyx_n_s_multiGpuBoardGroupID_2, __pyx_k_multiGpuBoardGroupID_2, sizeof(__pyx_k_multiGpuBoardGroupID_2), 0, 0, 1, 1},
  {&__pyx_kp_u_multiProcessorCount, __pyx_k_multiProcessorCount, sizeof(__pyx_k_multiProcessorCount), 0, 1, 0, 0},
  {&__pyx_n_s_multiProcessorCount_2, __pyx_k_multiProcessorCount_2, sizeof(__pyx_k_multiProcessorCount_2), 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_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_node, __pyx_k_node, sizeof(__pyx_k_node), 0, 0, 1, 1},
  {&__pyx_n_s_nodeParams, __pyx_k_nodeParams, sizeof(__pyx_k_nodeParams), 0, 0, 1, 1},
  {&__pyx_kp_u_normalizedCoords, __pyx_k_normalizedCoords, sizeof(__pyx_k_normalizedCoords), 0, 1, 0, 0},
  {&__pyx_n_s_normalizedCoords_2, __pyx_k_normalizedCoords_2, sizeof(__pyx_k_normalizedCoords_2), 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_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_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_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_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_n_s_numNodes, __pyx_k_numNodes, sizeof(__pyx_k_numNodes), 0, 0, 1, 1},
  {&__pyx_kp_u_numRegs, __pyx_k_numRegs, sizeof(__pyx_k_numRegs), 0, 1, 0, 0},
  {&__pyx_n_s_numRegs_2, __pyx_k_numRegs_2, sizeof(__pyx_k_numRegs_2), 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_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_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_n_s_nvSciSync_2, __pyx_k_nvSciSync_2, sizeof(__pyx_k_nvSciSync_2), 0, 0, 1, 1},
  {&__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_n_s_offset_2, __pyx_k_offset_2, sizeof(__pyx_k_offset_2), 0, 0, 1, 1},
  {&__pyx_n_s_originalGraph, __pyx_k_originalGraph, sizeof(__pyx_k_originalGraph), 0, 0, 1, 1},
  {&__pyx_n_s_originalNode, __pyx_k_originalNode, sizeof(__pyx_k_originalNode), 0, 0, 1, 1},
  {&__pyx_n_s_outputFile, __pyx_k_outputFile, sizeof(__pyx_k_outputFile), 0, 0, 1, 1},
  {&__pyx_n_s_outputMode, __pyx_k_outputMode, sizeof(__pyx_k_outputMode), 0, 0, 1, 1},
  {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1},
  {&__pyx_kp_u_pArray, __pyx_k_pArray, sizeof(__pyx_k_pArray), 0, 1, 0, 0},
  {&__pyx_n_s_pArray_2, __pyx_k_pArray_2, sizeof(__pyx_k_pArray_2), 0, 0, 1, 1},
  {&__pyx_n_s_pCacheConfig, __pyx_k_pCacheConfig, sizeof(__pyx_k_pCacheConfig), 0, 0, 1, 1},
  {&__pyx_n_s_pCaptureStatus, __pyx_k_pCaptureStatus, sizeof(__pyx_k_pCaptureStatus), 0, 0, 1, 1},
  {&__pyx_n_s_pConfig, __pyx_k_pConfig, sizeof(__pyx_k_pConfig), 0, 0, 1, 1},
  {&__pyx_n_s_pCopyParams, __pyx_k_pCopyParams, sizeof(__pyx_k_pCopyParams), 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_pDependencies, __pyx_k_pDependencies, sizeof(__pyx_k_pDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_pDevice, __pyx_k_pDevice, sizeof(__pyx_k_pDevice), 0, 0, 1, 1},
  {&__pyx_n_s_pErrorNode, __pyx_k_pErrorNode, sizeof(__pyx_k_pErrorNode), 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_pGraph, __pyx_k_pGraph, sizeof(__pyx_k_pGraph), 0, 0, 1, 1},
  {&__pyx_n_s_pGraphClone, __pyx_k_pGraphClone, sizeof(__pyx_k_pGraphClone), 0, 0, 1, 1},
  {&__pyx_n_s_pGraphExec, __pyx_k_pGraphExec, sizeof(__pyx_k_pGraphExec), 0, 0, 1, 1},
  {&__pyx_n_s_pGraphNode, __pyx_k_pGraphNode, sizeof(__pyx_k_pGraphNode), 0, 0, 1, 1},
  {&__pyx_n_s_pHost, __pyx_k_pHost, sizeof(__pyx_k_pHost), 0, 0, 1, 1},
  {&__pyx_n_s_pId, __pyx_k_pId, sizeof(__pyx_k_pId), 0, 0, 1, 1},
  {&__pyx_n_s_pLogBuffer, __pyx_k_pLogBuffer, sizeof(__pyx_k_pLogBuffer), 0, 0, 1, 1},
  {&__pyx_n_s_pMemsetParams, __pyx_k_pMemsetParams, sizeof(__pyx_k_pMemsetParams), 0, 0, 1, 1},
  {&__pyx_n_s_pNode, __pyx_k_pNode, sizeof(__pyx_k_pNode), 0, 0, 1, 1},
  {&__pyx_n_s_pNodeParams, __pyx_k_pNodeParams, sizeof(__pyx_k_pNodeParams), 0, 0, 1, 1},
  {&__pyx_n_s_pNumDependencies, __pyx_k_pNumDependencies, sizeof(__pyx_k_pNumDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_pNumDependentNodes, __pyx_k_pNumDependentNodes, sizeof(__pyx_k_pNumDependentNodes), 0, 0, 1, 1},
  {&__pyx_n_s_pNumRootNodes, __pyx_k_pNumRootNodes, sizeof(__pyx_k_pNumRootNodes), 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_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_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_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_pType, __pyx_k_pType, sizeof(__pyx_k_pType), 0, 0, 1, 1},
  {&__pyx_n_s_pValue, __pyx_k_pValue, sizeof(__pyx_k_pValue), 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_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_kp_u_pageableMemoryAccess, __pyx_k_pageableMemoryAccess, sizeof(__pyx_k_pageableMemoryAccess), 0, 1, 0, 0},
  {&__pyx_kp_u_pageableMemoryAccessUsesHostPage, __pyx_k_pageableMemoryAccessUsesHostPage, sizeof(__pyx_k_pageableMemoryAccessUsesHostPage), 0, 1, 0, 0},
  {&__pyx_n_s_pageableMemoryAccessUsesHostPage_2, __pyx_k_pageableMemoryAccessUsesHostPage_2, sizeof(__pyx_k_pageableMemoryAccessUsesHostPage_2), 0, 0, 1, 1},
  {&__pyx_n_s_pageableMemoryAccess_2, __pyx_k_pageableMemoryAccess_2, sizeof(__pyx_k_pageableMemoryAccess_2), 0, 0, 1, 1},
  {&__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_n_s_params_2, __pyx_k_params_2, sizeof(__pyx_k_params_2), 0, 0, 1, 1},
  {&__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_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_pchildGraph, __pyx_k_pchildGraph, sizeof(__pyx_k_pchildGraph), 0, 0, 1, 1},
  {&__pyx_kp_u_pciBusID, __pyx_k_pciBusID, sizeof(__pyx_k_pciBusID), 0, 1, 0, 0},
  {&__pyx_n_s_pciBusID_2, __pyx_k_pciBusID_2, sizeof(__pyx_k_pciBusID_2), 0, 0, 1, 1},
  {&__pyx_n_s_pciBusId, __pyx_k_pciBusId, sizeof(__pyx_k_pciBusId), 0, 0, 1, 1},
  {&__pyx_kp_u_pciDeviceID, __pyx_k_pciDeviceID, sizeof(__pyx_k_pciDeviceID), 0, 1, 0, 0},
  {&__pyx_n_s_pciDeviceID_2, __pyx_k_pciDeviceID_2, sizeof(__pyx_k_pciDeviceID_2), 0, 0, 1, 1},
  {&__pyx_kp_u_pciDomainID, __pyx_k_pciDomainID, sizeof(__pyx_k_pciDomainID), 0, 1, 0, 0},
  {&__pyx_n_s_pciDomainID_2, __pyx_k_pciDomainID_2, sizeof(__pyx_k_pciDomainID_2), 0, 0, 1, 1},
  {&__pyx_n_s_pclonedGraph, __pyx_k_pclonedGraph, sizeof(__pyx_k_pclonedGraph), 0, 0, 1, 1},
  {&__pyx_n_s_pconn, __pyx_k_pconn, sizeof(__pyx_k_pconn), 0, 0, 1, 1},
  {&__pyx_n_s_pdestroy, __pyx_k_pdestroy, sizeof(__pyx_k_pdestroy), 0, 0, 1, 1},
  {&__pyx_n_s_pdst, __pyx_k_pdst, sizeof(__pyx_k_pdst), 0, 0, 1, 1},
  {&__pyx_n_s_peerDevice, __pyx_k_peerDevice, sizeof(__pyx_k_peerDevice), 0, 0, 1, 1},
  {&__pyx_n_s_peglStream, __pyx_k_peglStream, sizeof(__pyx_k_peglStream), 0, 0, 1, 1},
  {&__pyx_n_s_peglSync, __pyx_k_peglSync, sizeof(__pyx_k_peglSync), 0, 0, 1, 1},
  {&__pyx_n_s_pend, __pyx_k_pend, sizeof(__pyx_k_pend), 0, 0, 1, 1},
  {&__pyx_kp_u_persistingL2CacheMaxSize, __pyx_k_persistingL2CacheMaxSize, sizeof(__pyx_k_persistingL2CacheMaxSize), 0, 1, 0, 0},
  {&__pyx_n_s_persistingL2CacheMaxSize_2, __pyx_k_persistingL2CacheMaxSize_2, sizeof(__pyx_k_persistingL2CacheMaxSize_2), 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_pfn, __pyx_k_pfn, sizeof(__pyx_k_pfn), 0, 0, 1, 1},
  {&__pyx_n_s_pgraph, __pyx_k_pgraph, sizeof(__pyx_k_pgraph), 0, 0, 1, 1},
  {&__pyx_n_s_pgraphExec, __pyx_k_pgraphExec, sizeof(__pyx_k_pgraphExec), 0, 0, 1, 1},
  {&__pyx_n_s_phArray, __pyx_k_phArray, sizeof(__pyx_k_phArray), 0, 0, 1, 1},
  {&__pyx_n_s_phDst, __pyx_k_phDst, sizeof(__pyx_k_phDst), 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_phGraphExec, __pyx_k_phGraphExec, sizeof(__pyx_k_phGraphExec), 0, 0, 1, 1},
  {&__pyx_n_s_phNode, __pyx_k_phNode, sizeof(__pyx_k_phNode), 0, 0, 1, 1},
  {&__pyx_n_s_phSrc, __pyx_k_phSrc, sizeof(__pyx_k_phSrc), 0, 0, 1, 1},
  {&__pyx_n_s_phStream, __pyx_k_phStream, sizeof(__pyx_k_phStream), 0, 0, 1, 1},
  {&__pyx_n_s_pheight, __pyx_k_pheight, sizeof(__pyx_k_pheight), 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_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_n_s_pitch_2, __pyx_k_pitch_2, sizeof(__pyx_k_pitch_2), 0, 0, 1, 1},
  {&__pyx_n_s_pitchedDevPtr, __pyx_k_pitchedDevPtr, sizeof(__pyx_k_pitchedDevPtr), 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_planeDesc, __pyx_k_planeDesc, sizeof(__pyx_k_planeDesc), 0, 1, 0, 0},
  {&__pyx_n_s_planeDesc_2, __pyx_k_planeDesc_2, sizeof(__pyx_k_planeDesc_2), 0, 0, 1, 1},
  {&__pyx_n_s_planeIdx, __pyx_k_planeIdx, sizeof(__pyx_k_planeIdx), 0, 0, 1, 1},
  {&__pyx_n_s_pmemPool, __pyx_k_pmemPool, sizeof(__pyx_k_pmemPool), 0, 0, 1, 1},
  {&__pyx_n_s_pmipmap, __pyx_k_pmipmap, sizeof(__pyx_k_pmipmap), 0, 0, 1, 1},
  {&__pyx_n_s_pmipmappedArray, __pyx_k_pmipmappedArray, sizeof(__pyx_k_pmipmappedArray), 0, 0, 1, 1},
  {&__pyx_n_s_pnode, __pyx_k_pnode, sizeof(__pyx_k_pnode), 0, 0, 1, 1},
  {&__pyx_n_s_pobject, __pyx_k_pobject, sizeof(__pyx_k_pobject), 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_n_s_poriginalGraph, __pyx_k_poriginalGraph, sizeof(__pyx_k_poriginalGraph), 0, 0, 1, 1},
  {&__pyx_n_s_poriginalNode, __pyx_k_poriginalNode, sizeof(__pyx_k_poriginalNode), 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_kp_u_preferredShmemCarveout, __pyx_k_preferredShmemCarveout, sizeof(__pyx_k_preferredShmemCarveout), 0, 1, 0, 0},
  {&__pyx_n_s_preferredShmemCarveout_2, __pyx_k_preferredShmemCarveout_2, sizeof(__pyx_k_preferredShmemCarveout_2), 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_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_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_n_s_prop, __pyx_k_prop, sizeof(__pyx_k_prop), 0, 0, 1, 1},
  {&__pyx_n_s_psrc, __pyx_k_psrc, sizeof(__pyx_k_psrc), 0, 0, 1, 1},
  {&__pyx_n_s_pstart, __pyx_k_pstart, sizeof(__pyx_k_pstart), 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_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_kp_u_ptr_2, __pyx_k_ptr_2, sizeof(__pyx_k_ptr_2), 0, 1, 0, 0},
  {&__pyx_n_s_ptr_3, __pyx_k_ptr_3, sizeof(__pyx_k_ptr_3), 0, 0, 1, 1},
  {&__pyx_kp_u_ptxVersion, __pyx_k_ptxVersion, sizeof(__pyx_k_ptxVersion), 0, 1, 0, 0},
  {&__pyx_n_s_ptxVersion_2, __pyx_k_ptxVersion_2, sizeof(__pyx_k_ptxVersion_2), 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_out, __pyx_k_pydependencies_out, sizeof(__pyx_k_pydependencies_out), 0, 0, 1, 1},
  {&__pyx_n_s_pyfrom, __pyx_k_pyfrom, sizeof(__pyx_k_pyfrom), 0, 0, 1, 1},
  {&__pyx_n_s_pylist, __pyx_k_pylist, sizeof(__pyx_k_pylist), 0, 0, 1, 1},
  {&__pyx_n_s_pynodes, __pyx_k_pynodes, sizeof(__pyx_k_pynodes), 0, 0, 1, 1},
  {&__pyx_n_s_pypCudaDevices, __pyx_k_pypCudaDevices, sizeof(__pyx_k_pypCudaDevices), 0, 0, 1, 1},
  {&__pyx_n_s_pypDependencies, __pyx_k_pypDependencies, sizeof(__pyx_k_pypDependencies), 0, 0, 1, 1},
  {&__pyx_n_s_pypDependentNodes, __pyx_k_pypDependentNodes, sizeof(__pyx_k_pypDependentNodes), 0, 0, 1, 1},
  {&__pyx_n_s_pypRootNodes, __pyx_k_pypRootNodes, sizeof(__pyx_k_pypRootNodes), 0, 0, 1, 1},
  {&__pyx_n_s_pypciBusId, __pyx_k_pypciBusId, sizeof(__pyx_k_pypciBusId), 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_kp_u_readMode, __pyx_k_readMode, sizeof(__pyx_k_readMode), 0, 1, 0, 0},
  {&__pyx_n_s_readMode_2, __pyx_k_readMode_2, sizeof(__pyx_k_readMode_2), 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_regsPerMultiprocessor, __pyx_k_regsPerMultiprocessor, sizeof(__pyx_k_regsPerMultiprocessor), 0, 1, 0, 0},
  {&__pyx_n_s_regsPerMultiprocessor_2, __pyx_k_regsPerMultiprocessor_2, sizeof(__pyx_k_regsPerMultiprocessor_2), 0, 0, 1, 1},
  {&__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_n_s_res_2, __pyx_k_res_2, sizeof(__pyx_k_res_2), 0, 0, 1, 1},
  {&__pyx_kp_u_reserved, __pyx_k_reserved, sizeof(__pyx_k_reserved), 0, 1, 0, 0},
  {&__pyx_kp_u_reservedSharedMemPerBlock, __pyx_k_reservedSharedMemPerBlock, sizeof(__pyx_k_reservedSharedMemPerBlock), 0, 1, 0, 0},
  {&__pyx_n_s_reservedSharedMemPerBlock_2, __pyx_k_reservedSharedMemPerBlock_2, sizeof(__pyx_k_reservedSharedMemPerBlock_2), 0, 0, 1, 1},
  {&__pyx_n_s_reserved_2, __pyx_k_reserved_2, sizeof(__pyx_k_reserved_2), 0, 0, 1, 1},
  {&__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_n_s_resource, __pyx_k_resource, sizeof(__pyx_k_resource), 0, 0, 1, 1},
  {&__pyx_n_s_resources, __pyx_k_resources, sizeof(__pyx_k_resources), 0, 0, 1, 1},
  {&__pyx_n_s_runtimeVersion, __pyx_k_runtimeVersion, sizeof(__pyx_k_runtimeVersion), 0, 0, 1, 1},
  {&__pyx_kp_u_sRGB, __pyx_k_sRGB, sizeof(__pyx_k_sRGB), 0, 1, 0, 0},
  {&__pyx_n_s_sRGB_2, __pyx_k_sRGB_2, sizeof(__pyx_k_sRGB_2), 0, 0, 1, 1},
  {&__pyx_n_s_scope, __pyx_k_scope, sizeof(__pyx_k_scope), 0, 0, 1, 1},
  {&__pyx_kp_u_seamlessCubemap, __pyx_k_seamlessCubemap, sizeof(__pyx_k_seamlessCubemap), 0, 1, 0, 0},
  {&__pyx_n_s_seamlessCubemap_2, __pyx_k_seamlessCubemap_2, sizeof(__pyx_k_seamlessCubemap_2), 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_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_shareableHandle, __pyx_k_shareableHandle, sizeof(__pyx_k_shareableHandle), 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_sharedMemPerBlock, __pyx_k_sharedMemPerBlock, sizeof(__pyx_k_sharedMemPerBlock), 0, 1, 0, 0},
  {&__pyx_kp_u_sharedMemPerBlockOptin, __pyx_k_sharedMemPerBlockOptin, sizeof(__pyx_k_sharedMemPerBlockOptin), 0, 1, 0, 0},
  {&__pyx_n_s_sharedMemPerBlockOptin_2, __pyx_k_sharedMemPerBlockOptin_2, sizeof(__pyx_k_sharedMemPerBlockOptin_2), 0, 0, 1, 1},
  {&__pyx_n_s_sharedMemPerBlock_2, __pyx_k_sharedMemPerBlock_2, sizeof(__pyx_k_sharedMemPerBlock_2), 0, 0, 1, 1},
  {&__pyx_kp_u_sharedMemPerMultiprocessor, __pyx_k_sharedMemPerMultiprocessor, sizeof(__pyx_k_sharedMemPerMultiprocessor), 0, 1, 0, 0},
  {&__pyx_n_s_sharedMemPerMultiprocessor_2, __pyx_k_sharedMemPerMultiprocessor_2, sizeof(__pyx_k_sharedMemPerMultiprocessor_2), 0, 0, 1, 1},
  {&__pyx_kp_u_sharedSizeBytes, __pyx_k_sharedSizeBytes, sizeof(__pyx_k_sharedSizeBytes), 0, 1, 0, 0},
  {&__pyx_n_s_sharedSizeBytes_2, __pyx_k_sharedSizeBytes_2, sizeof(__pyx_k_sharedSizeBytes_2), 0, 0, 1, 1},
  {&__pyx_kp_u_singleToDoublePrecisionPerfRatio, __pyx_k_singleToDoublePrecisionPerfRatio, sizeof(__pyx_k_singleToDoublePrecisionPerfRatio), 0, 1, 0, 0},
  {&__pyx_n_s_singleToDoublePrecisionPerfRatio_2, __pyx_k_singleToDoublePrecisionPerfRatio_2, sizeof(__pyx_k_singleToDoublePrecisionPerfRatio_2), 0, 0, 1, 1},
  {&__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_n_s_size_2, __pyx_k_size_2, sizeof(__pyx_k_size_2), 0, 0, 1, 1},
  {&__pyx_n_s_sizeof, __pyx_k_sizeof, sizeof(__pyx_k_sizeof), 0, 0, 1, 1},
  {&__pyx_n_s_sparseProperties, __pyx_k_sparseProperties, sizeof(__pyx_k_sparseProperties), 0, 0, 1, 1},
  {&__pyx_n_s_spitch, __pyx_k_spitch, sizeof(__pyx_k_spitch), 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_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_srcPos, __pyx_k_srcPos, sizeof(__pyx_k_srcPos), 0, 1, 0, 0},
  {&__pyx_n_s_srcPos_2, __pyx_k_srcPos_2, sizeof(__pyx_k_srcPos_2), 0, 0, 1, 1},
  {&__pyx_kp_u_srcPtr, __pyx_k_srcPtr, sizeof(__pyx_k_srcPtr), 0, 1, 0, 0},
  {&__pyx_n_s_srcPtr_2, __pyx_k_srcPtr_2, sizeof(__pyx_k_srcPtr_2), 0, 0, 1, 1},
  {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
  {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
  {&__pyx_n_s_stream, __pyx_k_stream, sizeof(__pyx_k_stream), 0, 0, 1, 1},
  {&__pyx_kp_u_streamPrioritiesSupported, __pyx_k_streamPrioritiesSupported, sizeof(__pyx_k_streamPrioritiesSupported), 0, 1, 0, 0},
  {&__pyx_n_s_streamPrioritiesSupported_2, __pyx_k_streamPrioritiesSupported_2, sizeof(__pyx_k_streamPrioritiesSupported_2), 0, 0, 1, 1},
  {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
  {&__pyx_n_s_surfObject, __pyx_k_surfObject, sizeof(__pyx_k_surfObject), 0, 0, 1, 1},
  {&__pyx_kp_u_surfaceAlignment, __pyx_k_surfaceAlignment, sizeof(__pyx_k_surfaceAlignment), 0, 1, 0, 0},
  {&__pyx_n_s_surfaceAlignment_2, __pyx_k_surfaceAlignment_2, sizeof(__pyx_k_surfaceAlignment_2), 0, 0, 1, 1},
  {&__pyx_n_s_symbol, __pyx_k_symbol, sizeof(__pyx_k_symbol), 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_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
  {&__pyx_kp_u_tccDriver, __pyx_k_tccDriver, sizeof(__pyx_k_tccDriver), 0, 1, 0, 0},
  {&__pyx_n_s_tccDriver_2, __pyx_k_tccDriver_2, sizeof(__pyx_k_tccDriver_2), 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_textureAlignment, __pyx_k_textureAlignment, sizeof(__pyx_k_textureAlignment), 0, 1, 0, 0},
  {&__pyx_n_s_textureAlignment_2, __pyx_k_textureAlignment_2, sizeof(__pyx_k_textureAlignment_2), 0, 0, 1, 1},
  {&__pyx_kp_u_texturePitchAlignment, __pyx_k_texturePitchAlignment, sizeof(__pyx_k_texturePitchAlignment), 0, 1, 0, 0},
  {&__pyx_n_s_texturePitchAlignment_2, __pyx_k_texturePitchAlignment_2, sizeof(__pyx_k_texturePitchAlignment_2), 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_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_n_s_to, __pyx_k_to, sizeof(__pyx_k_to), 0, 0, 1, 1},
  {&__pyx_n_s_total, __pyx_k_total, sizeof(__pyx_k_total), 0, 0, 1, 1},
  {&__pyx_kp_u_totalConstMem, __pyx_k_totalConstMem, sizeof(__pyx_k_totalConstMem), 0, 1, 0, 0},
  {&__pyx_n_s_totalConstMem_2, __pyx_k_totalConstMem_2, sizeof(__pyx_k_totalConstMem_2), 0, 0, 1, 1},
  {&__pyx_kp_u_totalGlobalMem, __pyx_k_totalGlobalMem, sizeof(__pyx_k_totalGlobalMem), 0, 1, 0, 0},
  {&__pyx_n_s_totalGlobalMem_2, __pyx_k_totalGlobalMem_2, sizeof(__pyx_k_totalGlobalMem_2), 0, 0, 1, 1},
  {&__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_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_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1},
  {&__pyx_kp_u_unifiedAddressing, __pyx_k_unifiedAddressing, sizeof(__pyx_k_unifiedAddressing), 0, 1, 0, 0},
  {&__pyx_n_s_unifiedAddressing_2, __pyx_k_unifiedAddressing_2, sizeof(__pyx_k_unifiedAddressing_2), 0, 0, 1, 1},
  {&__pyx_n_s_updateResult_out, __pyx_k_updateResult_out, sizeof(__pyx_k_updateResult_out), 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_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 1, 0, 0},
  {&__pyx_kp_u_uuid, __pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 1, 0, 0},
  {&__pyx_n_s_uuid_2, __pyx_k_uuid_2, sizeof(__pyx_k_uuid_2), 0, 0, 1, 1},
  {&__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_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
  {&__pyx_kp_u_value_2, __pyx_k_value_2, sizeof(__pyx_k_value_2), 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_voidStarHelper, __pyx_k_voidStarHelper, sizeof(__pyx_k_voidStarHelper), 0, 0, 1, 1},
  {&__pyx_kp_u_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 1, 0, 0},
  {&__pyx_n_s_wOffset, __pyx_k_wOffset, sizeof(__pyx_k_wOffset), 0, 0, 1, 1},
  {&__pyx_n_s_wOffsetDst, __pyx_k_wOffsetDst, sizeof(__pyx_k_wOffsetDst), 0, 0, 1, 1},
  {&__pyx_n_s_wOffsetSrc, __pyx_k_wOffsetSrc, sizeof(__pyx_k_wOffsetSrc), 0, 0, 1, 1},
  {&__pyx_n_s_w_2, __pyx_k_w_2, sizeof(__pyx_k_w_2), 0, 0, 1, 1},
  {&__pyx_kp_u_warpSize, __pyx_k_warpSize, sizeof(__pyx_k_warpSize), 0, 1, 0, 0},
  {&__pyx_n_s_warpSize_2, __pyx_k_warpSize_2, sizeof(__pyx_k_warpSize_2), 0, 0, 1, 1},
  {&__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_win32, __pyx_k_win32, sizeof(__pyx_k_win32), 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_n_s_win32_2, __pyx_k_win32_2, sizeof(__pyx_k_win32_2), 0, 0, 1, 1},
  {&__pyx_n_s_wrapper, __pyx_k_wrapper, sizeof(__pyx_k_wrapper), 0, 0, 1, 1},
  {&__pyx_kp_u_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 1, 0, 0},
  {&__pyx_n_s_x_2, __pyx_k_x_2, sizeof(__pyx_k_x_2), 0, 0, 1, 1},
  {&__pyx_n_u_x_2, __pyx_k_x_2, sizeof(__pyx_k_x_2), 0, 1, 0, 1},
  {&__pyx_kp_u_xsize, __pyx_k_xsize, sizeof(__pyx_k_xsize), 0, 1, 0, 0},
  {&__pyx_n_s_xsize_2, __pyx_k_xsize_2, sizeof(__pyx_k_xsize_2), 0, 0, 1, 1},
  {&__pyx_n_s_xsz, __pyx_k_xsz, sizeof(__pyx_k_xsz), 0, 0, 1, 1},
  {&__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_ysize, __pyx_k_ysize, sizeof(__pyx_k_ysize), 0, 1, 0, 0},
  {&__pyx_n_s_ysize_2, __pyx_k_ysize_2, sizeof(__pyx_k_ysize_2), 0, 0, 1, 1},
  {&__pyx_n_s_ysz, __pyx_k_ysz, sizeof(__pyx_k_ysz), 0, 0, 1, 1},
  {&__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_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_n_s_hex); if (!__pyx_builtin_hex) __PYX_ERR(0, 2999, __pyx_L1_error)
  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error)
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 5314, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 5315, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 5426, __pyx_L1_error)
  __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 5439, __pyx_L1_error)
  __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(0, 8583, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 12649, __pyx_L1_error)
  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 17382, __pyx_L1_error)
  __pyx_builtin_OverflowError = __Pyx_GetBuiltinName(__pyx_n_s_OverflowError); if (!__pyx_builtin_OverflowError) __PYX_ERR(1, 81, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__4 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__4);
  __Pyx_GIVEREF(__pyx_tuple__4);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__6 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__6);
  __Pyx_GIVEREF(__pyx_tuple__6);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__9 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__9);
  __Pyx_GIVEREF(__pyx_tuple__9);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__11 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__11);
  __Pyx_GIVEREF(__pyx_tuple__11);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__14 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__14);
  __Pyx_GIVEREF(__pyx_tuple__14);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__16 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__16);
  __Pyx_GIVEREF(__pyx_tuple__16);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__19 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__19);
  __Pyx_GIVEREF(__pyx_tuple__19);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__21 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__21);
  __Pyx_GIVEREF(__pyx_tuple__21);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__24 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__24);
  __Pyx_GIVEREF(__pyx_tuple__24);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__26 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__26);
  __Pyx_GIVEREF(__pyx_tuple__26);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__29 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__29);
  __Pyx_GIVEREF(__pyx_tuple__29);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__31 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__31);
  __Pyx_GIVEREF(__pyx_tuple__31);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__34 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__34);
  __Pyx_GIVEREF(__pyx_tuple__34);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__36 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__36);
  __Pyx_GIVEREF(__pyx_tuple__36);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__39 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__39);
  __Pyx_GIVEREF(__pyx_tuple__39);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__41 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__41);
  __Pyx_GIVEREF(__pyx_tuple__41);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__44 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__44);
  __Pyx_GIVEREF(__pyx_tuple__44);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__46 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__46);
  __Pyx_GIVEREF(__pyx_tuple__46);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__49 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__49);
  __Pyx_GIVEREF(__pyx_tuple__49);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__51 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__51);
  __Pyx_GIVEREF(__pyx_tuple__51);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__54 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__54);
  __Pyx_GIVEREF(__pyx_tuple__54);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__56 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__56);
  __Pyx_GIVEREF(__pyx_tuple__56);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__59 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__59);
  __Pyx_GIVEREF(__pyx_tuple__59);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__61 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__61);
  __Pyx_GIVEREF(__pyx_tuple__61);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__66 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__66);
  __Pyx_GIVEREF(__pyx_tuple__66);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__68 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__68);
  __Pyx_GIVEREF(__pyx_tuple__68);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__71 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__71);
  __Pyx_GIVEREF(__pyx_tuple__71);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__73 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__73);
  __Pyx_GIVEREF(__pyx_tuple__73);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__76 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__76);
  __Pyx_GIVEREF(__pyx_tuple__76);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__78 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__78);
  __Pyx_GIVEREF(__pyx_tuple__78);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__83 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__83);
  __Pyx_GIVEREF(__pyx_tuple__83);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__85 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__85);
  __Pyx_GIVEREF(__pyx_tuple__85);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__88 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__88);
  __Pyx_GIVEREF(__pyx_tuple__88);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__90 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__90);
  __Pyx_GIVEREF(__pyx_tuple__90);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__93 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__93);
  __Pyx_GIVEREF(__pyx_tuple__93);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__95 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__95);
  __Pyx_GIVEREF(__pyx_tuple__95);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__98 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__98);
  __Pyx_GIVEREF(__pyx_tuple__98);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__100 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__100);
  __Pyx_GIVEREF(__pyx_tuple__100);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__103 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__103);
  __Pyx_GIVEREF(__pyx_tuple__103);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__105 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__105);
  __Pyx_GIVEREF(__pyx_tuple__105);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__108 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__108);
  __Pyx_GIVEREF(__pyx_tuple__108);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__110 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__110);
  __Pyx_GIVEREF(__pyx_tuple__110);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__113 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__113);
  __Pyx_GIVEREF(__pyx_tuple__113);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__115 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__115);
  __Pyx_GIVEREF(__pyx_tuple__115);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__118 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__118);
  __Pyx_GIVEREF(__pyx_tuple__118);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__120 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__120);
  __Pyx_GIVEREF(__pyx_tuple__120);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__123 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__123);
  __Pyx_GIVEREF(__pyx_tuple__123);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__125 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__125);
  __Pyx_GIVEREF(__pyx_tuple__125);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__128 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__128);
  __Pyx_GIVEREF(__pyx_tuple__128);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__130 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__130);
  __Pyx_GIVEREF(__pyx_tuple__130);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__133 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__133);
  __Pyx_GIVEREF(__pyx_tuple__133);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__135 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__135);
  __Pyx_GIVEREF(__pyx_tuple__135);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__138 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__138);
  __Pyx_GIVEREF(__pyx_tuple__138);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__140 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__140);
  __Pyx_GIVEREF(__pyx_tuple__140);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__143 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__143);
  __Pyx_GIVEREF(__pyx_tuple__143);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__145 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__145);
  __Pyx_GIVEREF(__pyx_tuple__145);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__148 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__148);
  __Pyx_GIVEREF(__pyx_tuple__148);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__150 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__150);
  __Pyx_GIVEREF(__pyx_tuple__150);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__153 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__153);
  __Pyx_GIVEREF(__pyx_tuple__153);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__155 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__155);
  __Pyx_GIVEREF(__pyx_tuple__155);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__158 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__158)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__158);
  __Pyx_GIVEREF(__pyx_tuple__158);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__160 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__160);
  __Pyx_GIVEREF(__pyx_tuple__160);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__163 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__163)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__163);
  __Pyx_GIVEREF(__pyx_tuple__163);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__165 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__165);
  __Pyx_GIVEREF(__pyx_tuple__165);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__168 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__168)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__168);
  __Pyx_GIVEREF(__pyx_tuple__168);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__170 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__170)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__170);
  __Pyx_GIVEREF(__pyx_tuple__170);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__173 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__173)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__173);
  __Pyx_GIVEREF(__pyx_tuple__173);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__175 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__175)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__175);
  __Pyx_GIVEREF(__pyx_tuple__175);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__178 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__178)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__178);
  __Pyx_GIVEREF(__pyx_tuple__178);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__180 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__180)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__180);
  __Pyx_GIVEREF(__pyx_tuple__180);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__183 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__183)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__183);
  __Pyx_GIVEREF(__pyx_tuple__183);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__185 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__185)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__185);
  __Pyx_GIVEREF(__pyx_tuple__185);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__188 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__188)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__188);
  __Pyx_GIVEREF(__pyx_tuple__188);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__190 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__190)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__190);
  __Pyx_GIVEREF(__pyx_tuple__190);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__193 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__193)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__193);
  __Pyx_GIVEREF(__pyx_tuple__193);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__195 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__195)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__195);
  __Pyx_GIVEREF(__pyx_tuple__195);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__198 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__198)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__198);
  __Pyx_GIVEREF(__pyx_tuple__198);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__200 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__200)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__200);
  __Pyx_GIVEREF(__pyx_tuple__200);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__203 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__203)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__203);
  __Pyx_GIVEREF(__pyx_tuple__203);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__205 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__205)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__205);
  __Pyx_GIVEREF(__pyx_tuple__205);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__208 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__208)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__208);
  __Pyx_GIVEREF(__pyx_tuple__208);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__210 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__210)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__210);
  __Pyx_GIVEREF(__pyx_tuple__210);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__213 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__213)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__213);
  __Pyx_GIVEREF(__pyx_tuple__213);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__215 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__215)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__215);
  __Pyx_GIVEREF(__pyx_tuple__215);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__218 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__218)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__218);
  __Pyx_GIVEREF(__pyx_tuple__218);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__220 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__220)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__220);
  __Pyx_GIVEREF(__pyx_tuple__220);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__223 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__223)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__223);
  __Pyx_GIVEREF(__pyx_tuple__223);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__225 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__225)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__225);
  __Pyx_GIVEREF(__pyx_tuple__225);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__228 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__228)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__228);
  __Pyx_GIVEREF(__pyx_tuple__228);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__230 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__230)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__230);
  __Pyx_GIVEREF(__pyx_tuple__230);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__233 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__233)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__233);
  __Pyx_GIVEREF(__pyx_tuple__233);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__235 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__235)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__235);
  __Pyx_GIVEREF(__pyx_tuple__235);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__238 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__238)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__238);
  __Pyx_GIVEREF(__pyx_tuple__238);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__240 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__240)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__240);
  __Pyx_GIVEREF(__pyx_tuple__240);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__243 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__243)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__243);
  __Pyx_GIVEREF(__pyx_tuple__243);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__245 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__245)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__245);
  __Pyx_GIVEREF(__pyx_tuple__245);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__248 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__248)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__248);
  __Pyx_GIVEREF(__pyx_tuple__248);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__250 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__250)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__250);
  __Pyx_GIVEREF(__pyx_tuple__250);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__253 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__253)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__253);
  __Pyx_GIVEREF(__pyx_tuple__253);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__255 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__255)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__255);
  __Pyx_GIVEREF(__pyx_tuple__255);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__258 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__258)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__258);
  __Pyx_GIVEREF(__pyx_tuple__258);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__260 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__260)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__260);
  __Pyx_GIVEREF(__pyx_tuple__260);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__263 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__263)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__263);
  __Pyx_GIVEREF(__pyx_tuple__263);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__265 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__265)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__265);
  __Pyx_GIVEREF(__pyx_tuple__265);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__268 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__268)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__268);
  __Pyx_GIVEREF(__pyx_tuple__268);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__270 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__270)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__270);
  __Pyx_GIVEREF(__pyx_tuple__270);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__273 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__273)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__273);
  __Pyx_GIVEREF(__pyx_tuple__273);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__275 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__275)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__275);
  __Pyx_GIVEREF(__pyx_tuple__275);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__278 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__278)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__278);
  __Pyx_GIVEREF(__pyx_tuple__278);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__280 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__280)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__280);
  __Pyx_GIVEREF(__pyx_tuple__280);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__283 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__283)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__283);
  __Pyx_GIVEREF(__pyx_tuple__283);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__285 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__285)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__285);
  __Pyx_GIVEREF(__pyx_tuple__285);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__288 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__288)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__288);
  __Pyx_GIVEREF(__pyx_tuple__288);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__290 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__290)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__290);
  __Pyx_GIVEREF(__pyx_tuple__290);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__293 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__293)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__293);
  __Pyx_GIVEREF(__pyx_tuple__293);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__295 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__295)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__295);
  __Pyx_GIVEREF(__pyx_tuple__295);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__298 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__298)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__298);
  __Pyx_GIVEREF(__pyx_tuple__298);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__300 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__300)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__300);
  __Pyx_GIVEREF(__pyx_tuple__300);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__303 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__303)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__303);
  __Pyx_GIVEREF(__pyx_tuple__303);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__305 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__305)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__305);
  __Pyx_GIVEREF(__pyx_tuple__305);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__308 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__308)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__308);
  __Pyx_GIVEREF(__pyx_tuple__308);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__310 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__310)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__310);
  __Pyx_GIVEREF(__pyx_tuple__310);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__313 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__313)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__313);
  __Pyx_GIVEREF(__pyx_tuple__313);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__315 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__315)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__315);
  __Pyx_GIVEREF(__pyx_tuple__315);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__318 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__318)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__318);
  __Pyx_GIVEREF(__pyx_tuple__318);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__320 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__320)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__320);
  __Pyx_GIVEREF(__pyx_tuple__320);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__323 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__323)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__323);
  __Pyx_GIVEREF(__pyx_tuple__323);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__325 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__325)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__325);
  __Pyx_GIVEREF(__pyx_tuple__325);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__328 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__328)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__328);
  __Pyx_GIVEREF(__pyx_tuple__328);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__330 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__330)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__330);
  __Pyx_GIVEREF(__pyx_tuple__330);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__333 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__333)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__333);
  __Pyx_GIVEREF(__pyx_tuple__333);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__335 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__335)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__335);
  __Pyx_GIVEREF(__pyx_tuple__335);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__338 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__338)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__338);
  __Pyx_GIVEREF(__pyx_tuple__338);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__340 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__340)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__340);
  __Pyx_GIVEREF(__pyx_tuple__340);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__343 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__343)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__343);
  __Pyx_GIVEREF(__pyx_tuple__343);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__345 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__345)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__345);
  __Pyx_GIVEREF(__pyx_tuple__345);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__348 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__348)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__348);
  __Pyx_GIVEREF(__pyx_tuple__348);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__350 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__350)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__350);
  __Pyx_GIVEREF(__pyx_tuple__350);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__353 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__353)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__353);
  __Pyx_GIVEREF(__pyx_tuple__353);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__355 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__355)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__355);
  __Pyx_GIVEREF(__pyx_tuple__355);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__358 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__358)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__358);
  __Pyx_GIVEREF(__pyx_tuple__358);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__360 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__360)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__360);
  __Pyx_GIVEREF(__pyx_tuple__360);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__363 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__363)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__363);
  __Pyx_GIVEREF(__pyx_tuple__363);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__365 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__365)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__365);
  __Pyx_GIVEREF(__pyx_tuple__365);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__368 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__368)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__368);
  __Pyx_GIVEREF(__pyx_tuple__368);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__370 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__370)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__370);
  __Pyx_GIVEREF(__pyx_tuple__370);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__373 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__373)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__373);
  __Pyx_GIVEREF(__pyx_tuple__373);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__375 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__375)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__375);
  __Pyx_GIVEREF(__pyx_tuple__375);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__378 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__378)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__378);
  __Pyx_GIVEREF(__pyx_tuple__378);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__380 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__380)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__380);
  __Pyx_GIVEREF(__pyx_tuple__380);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__383 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__383)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__383);
  __Pyx_GIVEREF(__pyx_tuple__383);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__385 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__385)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__385);
  __Pyx_GIVEREF(__pyx_tuple__385);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__388 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__388)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__388);
  __Pyx_GIVEREF(__pyx_tuple__388);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__390 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__390)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__390);
  __Pyx_GIVEREF(__pyx_tuple__390);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__393 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__393)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__393);
  __Pyx_GIVEREF(__pyx_tuple__393);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__395 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__395)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__395);
  __Pyx_GIVEREF(__pyx_tuple__395);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__398 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__398)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__398);
  __Pyx_GIVEREF(__pyx_tuple__398);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__400 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__400)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__400);
  __Pyx_GIVEREF(__pyx_tuple__400);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__403 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__403)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__403);
  __Pyx_GIVEREF(__pyx_tuple__403);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__405 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__405)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__405);
  __Pyx_GIVEREF(__pyx_tuple__405);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__408 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__408)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__408);
  __Pyx_GIVEREF(__pyx_tuple__408);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__410 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__410)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__410);
  __Pyx_GIVEREF(__pyx_tuple__410);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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__413 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__413)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__413);
  __Pyx_GIVEREF(__pyx_tuple__413);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__415 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__415)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__415);
  __Pyx_GIVEREF(__pyx_tuple__415);

  /* "cuda/cudart.pyx":12628
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaStream_t cstream
 */
  __pyx_tuple__485 = PyTuple_Pack(1, __pyx_kp_u_Argument_dependencies_is_not_ins); if (unlikely(!__pyx_tuple__485)) __PYX_ERR(0, 12628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__485);
  __Pyx_GIVEREF(__pyx_tuple__485);

  /* "cuda/cudart.pyx":13588
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]")             # <<<<<<<<<<<<<<
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
  __pyx_tuple__501 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramsArray_is_not_inst); if (unlikely(!__pyx_tuple__501)) __PYX_ERR(0, 13588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__501);
  __Pyx_GIVEREF(__pyx_tuple__501);

  /* "cuda/cudart.pyx":13592
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccudart.cudaExternalSemaphore_t]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
  __pyx_tuple__502 = PyTuple_Pack(1, __pyx_kp_u_Argument_extSemArray_is_not_inst); if (unlikely(!__pyx_tuple__502)) __PYX_ERR(0, 13592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__502);
  __Pyx_GIVEREF(__pyx_tuple__502);

  /* "cuda/cudart.pyx":13715
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreWaitParams]")             # <<<<<<<<<<<<<<
 * 
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
  __pyx_tuple__504 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramsArray_is_not_inst_2); if (unlikely(!__pyx_tuple__504)) __PYX_ERR(0, 13715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__504);
  __Pyx_GIVEREF(__pyx_tuple__504);

  /* "cuda/cudart.pyx":17377
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (cudaMemRangeAttribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccudart.cudaMemRangeAttribute]")             # <<<<<<<<<<<<<<
 * 
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 */
  __pyx_tuple__566 = PyTuple_Pack(1, __pyx_kp_u_Argument_attributes_is_not_insta); if (unlikely(!__pyx_tuple__566)) __PYX_ERR(0, 17377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__566);
  __Pyx_GIVEREF(__pyx_tuple__566);

  /* "cuda/cudart.pyx":17380
 * 
 *     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_tuple__567 = PyTuple_Pack(1, __pyx_kp_u_Argument_dataSizes_is_not_instan); if (unlikely(!__pyx_tuple__567)) __PYX_ERR(0, 17380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__567);
  __Pyx_GIVEREF(__pyx_tuple__567);

  /* "cuda/cudart.pyx":18057
 *     descList = [] if descList is None else descList
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaMemPool_t cmemPool
 */
  __pyx_tuple__579 = PyTuple_Pack(1, __pyx_kp_u_Argument_descList_is_not_instanc); if (unlikely(!__pyx_tuple__579)) __PYX_ERR(0, 18057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__579);
  __Pyx_GIVEREF(__pyx_tuple__579);

  /* "cuda/cudart.pyx":19955
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
  __pyx_tuple__615 = PyTuple_Pack(1, __pyx_kp_u_Argument_pDependencies_is_not_in); if (unlikely(!__pyx_tuple__615)) __PYX_ERR(0, 19955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__615);
  __Pyx_GIVEREF(__pyx_tuple__615);

  /* "cuda/cudart.pyx":22398
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     from_ = [] if from_ is None else from_
 */
  __pyx_tuple__663 = PyTuple_Pack(1, __pyx_kp_u_Argument_to_is_not_instance_of_t); if (unlikely(!__pyx_tuple__663)) __PYX_ERR(0, 22398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__663);
  __Pyx_GIVEREF(__pyx_tuple__663);

  /* "cuda/cudart.pyx":22402
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaGraph_t cgraph
 */
  __pyx_tuple__664 = PyTuple_Pack(1, __pyx_kp_u_Argument_from__is_not_instance_o); if (unlikely(!__pyx_tuple__664)) __PYX_ERR(0, 22402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__664);
  __Pyx_GIVEREF(__pyx_tuple__664);

  /* "cuda/cudart.pyx":3004
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__714 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__714)) __PYX_ERR(0, 3004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__714);
  __Pyx_GIVEREF(__pyx_tuple__714);
  __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__714, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3004, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 3004, __pyx_L1_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_tuple__715 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__715)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__715);
  __Pyx_GIVEREF(__pyx_tuple__715);
  __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__715, __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(1, 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__716 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__716)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__716);
  __Pyx_GIVEREF(__pyx_tuple__716);
  __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__716, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3032
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__717 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__717)) __PYX_ERR(0, 3032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__717);
  __Pyx_GIVEREF(__pyx_tuple__717);
  __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__717, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3032, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 3032, __pyx_L1_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_tuple__718 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__718)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__718);
  __Pyx_GIVEREF(__pyx_tuple__718);
  __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__718, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(1, 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__719 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__719)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__719);
  __Pyx_GIVEREF(__pyx_tuple__719);
  __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__719, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3060
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__720 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__720)) __PYX_ERR(0, 3060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__720);
  __Pyx_GIVEREF(__pyx_tuple__720);
  __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__720, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3060, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 3060, __pyx_L1_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_tuple__721 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__721)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__721);
  __Pyx_GIVEREF(__pyx_tuple__721);
  __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__721, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(1, 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__722 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__722)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__722);
  __Pyx_GIVEREF(__pyx_tuple__722);
  __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__722, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3088
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__723 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__723)) __PYX_ERR(0, 3088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__723);
  __Pyx_GIVEREF(__pyx_tuple__723);
  __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__723, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3088, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 3088, __pyx_L1_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_tuple__724 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__724)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__724);
  __Pyx_GIVEREF(__pyx_tuple__724);
  __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__724, __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(1, 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__725 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__725)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__725);
  __Pyx_GIVEREF(__pyx_tuple__725);
  __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__725, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3116
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__726 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__726)) __PYX_ERR(0, 3116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__726);
  __Pyx_GIVEREF(__pyx_tuple__726);
  __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__726, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 3116, __pyx_L1_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_tuple__727 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__727)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__727);
  __Pyx_GIVEREF(__pyx_tuple__727);
  __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__727, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(1, 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__728 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__728)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__728);
  __Pyx_GIVEREF(__pyx_tuple__728);
  __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__728, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3144
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__729 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__729)) __PYX_ERR(0, 3144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__729);
  __Pyx_GIVEREF(__pyx_tuple__729);
  __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__729, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 3144, __pyx_L1_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_tuple__730 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__730)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__730);
  __Pyx_GIVEREF(__pyx_tuple__730);
  __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__730, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(1, 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__731 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__731)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__731);
  __Pyx_GIVEREF(__pyx_tuple__731);
  __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__731, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3172
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__732 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__732)) __PYX_ERR(0, 3172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__732);
  __Pyx_GIVEREF(__pyx_tuple__732);
  __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__732, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 3172, __pyx_L1_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_tuple__733 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__733)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__733);
  __Pyx_GIVEREF(__pyx_tuple__733);
  __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__733, __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(1, 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__734 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__734)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__734);
  __Pyx_GIVEREF(__pyx_tuple__734);
  __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__734, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3198
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__735 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__735)) __PYX_ERR(0, 3198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__735);
  __Pyx_GIVEREF(__pyx_tuple__735);
  __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__735, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 3198, __pyx_L1_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_tuple__736 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__736)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__736);
  __Pyx_GIVEREF(__pyx_tuple__736);
  __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__736, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(1, 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__737 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__737)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__737);
  __Pyx_GIVEREF(__pyx_tuple__737);
  __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__737, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3224
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__738 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__738)) __PYX_ERR(0, 3224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__738);
  __Pyx_GIVEREF(__pyx_tuple__738);
  __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__738, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 3224, __pyx_L1_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_tuple__739 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__739)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__739);
  __Pyx_GIVEREF(__pyx_tuple__739);
  __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__739, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(1, 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__740 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__740)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__740);
  __Pyx_GIVEREF(__pyx_tuple__740);
  __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__740, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3250
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__741 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__741)) __PYX_ERR(0, 3250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__741);
  __Pyx_GIVEREF(__pyx_tuple__741);
  __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__741, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 3250, __pyx_L1_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_tuple__742 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__742)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__742);
  __Pyx_GIVEREF(__pyx_tuple__742);
  __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__742, __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(1, 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__743 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__743)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__743);
  __Pyx_GIVEREF(__pyx_tuple__743);
  __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__743, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3276
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__744 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__744)) __PYX_ERR(0, 3276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__744);
  __Pyx_GIVEREF(__pyx_tuple__744);
  __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__744, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 3276, __pyx_L1_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_tuple__745 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__745)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__745);
  __Pyx_GIVEREF(__pyx_tuple__745);
  __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__745, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(1, 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__746 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__746)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__746);
  __Pyx_GIVEREF(__pyx_tuple__746);
  __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__746, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3302
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__747 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__747)) __PYX_ERR(0, 3302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__747);
  __Pyx_GIVEREF(__pyx_tuple__747);
  __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__747, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 3302, __pyx_L1_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_tuple__748 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__748)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__748);
  __Pyx_GIVEREF(__pyx_tuple__748);
  __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__748, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(1, 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__749 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__749)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__749);
  __Pyx_GIVEREF(__pyx_tuple__749);
  __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__749, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3332
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__750 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__750)) __PYX_ERR(0, 3332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__750);
  __Pyx_GIVEREF(__pyx_tuple__750);
  __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__750, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 3332, __pyx_L1_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_tuple__751 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__751)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__751);
  __Pyx_GIVEREF(__pyx_tuple__751);
  __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__751, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(1, 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__752 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__752)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__752);
  __Pyx_GIVEREF(__pyx_tuple__752);
  __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__752, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3398
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__753 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__753)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__753);
  __Pyx_GIVEREF(__pyx_tuple__753);
  __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__753, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3398, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 3398, __pyx_L1_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_tuple__754 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__754)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__754);
  __Pyx_GIVEREF(__pyx_tuple__754);
  __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__754, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(1, 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__755 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__755)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__755);
  __Pyx_GIVEREF(__pyx_tuple__755);
  __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__755, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3470
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__756 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__756)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__756);
  __Pyx_GIVEREF(__pyx_tuple__756);
  __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__756, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3470, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 3470, __pyx_L1_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_tuple__757 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__757)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__757);
  __Pyx_GIVEREF(__pyx_tuple__757);
  __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__757, __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(1, 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__758 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__758)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__758);
  __Pyx_GIVEREF(__pyx_tuple__758);
  __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__758, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3536
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__759 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__759)) __PYX_ERR(0, 3536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__759);
  __Pyx_GIVEREF(__pyx_tuple__759);
  __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__759, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3536, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(0, 3536, __pyx_L1_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_tuple__760 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__760)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__760);
  __Pyx_GIVEREF(__pyx_tuple__760);
  __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__760, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(1, 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__761 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__761)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__761);
  __Pyx_GIVEREF(__pyx_tuple__761);
  __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__761, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3618
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__762 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__762)) __PYX_ERR(0, 3618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__762);
  __Pyx_GIVEREF(__pyx_tuple__762);
  __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__762, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3618, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(0, 3618, __pyx_L1_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_tuple__763 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__763)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__763);
  __Pyx_GIVEREF(__pyx_tuple__763);
  __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__763, __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(1, 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__764 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__764)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__764);
  __Pyx_GIVEREF(__pyx_tuple__764);
  __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__764, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3682
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__765 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__765)) __PYX_ERR(0, 3682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__765);
  __Pyx_GIVEREF(__pyx_tuple__765);
  __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__765, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3682, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) __PYX_ERR(0, 3682, __pyx_L1_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_tuple__766 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__766)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__766);
  __Pyx_GIVEREF(__pyx_tuple__766);
  __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__766, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(1, 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__767 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__767)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__767);
  __Pyx_GIVEREF(__pyx_tuple__767);
  __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__767, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3753
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__768 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__768)) __PYX_ERR(0, 3753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__768);
  __Pyx_GIVEREF(__pyx_tuple__768);
  __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__768, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3753, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(0, 3753, __pyx_L1_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_tuple__769 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__769)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__769);
  __Pyx_GIVEREF(__pyx_tuple__769);
  __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__769, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) __PYX_ERR(1, 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__770 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__770)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__770);
  __Pyx_GIVEREF(__pyx_tuple__770);
  __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__770, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3815
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__771 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__771)) __PYX_ERR(0, 3815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__771);
  __Pyx_GIVEREF(__pyx_tuple__771);
  __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__771, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) __PYX_ERR(0, 3815, __pyx_L1_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_tuple__772 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__772)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__772);
  __Pyx_GIVEREF(__pyx_tuple__772);
  __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__772, __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(1, 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__773 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__773)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__773);
  __Pyx_GIVEREF(__pyx_tuple__773);
  __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__773, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":3893
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__774 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__774)) __PYX_ERR(0, 3893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__774);
  __Pyx_GIVEREF(__pyx_tuple__774);
  __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__774, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3893, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(0, 3893, __pyx_L1_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_tuple__775 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__775)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__775);
  __Pyx_GIVEREF(__pyx_tuple__775);
  __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__775, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(1, 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__776 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__776)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__776);
  __Pyx_GIVEREF(__pyx_tuple__776);
  __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__776, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4049
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__777 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__777)) __PYX_ERR(0, 4049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__777);
  __Pyx_GIVEREF(__pyx_tuple__777);
  __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__777, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4049, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(0, 4049, __pyx_L1_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_tuple__778 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__778)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__778);
  __Pyx_GIVEREF(__pyx_tuple__778);
  __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__778, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) __PYX_ERR(1, 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__779 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__779)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__779);
  __Pyx_GIVEREF(__pyx_tuple__779);
  __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__779, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4201
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__780 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__780)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__780);
  __Pyx_GIVEREF(__pyx_tuple__780);
  __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__780, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(0, 4201, __pyx_L1_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_tuple__781 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__781)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__781);
  __Pyx_GIVEREF(__pyx_tuple__781);
  __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__781, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) __PYX_ERR(1, 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__782 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__782)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__782);
  __Pyx_GIVEREF(__pyx_tuple__782);
  __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__782, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4302
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__783 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__783)) __PYX_ERR(0, 4302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__783);
  __Pyx_GIVEREF(__pyx_tuple__783);
  __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__783, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(0, 4302, __pyx_L1_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_tuple__784 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__784)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__784);
  __Pyx_GIVEREF(__pyx_tuple__784);
  __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__784, __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(1, 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__785 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__785)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__785);
  __Pyx_GIVEREF(__pyx_tuple__785);
  __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__785, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4378
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__786 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__786)) __PYX_ERR(0, 4378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__786);
  __Pyx_GIVEREF(__pyx_tuple__786);
  __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__786, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(0, 4378, __pyx_L1_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_tuple__787 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__787)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__787);
  __Pyx_GIVEREF(__pyx_tuple__787);
  __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__787, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) __PYX_ERR(1, 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__788 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__788)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__788);
  __Pyx_GIVEREF(__pyx_tuple__788);
  __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__788, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4430
 *     def __init__(self, void_ptr _ptr):
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__789 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__789)) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__789);
  __Pyx_GIVEREF(__pyx_tuple__789);
  __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__789, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(0, 4430, __pyx_L1_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_tuple__790 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__790)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__790);
  __Pyx_GIVEREF(__pyx_tuple__790);
  __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__790, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) __PYX_ERR(1, 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__791 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__791)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__791);
  __Pyx_GIVEREF(__pyx_tuple__791);
  __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__791, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4474
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__792 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__792)) __PYX_ERR(0, 4474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__792);
  __Pyx_GIVEREF(__pyx_tuple__792);
  __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__792, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) __PYX_ERR(0, 4474, __pyx_L1_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_tuple__793 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__793)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__793);
  __Pyx_GIVEREF(__pyx_tuple__793);
  __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__793, __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(1, 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__794 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__794)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__794);
  __Pyx_GIVEREF(__pyx_tuple__794);
  __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__794, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4522
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__795 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__795)) __PYX_ERR(0, 4522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__795);
  __Pyx_GIVEREF(__pyx_tuple__795);
  __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__795, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4522, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(0, 4522, __pyx_L1_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_tuple__796 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__796)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__796);
  __Pyx_GIVEREF(__pyx_tuple__796);
  __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__796, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(1, 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__797 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__797)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__797);
  __Pyx_GIVEREF(__pyx_tuple__797);
  __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__797, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4586
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__798 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__798)) __PYX_ERR(0, 4586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__798);
  __Pyx_GIVEREF(__pyx_tuple__798);
  __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__798, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(0, 4586, __pyx_L1_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_tuple__799 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__799)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__799);
  __Pyx_GIVEREF(__pyx_tuple__799);
  __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__799, __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(1, 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__800 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__800)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__800);
  __Pyx_GIVEREF(__pyx_tuple__800);
  __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__800, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4667
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__801 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__801)) __PYX_ERR(0, 4667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__801);
  __Pyx_GIVEREF(__pyx_tuple__801);
  __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__801, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4667, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(0, 4667, __pyx_L1_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_tuple__802 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__802)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__802);
  __Pyx_GIVEREF(__pyx_tuple__802);
  __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__802, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(1, 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__803 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__803)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__803);
  __Pyx_GIVEREF(__pyx_tuple__803);
  __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__803, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4751
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__804 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__804)) __PYX_ERR(0, 4751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__804);
  __Pyx_GIVEREF(__pyx_tuple__804);
  __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__804, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4751, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(0, 4751, __pyx_L1_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_tuple__805 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__805)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__805);
  __Pyx_GIVEREF(__pyx_tuple__805);
  __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__805, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) __PYX_ERR(1, 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__806 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__806)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__806);
  __Pyx_GIVEREF(__pyx_tuple__806);
  __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__806, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4819
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__807 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__807)) __PYX_ERR(0, 4819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__807);
  __Pyx_GIVEREF(__pyx_tuple__807);
  __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__807, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(0, 4819, __pyx_L1_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_tuple__808 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__808)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__808);
  __Pyx_GIVEREF(__pyx_tuple__808);
  __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__808, __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(1, 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__809 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__809)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__809);
  __Pyx_GIVEREF(__pyx_tuple__809);
  __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__809, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":4934
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__810 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__810)) __PYX_ERR(0, 4934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__810);
  __Pyx_GIVEREF(__pyx_tuple__810);
  __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__810, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) __PYX_ERR(0, 4934, __pyx_L1_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_tuple__811 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__811)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__811);
  __Pyx_GIVEREF(__pyx_tuple__811);
  __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__811, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) __PYX_ERR(1, 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__812 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__812)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__812);
  __Pyx_GIVEREF(__pyx_tuple__812);
  __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__812, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5037
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__813 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__813)) __PYX_ERR(0, 5037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__813);
  __Pyx_GIVEREF(__pyx_tuple__813);
  __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__813, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5037, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) __PYX_ERR(0, 5037, __pyx_L1_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_tuple__814 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__814)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__814);
  __Pyx_GIVEREF(__pyx_tuple__814);
  __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__814, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) __PYX_ERR(1, 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__815 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__815)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__815);
  __Pyx_GIVEREF(__pyx_tuple__815);
  __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__815, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5143
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__816 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__816)) __PYX_ERR(0, 5143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__816);
  __Pyx_GIVEREF(__pyx_tuple__816);
  __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__816, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(0, 5143, __pyx_L1_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_tuple__817 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__817)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__817);
  __Pyx_GIVEREF(__pyx_tuple__817);
  __pyx_codeobj__177 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__817, __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(1, 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__818 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__818)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__818);
  __Pyx_GIVEREF(__pyx_tuple__818);
  __pyx_codeobj__179 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__818, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__179)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5195
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__819 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__819)) __PYX_ERR(0, 5195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__819);
  __Pyx_GIVEREF(__pyx_tuple__819);
  __pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__819, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5195, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) __PYX_ERR(0, 5195, __pyx_L1_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_tuple__820 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__820)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__820);
  __Pyx_GIVEREF(__pyx_tuple__820);
  __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__820, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) __PYX_ERR(1, 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__821 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__821)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__821);
  __Pyx_GIVEREF(__pyx_tuple__821);
  __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__821, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5262
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__822 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__822)) __PYX_ERR(0, 5262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__822);
  __Pyx_GIVEREF(__pyx_tuple__822);
  __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__822, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5262, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) __PYX_ERR(0, 5262, __pyx_L1_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_tuple__823 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__823)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__823);
  __Pyx_GIVEREF(__pyx_tuple__823);
  __pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__823, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) __PYX_ERR(1, 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__824 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__824)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__824);
  __Pyx_GIVEREF(__pyx_tuple__824);
  __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__824, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5342
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__825 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__825)) __PYX_ERR(0, 5342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__825);
  __Pyx_GIVEREF(__pyx_tuple__825);
  __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__825, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5342, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) __PYX_ERR(0, 5342, __pyx_L1_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_tuple__826 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__826)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__826);
  __Pyx_GIVEREF(__pyx_tuple__826);
  __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__826, __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(1, 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__827 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__827)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__827);
  __Pyx_GIVEREF(__pyx_tuple__827);
  __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__827, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5399
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__828 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__828)) __PYX_ERR(0, 5399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__828);
  __Pyx_GIVEREF(__pyx_tuple__828);
  __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__828, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5399, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) __PYX_ERR(0, 5399, __pyx_L1_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_tuple__829 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__829)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__829);
  __Pyx_GIVEREF(__pyx_tuple__829);
  __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__829, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) __PYX_ERR(1, 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__830 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__830)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__830);
  __Pyx_GIVEREF(__pyx_tuple__830);
  __pyx_codeobj__199 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__830, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5489
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__831 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__831)) __PYX_ERR(0, 5489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__831);
  __Pyx_GIVEREF(__pyx_tuple__831);
  __pyx_codeobj__201 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__831, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) __PYX_ERR(0, 5489, __pyx_L1_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_tuple__832 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__832)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__832);
  __Pyx_GIVEREF(__pyx_tuple__832);
  __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__832, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) __PYX_ERR(1, 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__833 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__833)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__833);
  __Pyx_GIVEREF(__pyx_tuple__833);
  __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__833, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":5701
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__834 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__834)) __PYX_ERR(0, 5701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__834);
  __Pyx_GIVEREF(__pyx_tuple__834);
  __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__834, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5701, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) __PYX_ERR(0, 5701, __pyx_L1_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_tuple__835 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__835)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__835);
  __Pyx_GIVEREF(__pyx_tuple__835);
  __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__835, __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(1, 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__836 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__836)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__836);
  __Pyx_GIVEREF(__pyx_tuple__836);
  __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__836, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6389
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__837 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__837)) __PYX_ERR(0, 6389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__837);
  __Pyx_GIVEREF(__pyx_tuple__837);
  __pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__837, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(0, 6389, __pyx_L1_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_tuple__838 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__838)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__838);
  __Pyx_GIVEREF(__pyx_tuple__838);
  __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__838, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) __PYX_ERR(1, 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__839 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__839)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__839);
  __Pyx_GIVEREF(__pyx_tuple__839);
  __pyx_codeobj__214 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__839, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6441
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__840 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__840)) __PYX_ERR(0, 6441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__840);
  __Pyx_GIVEREF(__pyx_tuple__840);
  __pyx_codeobj__216 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__840, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__216)) __PYX_ERR(0, 6441, __pyx_L1_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_tuple__841 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__841)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__841);
  __Pyx_GIVEREF(__pyx_tuple__841);
  __pyx_codeobj__217 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__841, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__217)) __PYX_ERR(1, 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__842 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__842)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__842);
  __Pyx_GIVEREF(__pyx_tuple__842);
  __pyx_codeobj__219 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__842, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__219)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6489
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__843 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__843)) __PYX_ERR(0, 6489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__843);
  __Pyx_GIVEREF(__pyx_tuple__843);
  __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__843, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) __PYX_ERR(0, 6489, __pyx_L1_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_tuple__844 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__844)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__844);
  __Pyx_GIVEREF(__pyx_tuple__844);
  __pyx_codeobj__222 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__844, __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(1, 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__845 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__845)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__845);
  __Pyx_GIVEREF(__pyx_tuple__845);
  __pyx_codeobj__224 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__845, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__224)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6537
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__846 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__846)) __PYX_ERR(0, 6537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__846);
  __Pyx_GIVEREF(__pyx_tuple__846);
  __pyx_codeobj__226 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__846, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6537, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__226)) __PYX_ERR(0, 6537, __pyx_L1_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_tuple__847 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__847)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__847);
  __Pyx_GIVEREF(__pyx_tuple__847);
  __pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__847, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(1, 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__848 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__848)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__848);
  __Pyx_GIVEREF(__pyx_tuple__848);
  __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__848, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6605
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__849 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__849)) __PYX_ERR(0, 6605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__849);
  __Pyx_GIVEREF(__pyx_tuple__849);
  __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__849, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6605, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(0, 6605, __pyx_L1_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_tuple__850 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__850)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__850);
  __Pyx_GIVEREF(__pyx_tuple__850);
  __pyx_codeobj__232 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__850, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__232)) __PYX_ERR(1, 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__851 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__851)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__851);
  __Pyx_GIVEREF(__pyx_tuple__851);
  __pyx_codeobj__234 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__851, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__234)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6679
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__852 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__852)) __PYX_ERR(0, 6679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__852);
  __Pyx_GIVEREF(__pyx_tuple__852);
  __pyx_codeobj__236 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__852, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__236)) __PYX_ERR(0, 6679, __pyx_L1_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_tuple__853 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__853)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__853);
  __Pyx_GIVEREF(__pyx_tuple__853);
  __pyx_codeobj__237 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__853, __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(1, 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__854 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__854)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__854);
  __Pyx_GIVEREF(__pyx_tuple__854);
  __pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__854, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6748
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__855 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__855)) __PYX_ERR(0, 6748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__855);
  __Pyx_GIVEREF(__pyx_tuple__855);
  __pyx_codeobj__241 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__855, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6748, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) __PYX_ERR(0, 6748, __pyx_L1_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_tuple__856 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__856)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__856);
  __Pyx_GIVEREF(__pyx_tuple__856);
  __pyx_codeobj__242 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__856, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__242)) __PYX_ERR(1, 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__857 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__857)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__857);
  __Pyx_GIVEREF(__pyx_tuple__857);
  __pyx_codeobj__244 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__857, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6826
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__858 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__858)) __PYX_ERR(0, 6826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__858);
  __Pyx_GIVEREF(__pyx_tuple__858);
  __pyx_codeobj__246 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__858, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__246)) __PYX_ERR(0, 6826, __pyx_L1_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_tuple__859 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__859)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__859);
  __Pyx_GIVEREF(__pyx_tuple__859);
  __pyx_codeobj__247 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__859, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__247)) __PYX_ERR(1, 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__860 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__860)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__860);
  __Pyx_GIVEREF(__pyx_tuple__860);
  __pyx_codeobj__249 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__860, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__249)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6874
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__861 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__861)) __PYX_ERR(0, 6874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__861);
  __Pyx_GIVEREF(__pyx_tuple__861);
  __pyx_codeobj__251 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__861, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) __PYX_ERR(0, 6874, __pyx_L1_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_tuple__862 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__862)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__862);
  __Pyx_GIVEREF(__pyx_tuple__862);
  __pyx_codeobj__252 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__862, __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(1, 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__863 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__863)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__863);
  __Pyx_GIVEREF(__pyx_tuple__863);
  __pyx_codeobj__254 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__863, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__254)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6940
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__864 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__864)) __PYX_ERR(0, 6940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__864);
  __Pyx_GIVEREF(__pyx_tuple__864);
  __pyx_codeobj__256 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__864, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6940, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__256)) __PYX_ERR(0, 6940, __pyx_L1_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_tuple__865 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__865)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__865);
  __Pyx_GIVEREF(__pyx_tuple__865);
  __pyx_codeobj__257 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__865, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__257)) __PYX_ERR(1, 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__866 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__866)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__866);
  __Pyx_GIVEREF(__pyx_tuple__866);
  __pyx_codeobj__259 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__866, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":6996
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__867 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__867)) __PYX_ERR(0, 6996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__867);
  __Pyx_GIVEREF(__pyx_tuple__867);
  __pyx_codeobj__261 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__867, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 6996, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) __PYX_ERR(0, 6996, __pyx_L1_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_tuple__868 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__868)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__868);
  __Pyx_GIVEREF(__pyx_tuple__868);
  __pyx_codeobj__262 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__868, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__262)) __PYX_ERR(1, 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__869 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__869)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__869);
  __Pyx_GIVEREF(__pyx_tuple__869);
  __pyx_codeobj__264 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__869, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__264)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7034
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__870 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__870)) __PYX_ERR(0, 7034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__870);
  __Pyx_GIVEREF(__pyx_tuple__870);
  __pyx_codeobj__266 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__870, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7034, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__266)) __PYX_ERR(0, 7034, __pyx_L1_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_tuple__871 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__871)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__871);
  __Pyx_GIVEREF(__pyx_tuple__871);
  __pyx_codeobj__267 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__871, __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(1, 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__872 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__872)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__872);
  __Pyx_GIVEREF(__pyx_tuple__872);
  __pyx_codeobj__269 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__872, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__269)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7078
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__873 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__873)) __PYX_ERR(0, 7078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__873);
  __Pyx_GIVEREF(__pyx_tuple__873);
  __pyx_codeobj__271 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__873, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7078, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__271)) __PYX_ERR(0, 7078, __pyx_L1_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_tuple__874 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__874)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__874);
  __Pyx_GIVEREF(__pyx_tuple__874);
  __pyx_codeobj__272 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__874, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__272)) __PYX_ERR(1, 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__875 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__875)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__875);
  __Pyx_GIVEREF(__pyx_tuple__875);
  __pyx_codeobj__274 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__875, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7122
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__876 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__876)) __PYX_ERR(0, 7122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__876);
  __Pyx_GIVEREF(__pyx_tuple__876);
  __pyx_codeobj__276 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__876, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__276)) __PYX_ERR(0, 7122, __pyx_L1_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_tuple__877 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__877)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__877);
  __Pyx_GIVEREF(__pyx_tuple__877);
  __pyx_codeobj__277 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__877, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__277)) __PYX_ERR(1, 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__878 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__878)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__878);
  __Pyx_GIVEREF(__pyx_tuple__878);
  __pyx_codeobj__279 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__878, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__279)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7211
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__879 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__879)) __PYX_ERR(0, 7211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__879);
  __Pyx_GIVEREF(__pyx_tuple__879);
  __pyx_codeobj__281 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__879, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7211, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__281)) __PYX_ERR(0, 7211, __pyx_L1_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_tuple__880 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__880)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__880);
  __Pyx_GIVEREF(__pyx_tuple__880);
  __pyx_codeobj__282 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__880, __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(1, 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__881 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__881)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__881);
  __Pyx_GIVEREF(__pyx_tuple__881);
  __pyx_codeobj__284 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__881, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__284)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7267
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__882 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__882)) __PYX_ERR(0, 7267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__882);
  __Pyx_GIVEREF(__pyx_tuple__882);
  __pyx_codeobj__286 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__882, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__286)) __PYX_ERR(0, 7267, __pyx_L1_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_tuple__883 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__883)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__883);
  __Pyx_GIVEREF(__pyx_tuple__883);
  __pyx_codeobj__287 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__883, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__287)) __PYX_ERR(1, 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__884 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__884)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__884);
  __Pyx_GIVEREF(__pyx_tuple__884);
  __pyx_codeobj__289 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__884, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7305
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__885 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__885)) __PYX_ERR(0, 7305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__885);
  __Pyx_GIVEREF(__pyx_tuple__885);
  __pyx_codeobj__291 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__885, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7305, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__291)) __PYX_ERR(0, 7305, __pyx_L1_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_tuple__886 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__886)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__886);
  __Pyx_GIVEREF(__pyx_tuple__886);
  __pyx_codeobj__292 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__886, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__292)) __PYX_ERR(1, 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__887 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__887)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__887);
  __Pyx_GIVEREF(__pyx_tuple__887);
  __pyx_codeobj__294 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__887, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__294)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7351
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__888 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__888)) __PYX_ERR(0, 7351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__888);
  __Pyx_GIVEREF(__pyx_tuple__888);
  __pyx_codeobj__296 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__888, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__296)) __PYX_ERR(0, 7351, __pyx_L1_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_tuple__889 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__889)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__889);
  __Pyx_GIVEREF(__pyx_tuple__889);
  __pyx_codeobj__297 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__889, __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(1, 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__890 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__890)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__890);
  __Pyx_GIVEREF(__pyx_tuple__890);
  __pyx_codeobj__299 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__890, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__299)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7403
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__891 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__891)) __PYX_ERR(0, 7403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__891);
  __Pyx_GIVEREF(__pyx_tuple__891);
  __pyx_codeobj__301 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__891, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7403, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__301)) __PYX_ERR(0, 7403, __pyx_L1_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_tuple__892 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__892)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__892);
  __Pyx_GIVEREF(__pyx_tuple__892);
  __pyx_codeobj__302 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__892, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__302)) __PYX_ERR(1, 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__893 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__893)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__893);
  __Pyx_GIVEREF(__pyx_tuple__893);
  __pyx_codeobj__304 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__893, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7492
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__894 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__894)) __PYX_ERR(0, 7492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__894);
  __Pyx_GIVEREF(__pyx_tuple__894);
  __pyx_codeobj__306 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__894, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7492, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__306)) __PYX_ERR(0, 7492, __pyx_L1_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_tuple__895 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__895)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__895);
  __Pyx_GIVEREF(__pyx_tuple__895);
  __pyx_codeobj__307 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__895, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__307)) __PYX_ERR(1, 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__896 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__896)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__896);
  __Pyx_GIVEREF(__pyx_tuple__896);
  __pyx_codeobj__309 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__896, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__309)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7565
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__897 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__897)) __PYX_ERR(0, 7565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__897);
  __Pyx_GIVEREF(__pyx_tuple__897);
  __pyx_codeobj__311 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__897, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7565, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__311)) __PYX_ERR(0, 7565, __pyx_L1_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_tuple__898 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__898)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__898);
  __Pyx_GIVEREF(__pyx_tuple__898);
  __pyx_codeobj__312 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__898, __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(1, 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__899 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__899)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__899);
  __Pyx_GIVEREF(__pyx_tuple__899);
  __pyx_codeobj__314 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__899, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__314)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7662
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__900 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__900)) __PYX_ERR(0, 7662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__900);
  __Pyx_GIVEREF(__pyx_tuple__900);
  __pyx_codeobj__316 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__900, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7662, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__316)) __PYX_ERR(0, 7662, __pyx_L1_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_tuple__901 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__901)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__901);
  __Pyx_GIVEREF(__pyx_tuple__901);
  __pyx_codeobj__317 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__901, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__317)) __PYX_ERR(1, 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__902 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__902)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__902);
  __Pyx_GIVEREF(__pyx_tuple__902);
  __pyx_codeobj__319 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__902, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7754
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__903 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__903)) __PYX_ERR(0, 7754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__903);
  __Pyx_GIVEREF(__pyx_tuple__903);
  __pyx_codeobj__321 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__903, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__321)) __PYX_ERR(0, 7754, __pyx_L1_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_tuple__904 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__904)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__904);
  __Pyx_GIVEREF(__pyx_tuple__904);
  __pyx_codeobj__322 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__904, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__322)) __PYX_ERR(1, 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__905 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__905)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__905);
  __Pyx_GIVEREF(__pyx_tuple__905);
  __pyx_codeobj__324 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__905, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__324)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7836
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__906 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__906)) __PYX_ERR(0, 7836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__906);
  __Pyx_GIVEREF(__pyx_tuple__906);
  __pyx_codeobj__326 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__906, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7836, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__326)) __PYX_ERR(0, 7836, __pyx_L1_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_tuple__907 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__907)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__907);
  __Pyx_GIVEREF(__pyx_tuple__907);
  __pyx_codeobj__327 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__907, __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(1, 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__908 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__908)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__908);
  __Pyx_GIVEREF(__pyx_tuple__908);
  __pyx_codeobj__329 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__908, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__329)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7892
 *     def __init__(self, void_ptr _ptr):
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__909 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__909)) __PYX_ERR(0, 7892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__909);
  __Pyx_GIVEREF(__pyx_tuple__909);
  __pyx_codeobj__331 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__909, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7892, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__331)) __PYX_ERR(0, 7892, __pyx_L1_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_tuple__910 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__910)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__910);
  __Pyx_GIVEREF(__pyx_tuple__910);
  __pyx_codeobj__332 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__910, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__332)) __PYX_ERR(1, 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__911 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__911)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__911);
  __Pyx_GIVEREF(__pyx_tuple__911);
  __pyx_codeobj__334 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__911, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":7977
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__912 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__912)) __PYX_ERR(0, 7977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__912);
  __Pyx_GIVEREF(__pyx_tuple__912);
  __pyx_codeobj__336 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__912, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 7977, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__336)) __PYX_ERR(0, 7977, __pyx_L1_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_tuple__913 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__913)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__913);
  __Pyx_GIVEREF(__pyx_tuple__913);
  __pyx_codeobj__337 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__913, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__337)) __PYX_ERR(1, 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__914 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__914)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__914);
  __Pyx_GIVEREF(__pyx_tuple__914);
  __pyx_codeobj__339 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__914, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__339)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8098
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__915 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__915)) __PYX_ERR(0, 8098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__915);
  __Pyx_GIVEREF(__pyx_tuple__915);
  __pyx_codeobj__341 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__915, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__341)) __PYX_ERR(0, 8098, __pyx_L1_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_tuple__916 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__916)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__916);
  __Pyx_GIVEREF(__pyx_tuple__916);
  __pyx_codeobj__342 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__916, __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(1, 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__917 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__917)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__917);
  __Pyx_GIVEREF(__pyx_tuple__917);
  __pyx_codeobj__344 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__917, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__344)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8174
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__918 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__918)) __PYX_ERR(0, 8174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__918);
  __Pyx_GIVEREF(__pyx_tuple__918);
  __pyx_codeobj__346 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__918, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__346)) __PYX_ERR(0, 8174, __pyx_L1_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_tuple__919 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__919)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__919);
  __Pyx_GIVEREF(__pyx_tuple__919);
  __pyx_codeobj__347 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__919, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__347)) __PYX_ERR(1, 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__920 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__920)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__920);
  __Pyx_GIVEREF(__pyx_tuple__920);
  __pyx_codeobj__349 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__920, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8326
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__921 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__921)) __PYX_ERR(0, 8326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__921);
  __Pyx_GIVEREF(__pyx_tuple__921);
  __pyx_codeobj__351 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__921, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__351)) __PYX_ERR(0, 8326, __pyx_L1_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_tuple__922 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__922)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__922);
  __Pyx_GIVEREF(__pyx_tuple__922);
  __pyx_codeobj__352 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__922, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__352)) __PYX_ERR(1, 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__923 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__923)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__923);
  __Pyx_GIVEREF(__pyx_tuple__923);
  __pyx_codeobj__354 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__923, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__354)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8476
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__924 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__924)) __PYX_ERR(0, 8476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__924);
  __Pyx_GIVEREF(__pyx_tuple__924);
  __pyx_codeobj__356 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__924, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8476, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__356)) __PYX_ERR(0, 8476, __pyx_L1_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_tuple__925 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__925)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__925);
  __Pyx_GIVEREF(__pyx_tuple__925);
  __pyx_codeobj__357 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__925, __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(1, 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__926 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__926)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__926);
  __Pyx_GIVEREF(__pyx_tuple__926);
  __pyx_codeobj__359 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__926, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__359)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8566
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__927 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__927)) __PYX_ERR(0, 8566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__927);
  __Pyx_GIVEREF(__pyx_tuple__927);
  __pyx_codeobj__361 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__927, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__361)) __PYX_ERR(0, 8566, __pyx_L1_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_tuple__928 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__928)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__928);
  __Pyx_GIVEREF(__pyx_tuple__928);
  __pyx_codeobj__362 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__928, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__362)) __PYX_ERR(1, 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__929 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__929)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__929);
  __Pyx_GIVEREF(__pyx_tuple__929);
  __pyx_codeobj__364 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__929, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8639
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__930 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__930)) __PYX_ERR(0, 8639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__930);
  __Pyx_GIVEREF(__pyx_tuple__930);
  __pyx_codeobj__366 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__930, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__366)) __PYX_ERR(0, 8639, __pyx_L1_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_tuple__931 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__931)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__931);
  __Pyx_GIVEREF(__pyx_tuple__931);
  __pyx_codeobj__367 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__931, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__367)) __PYX_ERR(1, 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__932 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__932)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__932);
  __Pyx_GIVEREF(__pyx_tuple__932);
  __pyx_codeobj__369 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__932, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__369)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8720
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__933 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__933)) __PYX_ERR(0, 8720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__933);
  __Pyx_GIVEREF(__pyx_tuple__933);
  __pyx_codeobj__371 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__933, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__371)) __PYX_ERR(0, 8720, __pyx_L1_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_tuple__934 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__934)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__934);
  __Pyx_GIVEREF(__pyx_tuple__934);
  __pyx_codeobj__372 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__934, __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(1, 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__935 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__935)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__935);
  __Pyx_GIVEREF(__pyx_tuple__935);
  __pyx_codeobj__374 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__935, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__374)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8745
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__936 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__936)) __PYX_ERR(0, 8745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__936);
  __Pyx_GIVEREF(__pyx_tuple__936);
  __pyx_codeobj__376 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__936, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__376)) __PYX_ERR(0, 8745, __pyx_L1_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_tuple__937 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__937)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__937);
  __Pyx_GIVEREF(__pyx_tuple__937);
  __pyx_codeobj__377 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__937, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__377)) __PYX_ERR(1, 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__938 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__938)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__938);
  __Pyx_GIVEREF(__pyx_tuple__938);
  __pyx_codeobj__379 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__938, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8770
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__939 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__939)) __PYX_ERR(0, 8770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__939);
  __Pyx_GIVEREF(__pyx_tuple__939);
  __pyx_codeobj__381 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__939, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__381)) __PYX_ERR(0, 8770, __pyx_L1_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_tuple__940 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__940)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__940);
  __Pyx_GIVEREF(__pyx_tuple__940);
  __pyx_codeobj__382 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__940, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__382)) __PYX_ERR(1, 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__941 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__941)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__941);
  __Pyx_GIVEREF(__pyx_tuple__941);
  __pyx_codeobj__384 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__941, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__384)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8795
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__942 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__942)) __PYX_ERR(0, 8795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__942);
  __Pyx_GIVEREF(__pyx_tuple__942);
  __pyx_codeobj__386 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__942, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__386)) __PYX_ERR(0, 8795, __pyx_L1_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_tuple__943 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__943)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__943);
  __Pyx_GIVEREF(__pyx_tuple__943);
  __pyx_codeobj__387 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__943, __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(1, 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__944 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__944)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__944);
  __Pyx_GIVEREF(__pyx_tuple__944);
  __pyx_codeobj__389 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__944, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__389)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8820
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__945 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__945)) __PYX_ERR(0, 8820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__945);
  __Pyx_GIVEREF(__pyx_tuple__945);
  __pyx_codeobj__391 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__945, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__391)) __PYX_ERR(0, 8820, __pyx_L1_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_tuple__946 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__946)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__946);
  __Pyx_GIVEREF(__pyx_tuple__946);
  __pyx_codeobj__392 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__946, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__392)) __PYX_ERR(1, 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__947 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__947)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__947);
  __Pyx_GIVEREF(__pyx_tuple__947);
  __pyx_codeobj__394 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__947, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8845
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__948 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__948)) __PYX_ERR(0, 8845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__948);
  __Pyx_GIVEREF(__pyx_tuple__948);
  __pyx_codeobj__396 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__948, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__396)) __PYX_ERR(0, 8845, __pyx_L1_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_tuple__949 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__949)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__949);
  __Pyx_GIVEREF(__pyx_tuple__949);
  __pyx_codeobj__397 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__949, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__397)) __PYX_ERR(1, 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__950 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__950)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__950);
  __Pyx_GIVEREF(__pyx_tuple__950);
  __pyx_codeobj__399 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__950, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__399)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8870
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__951 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__951)) __PYX_ERR(0, 8870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__951);
  __Pyx_GIVEREF(__pyx_tuple__951);
  __pyx_codeobj__401 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__951, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__401)) __PYX_ERR(0, 8870, __pyx_L1_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_tuple__952 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__952)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__952);
  __Pyx_GIVEREF(__pyx_tuple__952);
  __pyx_codeobj__402 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__952, __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(1, 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__953 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__953)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__953);
  __Pyx_GIVEREF(__pyx_tuple__953);
  __pyx_codeobj__404 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__953, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__404)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8897
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__954 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__954)) __PYX_ERR(0, 8897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__954);
  __Pyx_GIVEREF(__pyx_tuple__954);
  __pyx_codeobj__406 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__954, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__406)) __PYX_ERR(0, 8897, __pyx_L1_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_tuple__955 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__955)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__955);
  __Pyx_GIVEREF(__pyx_tuple__955);
  __pyx_codeobj__407 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__955, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__407)) __PYX_ERR(1, 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__956 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__956)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__956);
  __Pyx_GIVEREF(__pyx_tuple__956);
  __pyx_codeobj__409 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__956, __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(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8924
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__957 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__957)) __PYX_ERR(0, 8924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__957);
  __Pyx_GIVEREF(__pyx_tuple__957);
  __pyx_codeobj__411 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__957, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 8924, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__411)) __PYX_ERR(0, 8924, __pyx_L1_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_tuple__958 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__958)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__958);
  __Pyx_GIVEREF(__pyx_tuple__958);
  __pyx_codeobj__412 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__958, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__412)) __PYX_ERR(1, 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__959 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__959)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__959);
  __Pyx_GIVEREF(__pyx_tuple__959);
  __pyx_codeobj__414 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__959, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__414)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":8928
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUGetDevice(vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Gets the CUDA device associated with a VdpDevice.
 * 
 */
  __pyx_tuple__960 = 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_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__960)) __PYX_ERR(0, 8928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__960);
  __Pyx_GIVEREF(__pyx_tuple__960);
  __pyx_codeobj__416 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__960, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaVDPAUGetDevice, 8928, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__416)) __PYX_ERR(0, 8928, __pyx_L1_error)

  /* "cuda/cudart.pyx":8978
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUSetVDPAUDevice(int device, vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Sets a CUDA device to use VDPAU interoperability.
 * 
 */
  __pyx_tuple__961 = PyTuple_Pack(8, __pyx_n_s_device_2, __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_err); if (unlikely(!__pyx_tuple__961)) __PYX_ERR(0, 8978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__961);
  __Pyx_GIVEREF(__pyx_tuple__961);
  __pyx_codeobj__417 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__961, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaVDPAUSetVDPAUDevice, 8978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__417)) __PYX_ERR(0, 8978, __pyx_L1_error)

  /* "cuda/cudart.pyx":9033
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpVideoSurface object.
 * 
 */
  __pyx_tuple__962 = PyTuple_Pack(6, __pyx_n_s_vdpSurface, __pyx_n_s_flags_2, __pyx_n_s_cvdpSurface, __pyx_n_s_pvdpSurface, __pyx_n_s_resource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__962)) __PYX_ERR(0, 9033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__962);
  __Pyx_GIVEREF(__pyx_tuple__962);
  __pyx_codeobj__418 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_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_cudart_pyx, __pyx_n_s_cudaGraphicsVDPAURegisterVideoSu, 9033, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__418)) __PYX_ERR(0, 9033, __pyx_L1_error)

  /* "cuda/cudart.pyx":9086
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpOutputSurface object.
 * 
 */
  __pyx_tuple__963 = PyTuple_Pack(6, __pyx_n_s_vdpSurface, __pyx_n_s_flags_2, __pyx_n_s_cvdpSurface, __pyx_n_s_pvdpSurface, __pyx_n_s_resource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__963)) __PYX_ERR(0, 9086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__963);
  __Pyx_GIVEREF(__pyx_tuple__963);
  __pyx_codeobj__419 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cuda_cudart_pyx, __pyx_n_s_cudaGraphicsVDPAURegisterOutputS, 9086, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__419)) __PYX_ERR(0, 9086, __pyx_L1_error)

  /* "cuda/cudart.pyx":9139
 * 
 * @cython.embedsignature(True)
 * def cudaGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : cudaGLDeviceList):             # <<<<<<<<<<<<<<
 *     """ Gets the CUDA devices associated with the current OpenGL context.
 * 
 */
  __pyx_tuple__964 = 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__964)) __PYX_ERR(0, 9139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__964);
  __Pyx_GIVEREF(__pyx_tuple__964);
  __pyx_codeobj__420 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGLGetDevices, 9139, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__420)) __PYX_ERR(0, 9139, __pyx_L1_error)

  /* "cuda/cudart.pyx":9201
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterImage(image, target, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register an OpenGL texture or renderbuffer object.
 * 
 */
  __pyx_tuple__965 = 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_resource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__965)) __PYX_ERR(0, 9201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__965);
  __Pyx_GIVEREF(__pyx_tuple__965);
  __pyx_codeobj__421 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphicsGLRegisterImage, 9201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__421)) __PYX_ERR(0, 9201, __pyx_L1_error)

  /* "cuda/cudart.pyx":9299
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterBuffer(buffer, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an OpenGL buffer object.
 * 
 */
  __pyx_tuple__966 = PyTuple_Pack(6, __pyx_n_s_buffer, __pyx_n_s_flags_2, __pyx_n_s_cbuffer, __pyx_n_s_pbuffer, __pyx_n_s_resource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__966)) __PYX_ERR(0, 9299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__966);
  __Pyx_GIVEREF(__pyx_tuple__966);
  __pyx_codeobj__422 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphicsGLRegisterBuffer, 9299, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__422)) __PYX_ERR(0, 9299, __pyx_L1_error)

  /* "cuda/cudart.pyx":9352
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceReset():             # <<<<<<<<<<<<<<
 *     """ Destroy all allocations and reset all state on the current device in the current process.
 * 
 */
  __pyx_tuple__967 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__967)) __PYX_ERR(0, 9352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__967);
  __Pyx_GIVEREF(__pyx_tuple__967);
  __pyx_codeobj__423 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaDeviceReset, 9352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__423)) __PYX_ERR(0, 9352, __pyx_L1_error)

  /* "cuda/cudart.pyx":9386
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_tuple__968 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__968)) __PYX_ERR(0, 9386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__968);
  __Pyx_GIVEREF(__pyx_tuple__968);
  __pyx_codeobj__424 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaDeviceSynchronize, 9386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__424)) __PYX_ERR(0, 9386, __pyx_L1_error)

  /* "cuda/cudart.pyx":9410
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */
  __pyx_tuple__969 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_value, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__969)) __PYX_ERR(0, 9410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__969);
  __Pyx_GIVEREF(__pyx_tuple__969);
  __pyx_codeobj__425 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaDeviceSetLimit, 9410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__425)) __PYX_ERR(0, 9410, __pyx_L1_error)

  /* "cuda/cudart.pyx":9509
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */
  __pyx_tuple__970 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_pValue, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__970)) __PYX_ERR(0, 9509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__970);
  __Pyx_GIVEREF(__pyx_tuple__970);
  __pyx_codeobj__426 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetLimit, 9509, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__426)) __PYX_ERR(0, 9509, __pyx_L1_error)

  /* "cuda/cudart.pyx":9561
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetTexture1DLinearMaxWidth(fmtDesc : cudaChannelFormatDesc, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given element size.
 * 
 */
  __pyx_tuple__971 = PyTuple_Pack(5, __pyx_n_s_fmtDesc, __pyx_n_s_device_2, __pyx_n_s_maxWidthInElements, __pyx_n_s_cfmtDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__971)) __PYX_ERR(0, 9561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__971);
  __Pyx_GIVEREF(__pyx_tuple__971);
  __pyx_codeobj__427 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetTexture1DLinearMaxW, 9561, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__427)) __PYX_ERR(0, 9561, __pyx_L1_error)

  /* "cuda/cudart.pyx":9593
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */
  __pyx_tuple__972 = PyTuple_Pack(2, __pyx_n_s_pCacheConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__972)) __PYX_ERR(0, 9593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__972);
  __Pyx_GIVEREF(__pyx_tuple__972);
  __pyx_codeobj__428 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetCacheConfig, 9593, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__428)) __PYX_ERR(0, 9593, __pyx_L1_error)

  /* "cuda/cudart.pyx":9637
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetStreamPriorityRange():             # <<<<<<<<<<<<<<
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
 * 
 */
  __pyx_tuple__973 = PyTuple_Pack(3, __pyx_n_s_leastPriority, __pyx_n_s_greatestPriority, __pyx_n_s_err); if (unlikely(!__pyx_tuple__973)) __PYX_ERR(0, 9637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__973);
  __Pyx_GIVEREF(__pyx_tuple__973);
  __pyx_codeobj__429 = (PyObject*)__Pyx_PyCode_New(0, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetStreamPriorityRange, 9637, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__429)) __PYX_ERR(0, 9637, __pyx_L1_error)

  /* "cuda/cudart.pyx":9678
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */
  __pyx_tuple__974 = PyTuple_Pack(3, __pyx_n_s_cacheConfig, __pyx_n_s_ccacheConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__974)) __PYX_ERR(0, 9678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__974);
  __Pyx_GIVEREF(__pyx_tuple__974);
  __pyx_codeobj__430 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaDeviceSetCacheConfig, 9678, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__430)) __PYX_ERR(0, 9678, __pyx_L1_error)

  /* "cuda/cudart.pyx":9732
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetSharedMemConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the shared memory configuration for the current device.
 * 
 */
  __pyx_tuple__975 = PyTuple_Pack(2, __pyx_n_s_pConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__975)) __PYX_ERR(0, 9732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__975);
  __Pyx_GIVEREF(__pyx_tuple__975);
  __pyx_codeobj__431 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetSharedMemConfig, 9732, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__431)) __PYX_ERR(0, 9732, __pyx_L1_error)

  /* "cuda/cudart.pyx":9768
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetSharedMemConfig(config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for the current device.
 * 
 */
  __pyx_tuple__976 = PyTuple_Pack(3, __pyx_n_s_config, __pyx_n_s_cconfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__976)) __PYX_ERR(0, 9768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__976);
  __Pyx_GIVEREF(__pyx_tuple__976);
  __pyx_codeobj__432 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaDeviceSetSharedMemConfig, 9768, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__432)) __PYX_ERR(0, 9768, __pyx_L1_error)

  /* "cuda/cudart.pyx":9819
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetByPCIBusId(char* pciBusId):             # <<<<<<<<<<<<<<
 *     """ Returns a handle to a compute device.
 * 
 */
  __pyx_tuple__977 = PyTuple_Pack(4, __pyx_n_s_pciBusId, __pyx_n_s_pciBusId, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__977)) __PYX_ERR(0, 9819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__977);
  __Pyx_GIVEREF(__pyx_tuple__977);
  __pyx_codeobj__433 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetByPCIBusId, 9819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__433)) __PYX_ERR(0, 9819, __pyx_L1_error)

  /* "cuda/cudart.pyx":9848
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetPCIBusId(int length, int device):             # <<<<<<<<<<<<<<
 *     """ Returns a PCI Bus Id string for the device.
 * 
 */
  __pyx_tuple__978 = PyTuple_Pack(5, __pyx_n_s_length, __pyx_n_s_device_2, __pyx_n_s_pypciBusId, __pyx_n_s_pciBusId, __pyx_n_s_err); if (unlikely(!__pyx_tuple__978)) __PYX_ERR(0, 9848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__978);
  __Pyx_GIVEREF(__pyx_tuple__978);
  __pyx_codeobj__434 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetPCIBusId, 9848, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__434)) __PYX_ERR(0, 9848, __pyx_L1_error)

  /* "cuda/cudart.pyx":9883
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetEventHandle(event):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess handle for a previously allocated event.
 * 
 */
  __pyx_tuple__979 = PyTuple_Pack(5, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_handle_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__979)) __PYX_ERR(0, 9883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__979);
  __Pyx_GIVEREF(__pyx_tuple__979);
  __pyx_codeobj__436 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaIpcGetEventHandle, 9883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__436)) __PYX_ERR(0, 9883, __pyx_L1_error)

  /* "cuda/cudart.pyx":9937
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenEventHandle(handle not None : cudaIpcEventHandle_t):             # <<<<<<<<<<<<<<
 *     """ Opens an interprocess event handle for use in the current process.
 * 
 */
  __pyx_tuple__980 = PyTuple_Pack(3, __pyx_n_s_handle_2, __pyx_n_s_event_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__980)) __PYX_ERR(0, 9937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__980);
  __Pyx_GIVEREF(__pyx_tuple__980);
  __pyx_codeobj__437 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaIpcOpenEventHandle, 9937, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__437)) __PYX_ERR(0, 9937, __pyx_L1_error)

  /* "cuda/cudart.pyx":9975
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
 * 
 */
  __pyx_tuple__981 = PyTuple_Pack(5, __pyx_n_s_devPtr_2, __pyx_n_s_handle_2, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__981)) __PYX_ERR(0, 9975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__981);
  __Pyx_GIVEREF(__pyx_tuple__981);
  __pyx_codeobj__438 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaIpcGetMemHandle, 9975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__438)) __PYX_ERR(0, 9975, __pyx_L1_error)

  /* "cuda/cudart.pyx":10016
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenMemHandle(handle not None : cudaIpcMemHandle_t, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.
 * 
 */
  __pyx_tuple__982 = PyTuple_Pack(4, __pyx_n_s_handle_2, __pyx_n_s_flags_2, __pyx_n_s_devPtr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__982)) __PYX_ERR(0, 10016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__982);
  __Pyx_GIVEREF(__pyx_tuple__982);
  __pyx_codeobj__439 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaIpcOpenMemHandle, 10016, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__439)) __PYX_ERR(0, 10016, __pyx_L1_error)

  /* "cuda/cudart.pyx":10080
 * 
 * @cython.embedsignature(True)
 * def cudaIpcCloseMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Attempts to close memory mapped with cudaIpcOpenMemHandle.
 * 
 */
  __pyx_tuple__983 = PyTuple_Pack(4, __pyx_n_s_devPtr_2, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__983)) __PYX_ERR(0, 10080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__983);
  __Pyx_GIVEREF(__pyx_tuple__983);
  __pyx_codeobj__440 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaIpcCloseMemHandle, 10080, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__440)) __PYX_ERR(0, 10080, __pyx_L1_error)

  /* "cuda/cudart.pyx":10116
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceFlushGPUDirectRDMAWrites(target not None : cudaFlushGPUDirectRDMAWritesTarget, scope not None : cudaFlushGPUDirectRDMAWritesScope):             # <<<<<<<<<<<<<<
 *     """ Blocks until remote writes are visible to the specified scope.
 * 
 */
  __pyx_tuple__984 = 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__984)) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__984);
  __Pyx_GIVEREF(__pyx_tuple__984);
  __pyx_codeobj__441 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaDeviceFlushGPUDirectRDMAWrit, 10116, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__441)) __PYX_ERR(0, 10116, __pyx_L1_error)

  /* "cuda/cudart.pyx":10155
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExit():             # <<<<<<<<<<<<<<
 *     """ Exit and clean up from CUDA launches.
 * 
 */
  __pyx_tuple__985 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__985)) __PYX_ERR(0, 10155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__985);
  __Pyx_GIVEREF(__pyx_tuple__985);
  __pyx_codeobj__442 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaThreadExit, 10155, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__442)) __PYX_ERR(0, 10155, __pyx_L1_error)

  /* "cuda/cudart.pyx":10186
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_tuple__986 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__986)) __PYX_ERR(0, 10186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__986);
  __Pyx_GIVEREF(__pyx_tuple__986);
  __pyx_codeobj__443 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaThreadSynchronize, 10186, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__443)) __PYX_ERR(0, 10186, __pyx_L1_error)

  /* "cuda/cudart.pyx":10216
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */
  __pyx_tuple__987 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_value, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__987)) __PYX_ERR(0, 10216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__987);
  __Pyx_GIVEREF(__pyx_tuple__987);
  __pyx_codeobj__444 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaThreadSetLimit, 10216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__444)) __PYX_ERR(0, 10216, __pyx_L1_error)

  /* "cuda/cudart.pyx":10273
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */
  __pyx_tuple__988 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_pValue, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__988)) __PYX_ERR(0, 10273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__988);
  __Pyx_GIVEREF(__pyx_tuple__988);
  __pyx_codeobj__445 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaThreadGetLimit, 10273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__445)) __PYX_ERR(0, 10273, __pyx_L1_error)

  /* "cuda/cudart.pyx":10316
 * 
 * @cython.embedsignature(True)
 * def cudaGetLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_tuple__989 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__989)) __PYX_ERR(0, 10316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__989);
  __Pyx_GIVEREF(__pyx_tuple__989);
  __pyx_codeobj__446 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaGetLastError, 10316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__446)) __PYX_ERR(0, 10316, __pyx_L1_error)

  /* "cuda/cudart.pyx":10335
 * 
 * @cython.embedsignature(True)
 * def cudaPeekAtLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_tuple__990 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__990)) __PYX_ERR(0, 10335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__990);
  __Pyx_GIVEREF(__pyx_tuple__990);
  __pyx_codeobj__447 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaPeekAtLastError, 10335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__447)) __PYX_ERR(0, 10335, __pyx_L1_error)

  /* "cuda/cudart.pyx":10355
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorName(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the string representation of an error code enum name.
 * 
 */
  __pyx_tuple__991 = PyTuple_Pack(3, __pyx_n_s_error, __pyx_n_s_cerror, __pyx_n_s_err); if (unlikely(!__pyx_tuple__991)) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__991);
  __Pyx_GIVEREF(__pyx_tuple__991);
  __pyx_codeobj__448 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaGetErrorName, 10355, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__448)) __PYX_ERR(0, 10355, __pyx_L1_error)

  /* "cuda/cudart.pyx":10383
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorString(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the description string for an error code.
 * 
 */
  __pyx_tuple__992 = PyTuple_Pack(3, __pyx_n_s_error, __pyx_n_s_cerror, __pyx_n_s_err); if (unlikely(!__pyx_tuple__992)) __PYX_ERR(0, 10383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__992);
  __Pyx_GIVEREF(__pyx_tuple__992);
  __pyx_codeobj__449 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaGetErrorString, 10383, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__449)) __PYX_ERR(0, 10383, __pyx_L1_error)

  /* "cuda/cudart.pyx":10410
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceCount():             # <<<<<<<<<<<<<<
 *     """ Returns the number of compute-capable devices.
 * 
 */
  __pyx_tuple__993 = PyTuple_Pack(2, __pyx_n_s_count, __pyx_n_s_err); if (unlikely(!__pyx_tuple__993)) __PYX_ERR(0, 10410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__993);
  __Pyx_GIVEREF(__pyx_tuple__993);
  __pyx_codeobj__450 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaGetDeviceCount, 10410, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__450)) __PYX_ERR(0, 10410, __pyx_L1_error)

  /* "cuda/cudart.pyx":10433
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceProperties(int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the compute-device.
 * 
 */
  __pyx_tuple__994 = PyTuple_Pack(4, __pyx_n_s_device_2, __pyx_n_s_device_2, __pyx_n_s_prop, __pyx_n_s_err); if (unlikely(!__pyx_tuple__994)) __PYX_ERR(0, 10433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__994);
  __Pyx_GIVEREF(__pyx_tuple__994);
  __pyx_codeobj__451 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGetDeviceProperties, 10433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__451)) __PYX_ERR(0, 10433, __pyx_L1_error)

  /* "cuda/cudart.pyx":10711
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetAttribute(attr not None : cudaDeviceAttr, int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the device.
 * 
 */
  __pyx_tuple__995 = PyTuple_Pack(5, __pyx_n_s_attr, __pyx_n_s_device_2, __pyx_n_s_value, __pyx_n_s_cattr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__995)) __PYX_ERR(0, 10711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__995);
  __Pyx_GIVEREF(__pyx_tuple__995);
  __pyx_codeobj__452 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetAttribute, 10711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__452)) __PYX_ERR(0, 10711, __pyx_L1_error)

  /* "cuda/cudart.pyx":11070
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetDefaultMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Returns the default mempool of a device.
 * 
 */
  __pyx_tuple__996 = PyTuple_Pack(4, __pyx_n_s_device_2, __pyx_n_s_device_2, __pyx_n_s_memPool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__996)) __PYX_ERR(0, 11070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__996);
  __Pyx_GIVEREF(__pyx_tuple__996);
  __pyx_codeobj__453 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetDefaultMemPool, 11070, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__453)) __PYX_ERR(0, 11070, __pyx_L1_error)

  /* "cuda/cudart.pyx":11098
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetMemPool(int device, memPool):             # <<<<<<<<<<<<<<
 *     """ Sets the current memory pool of a device.
 * 
 */
  __pyx_tuple__997 = PyTuple_Pack(5, __pyx_n_s_device_2, __pyx_n_s_memPool, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__997)) __PYX_ERR(0, 11098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__997);
  __Pyx_GIVEREF(__pyx_tuple__997);
  __pyx_codeobj__454 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaDeviceSetMemPool, 11098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__454)) __PYX_ERR(0, 11098, __pyx_L1_error)

  /* "cuda/cudart.pyx":11142
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Gets the current mempool for a device.
 * 
 */
  __pyx_tuple__998 = PyTuple_Pack(4, __pyx_n_s_device_2, __pyx_n_s_device_2, __pyx_n_s_memPool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__998)) __PYX_ERR(0, 11142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__998);
  __Pyx_GIVEREF(__pyx_tuple__998);
  __pyx_codeobj__455 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetMemPool, 11142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__455)) __PYX_ERR(0, 11142, __pyx_L1_error)

  /* "cuda/cudart.pyx":11174
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetNvSciSyncAttributes(int device, int flags):             # <<<<<<<<<<<<<<
 *     """ Return NvSciSync attributes that this device can support.
 * 
 */
  __pyx_tuple__999 = PyTuple_Pack(5, __pyx_n_s_device_2, __pyx_n_s_flags_2, __pyx_n_s_nvSciSyncAttrList, __pyx_n_s_cnvSciSyncAttrList_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__999)) __PYX_ERR(0, 11174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__999);
  __Pyx_GIVEREF(__pyx_tuple__999);
  __pyx_codeobj__456 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetNvSciSyncAttributes, 11174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__456)) __PYX_ERR(0, 11174, __pyx_L1_error)

  /* "cuda/cudart.pyx":11231
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetP2PAttribute(attr not None : cudaDeviceP2PAttr, int srcDevice, int dstDevice):             # <<<<<<<<<<<<<<
 *     """ Queries attributes of the link between two devices.
 * 
 */
  __pyx_tuple__1000 = PyTuple_Pack(6, __pyx_n_s_attr, __pyx_n_s_srcDevice_2, __pyx_n_s_dstDevice_2, __pyx_n_s_value, __pyx_n_s_cattr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1000)) __PYX_ERR(0, 11231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1000);
  __Pyx_GIVEREF(__pyx_tuple__1000);
  __pyx_codeobj__457 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetP2PAttribute, 11231, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__457)) __PYX_ERR(0, 11231, __pyx_L1_error)

  /* "cuda/cudart.pyx":11285
 * 
 * @cython.embedsignature(True)
 * def cudaChooseDevice(prop : cudaDeviceProp):             # <<<<<<<<<<<<<<
 *     """ Select compute-device which best matches criteria.
 * 
 */
  __pyx_tuple__1001 = PyTuple_Pack(4, __pyx_n_s_prop, __pyx_n_s_device_2, __pyx_n_s_cprop_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1001)) __PYX_ERR(0, 11285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1001);
  __Pyx_GIVEREF(__pyx_tuple__1001);
  __pyx_codeobj__458 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaChooseDevice, 11285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__458)) __PYX_ERR(0, 11285, __pyx_L1_error)

  /* "cuda/cudart.pyx":11313
 * 
 * @cython.embedsignature(True)
 * def cudaSetDevice(int device):             # <<<<<<<<<<<<<<
 *     """ Set device to be used for GPU executions.
 * 
 */
  __pyx_tuple__1002 = PyTuple_Pack(3, __pyx_n_s_device_2, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1002)) __PYX_ERR(0, 11313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1002);
  __Pyx_GIVEREF(__pyx_tuple__1002);
  __pyx_codeobj__459 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaSetDevice, 11313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__459)) __PYX_ERR(0, 11313, __pyx_L1_error)

  /* "cuda/cudart.pyx":11362
 * 
 * @cython.embedsignature(True)
 * def cudaGetDevice():             # <<<<<<<<<<<<<<
 *     """ Returns which device is currently being used.
 * 
 */
  __pyx_tuple__1003 = PyTuple_Pack(2, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1003)) __PYX_ERR(0, 11362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1003);
  __Pyx_GIVEREF(__pyx_tuple__1003);
  __pyx_codeobj__460 = (PyObject*)__Pyx_PyCode_New(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_cudart_pyx, __pyx_n_s_cudaGetDevice, 11362, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__460)) __PYX_ERR(0, 11362, __pyx_L1_error)

  /* "cuda/cudart.pyx":11384
 * 
 * @cython.embedsignature(True)
 * def cudaSetDeviceFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Sets flags to be used for device executions.
 * 
 */
  __pyx_tuple__1004 = PyTuple_Pack(3, __pyx_n_s_flags_2, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1004)) __PYX_ERR(0, 11384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1004);
  __Pyx_GIVEREF(__pyx_tuple__1004);
  __pyx_codeobj__461 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaSetDeviceFlags, 11384, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__461)) __PYX_ERR(0, 11384, __pyx_L1_error)

  /* "cuda/cudart.pyx":11461
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceFlags():             # <<<<<<<<<<<<<<
 *     """ Gets the flags for the current device.
 * 
 */
  __pyx_tuple__1005 = PyTuple_Pack(2, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1005)) __PYX_ERR(0, 11461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1005);
  __Pyx_GIVEREF(__pyx_tuple__1005);
  __pyx_codeobj__462 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaGetDeviceFlags, 11461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__462)) __PYX_ERR(0, 11461, __pyx_L1_error)

  /* "cuda/cudart.pyx":11505
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreate():             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_tuple__1006 = PyTuple_Pack(2, __pyx_n_s_pStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1006)) __PYX_ERR(0, 11505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1006);
  __Pyx_GIVEREF(__pyx_tuple__1006);
  __pyx_codeobj__463 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaStreamCreate, 11505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__463)) __PYX_ERR(0, 11505, __pyx_L1_error)

  /* "cuda/cudart.pyx":11526
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_tuple__1007 = PyTuple_Pack(4, __pyx_n_s_flags_2, __pyx_n_s_flags_2, __pyx_n_s_pStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1007)) __PYX_ERR(0, 11526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1007);
  __Pyx_GIVEREF(__pyx_tuple__1007);
  __pyx_codeobj__464 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaStreamCreateWithFlags, 11526, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__464)) __PYX_ERR(0, 11526, __pyx_L1_error)

  /* "cuda/cudart.pyx":11560
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithPriority(unsigned int flags, int priority):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream with the specified priority.
 * 
 */
  __pyx_tuple__1008 = PyTuple_Pack(4, __pyx_n_s_flags_2, __pyx_n_s_priority_2, __pyx_n_s_pStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1008)) __PYX_ERR(0, 11560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1008);
  __Pyx_GIVEREF(__pyx_tuple__1008);
  __pyx_codeobj__465 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaStreamCreateWithPriority, 11560, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__465)) __PYX_ERR(0, 11560, __pyx_L1_error)

  /* "cuda/cudart.pyx":11610
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetPriority(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the priority of a stream.
 * 
 */
  __pyx_tuple__1009 = PyTuple_Pack(5, __pyx_n_s_hStream, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_priority_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1009)) __PYX_ERR(0, 11610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1009);
  __Pyx_GIVEREF(__pyx_tuple__1009);
  __pyx_codeobj__466 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaStreamGetPriority, 11610, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__466)) __PYX_ERR(0, 11610, __pyx_L1_error)

  /* "cuda/cudart.pyx":11652
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetFlags(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the flags of a stream.
 * 
 */
  __pyx_tuple__1010 = PyTuple_Pack(5, __pyx_n_s_hStream, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1010)) __PYX_ERR(0, 11652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1010);
  __Pyx_GIVEREF(__pyx_tuple__1010);
  __pyx_codeobj__467 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaStreamGetFlags, 11652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__467)) __PYX_ERR(0, 11652, __pyx_L1_error)

  /* "cuda/cudart.pyx":11690
 * 
 * @cython.embedsignature(True)
 * def cudaCtxResetPersistingL2Cache():             # <<<<<<<<<<<<<<
 *     """ Resets all persisting lines in cache to normal status.
 * 
 */
  __pyx_tuple__1011 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1011)) __PYX_ERR(0, 11690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1011);
  __Pyx_GIVEREF(__pyx_tuple__1011);
  __pyx_codeobj__468 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaCtxResetPersistingL2Cache, 11690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__468)) __PYX_ERR(0, 11690, __pyx_L1_error)

  /* "cuda/cudart.pyx":11709
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCopyAttributes(dst, src):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source stream to destination stream.
 * 
 */
  __pyx_tuple__1012 = 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__1012)) __PYX_ERR(0, 11709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1012);
  __Pyx_GIVEREF(__pyx_tuple__1012);
  __pyx_codeobj__469 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaStreamCopyAttributes, 11709, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__469)) __PYX_ERR(0, 11709, __pyx_L1_error)

  /* "cuda/cudart.pyx":11755
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetAttribute(hStream, attr not None : cudaStreamAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries stream attribute.
 * 
 */
  __pyx_tuple__1013 = PyTuple_Pack(7, __pyx_n_s_hStream, __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__1013)) __PYX_ERR(0, 11755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1013);
  __Pyx_GIVEREF(__pyx_tuple__1013);
  __pyx_codeobj__470 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaStreamGetAttribute, 11755, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__470)) __PYX_ERR(0, 11755, __pyx_L1_error)

  /* "cuda/cudart.pyx":11795
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */
  __pyx_tuple__1014 = PyTuple_Pack(8, __pyx_n_s_hStream, __pyx_n_s_attr, __pyx_n_s_value, __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__1014)) __PYX_ERR(0, 11795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1014);
  __Pyx_GIVEREF(__pyx_tuple__1014);
  __pyx_codeobj__471 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaStreamSetAttribute, 11795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__471)) __PYX_ERR(0, 11795, __pyx_L1_error)

  /* "cuda/cudart.pyx":11836
 * 
 * @cython.embedsignature(True)
 * def cudaStreamDestroy(stream):             # <<<<<<<<<<<<<<
 *     """ Destroys and cleans up an asynchronous stream.
 * 
 */
  __pyx_tuple__1015 = PyTuple_Pack(4, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1015)) __PYX_ERR(0, 11836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1015);
  __Pyx_GIVEREF(__pyx_tuple__1015);
  __pyx_codeobj__472 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaStreamDestroy, 11836, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__472)) __PYX_ERR(0, 11836, __pyx_L1_error)

  /* "cuda/cudart.pyx":11874
 * 
 * @cython.embedsignature(True)
 * def cudaStreamWaitEvent(stream, event, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Make a compute stream wait on an event.
 * 
 */
  __pyx_tuple__1016 = PyTuple_Pack(8, __pyx_n_s_stream, __pyx_n_s_event_2, __pyx_n_s_flags_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1016)) __PYX_ERR(0, 11874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1016);
  __Pyx_GIVEREF(__pyx_tuple__1016);
  __pyx_codeobj__473 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaStreamWaitEvent, 11874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__473)) __PYX_ERR(0, 11874, __pyx_L1_error)

  /* "cuda/cudart.pyx":11933
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */
  __pyx_tuple__1017 = PyTuple_Pack(11, __pyx_n_s_stream, __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_cstream, __pyx_n_s_pstream, __pyx_n_s_cuserData, __pyx_n_s_cuserData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1017)) __PYX_ERR(0, 11933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1017);
  __Pyx_GIVEREF(__pyx_tuple__1017);
  __pyx_codeobj__474 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudart_pyx, __pyx_n_s_cudaStreamAddCallback, 11933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__474)) __PYX_ERR(0, 11933, __pyx_L1_error)

  /* "cuda/cudart.pyx":12028
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSynchronize(stream):             # <<<<<<<<<<<<<<
 *     """ Waits for stream tasks to complete.
 * 
 */
  __pyx_tuple__1018 = PyTuple_Pack(4, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1018)) __PYX_ERR(0, 12028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1018);
  __Pyx_GIVEREF(__pyx_tuple__1018);
  __pyx_codeobj__475 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaStreamSynchronize, 12028, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__475)) __PYX_ERR(0, 12028, __pyx_L1_error)

  /* "cuda/cudart.pyx":12065
 * 
 * @cython.embedsignature(True)
 * def cudaStreamQuery(stream):             # <<<<<<<<<<<<<<
 *     """ Queries an asynchronous stream for completion status.
 * 
 */
  __pyx_tuple__1019 = PyTuple_Pack(4, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1019)) __PYX_ERR(0, 12065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1019);
  __Pyx_GIVEREF(__pyx_tuple__1019);
  __pyx_codeobj__476 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaStreamQuery, 12065, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__476)) __PYX_ERR(0, 12065, __pyx_L1_error)

  /* "cuda/cudart.pyx":12103
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAttachMemAsync(stream, devPtr, size_t length, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Attach memory to a stream asynchronously.
 * 
 */
  __pyx_tuple__1020 = PyTuple_Pack(9, __pyx_n_s_stream, __pyx_n_s_devPtr_2, __pyx_n_s_length, __pyx_n_s_flags_2, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1020)) __PYX_ERR(0, 12103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1020);
  __Pyx_GIVEREF(__pyx_tuple__1020);
  __pyx_codeobj__477 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaStreamAttachMemAsync, 12103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__477)) __PYX_ERR(0, 12103, __pyx_L1_error)

  /* "cuda/cudart.pyx":12212
 * 
 * @cython.embedsignature(True)
 * def cudaStreamBeginCapture(stream, mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Begins graph capture on a stream.
 * 
 */
  __pyx_tuple__1021 = PyTuple_Pack(6, __pyx_n_s_stream, __pyx_n_s_mode, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cmode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1021)) __PYX_ERR(0, 12212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1021);
  __Pyx_GIVEREF(__pyx_tuple__1021);
  __pyx_codeobj__478 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaStreamBeginCapture, 12212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__478)) __PYX_ERR(0, 12212, __pyx_L1_error)

  /* "cuda/cudart.pyx":12267
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExchangeStreamCaptureMode(mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Swaps the stream capture interaction mode for a thread.
 * 
 */
  __pyx_tuple__1022 = PyTuple_Pack(3, __pyx_n_s_mode, __pyx_n_s_cmode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1022)) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1022);
  __Pyx_GIVEREF(__pyx_tuple__1022);
  __pyx_codeobj__479 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaThreadExchangeStreamCaptureM, 12267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__479)) __PYX_ERR(0, 12267, __pyx_L1_error)

  /* "cuda/cudart.pyx":12335
 * 
 * @cython.embedsignature(True)
 * def cudaStreamEndCapture(stream):             # <<<<<<<<<<<<<<
 *     """ Ends capture on a stream, returning the captured graph.
 * 
 */
  __pyx_tuple__1023 = PyTuple_Pack(5, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_pGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1023)) __PYX_ERR(0, 12335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1023);
  __Pyx_GIVEREF(__pyx_tuple__1023);
  __pyx_codeobj__480 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaStreamEndCapture, 12335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__480)) __PYX_ERR(0, 12335, __pyx_L1_error)

  /* "cuda/cudart.pyx":12379
 * 
 * @cython.embedsignature(True)
 * def cudaStreamIsCapturing(stream):             # <<<<<<<<<<<<<<
 *     """ Returns a stream's capture status.
 * 
 */
  __pyx_tuple__1024 = PyTuple_Pack(5, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_pCaptureStatus, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1024)) __PYX_ERR(0, 12379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1024);
  __Pyx_GIVEREF(__pyx_tuple__1024);
  __pyx_codeobj__481 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaStreamIsCapturing, 12379, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__481)) __PYX_ERR(0, 12379, __pyx_L1_error)

  /* "cuda/cudart.pyx":12437
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo(stream):             # <<<<<<<<<<<<<<
 *     """ Query capture status of a stream.
 * 
 */
  __pyx_tuple__1025 = PyTuple_Pack(6, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_pCaptureStatus, __pyx_n_s_pId, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1025)) __PYX_ERR(0, 12437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1025);
  __Pyx_GIVEREF(__pyx_tuple__1025);
  __pyx_codeobj__482 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaStreamGetCaptureInfo, 12437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__482)) __PYX_ERR(0, 12437, __pyx_L1_error)

  /* "cuda/cudart.pyx":12491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo_v2(stream):             # <<<<<<<<<<<<<<
 *     """ Query a stream's capture state (11.3+)
 * 
 */
  __pyx_tuple__1026 = PyTuple_Pack(11, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __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__1026)) __PYX_ERR(0, 12491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1026);
  __Pyx_GIVEREF(__pyx_tuple__1026);
  __pyx_codeobj__483 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 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_cudart_pyx, __pyx_n_s_cudaStreamGetCaptureInfo_v2, 12491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__483)) __PYX_ERR(0, 12491, __pyx_L1_error)

  /* "cuda/cudart.pyx":12582
 * 
 * @cython.embedsignature(True)
 * def cudaStreamUpdateCaptureDependencies(stream, dependencies : List[cudaGraphNode_t], size_t numDependencies, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 * 
 */
  __pyx_tuple__1027 = PyTuple_Pack(11, __pyx_n_s_stream, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_flags_2, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1027)) __PYX_ERR(0, 12582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1027);
  __Pyx_GIVEREF(__pyx_tuple__1027);
  __pyx_codeobj__484 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudart_pyx, __pyx_n_s_cudaStreamUpdateCaptureDependenc_3, 12582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__484)) __PYX_ERR(0, 12582, __pyx_L1_error)

  /* "cuda/cudart.pyx":12656
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreate():             # <<<<<<<<<<<<<<
 *     """ Creates an event object.
 * 
 */
  __pyx_tuple__1028 = PyTuple_Pack(2, __pyx_n_s_event_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1028)) __PYX_ERR(0, 12656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1028);
  __Pyx_GIVEREF(__pyx_tuple__1028);
  __pyx_codeobj__487 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaEventCreate, 12656, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__487)) __PYX_ERR(0, 12656, __pyx_L1_error)

  /* "cuda/cudart.pyx":12678
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event object with the specified flags.
 * 
 */
  __pyx_tuple__1029 = PyTuple_Pack(4, __pyx_n_s_flags_2, __pyx_n_s_flags_2, __pyx_n_s_event_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1029)) __PYX_ERR(0, 12678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1029);
  __Pyx_GIVEREF(__pyx_tuple__1029);
  __pyx_codeobj__488 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaEventCreateWithFlags, 12678, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__488)) __PYX_ERR(0, 12678, __pyx_L1_error)

  /* "cuda/cudart.pyx":12724
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecord(event, stream):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_tuple__1030 = PyTuple_Pack(7, __pyx_n_s_event_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1030)) __PYX_ERR(0, 12724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1030);
  __Pyx_GIVEREF(__pyx_tuple__1030);
  __pyx_codeobj__489 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaEventRecord, 12724, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__489)) __PYX_ERR(0, 12724, __pyx_L1_error)

  /* "cuda/cudart.pyx":12783
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecordWithFlags(event, stream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_tuple__1031 = PyTuple_Pack(8, __pyx_n_s_event_2, __pyx_n_s_stream, __pyx_n_s_flags_2, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1031)) __PYX_ERR(0, 12783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1031);
  __Pyx_GIVEREF(__pyx_tuple__1031);
  __pyx_codeobj__490 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaEventRecordWithFlags, 12783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__490)) __PYX_ERR(0, 12783, __pyx_L1_error)

  /* "cuda/cudart.pyx":12851
 * 
 * @cython.embedsignature(True)
 * def cudaEventQuery(event):             # <<<<<<<<<<<<<<
 *     """ Queries an event's status.
 * 
 */
  __pyx_tuple__1032 = PyTuple_Pack(4, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1032)) __PYX_ERR(0, 12851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1032);
  __Pyx_GIVEREF(__pyx_tuple__1032);
  __pyx_codeobj__491 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaEventQuery, 12851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__491)) __PYX_ERR(0, 12851, __pyx_L1_error)

  /* "cuda/cudart.pyx":12894
 * 
 * @cython.embedsignature(True)
 * def cudaEventSynchronize(event):             # <<<<<<<<<<<<<<
 *     """ Waits for an event to complete.
 * 
 */
  __pyx_tuple__1033 = PyTuple_Pack(4, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1033)) __PYX_ERR(0, 12894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1033);
  __Pyx_GIVEREF(__pyx_tuple__1033);
  __pyx_codeobj__492 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaEventSynchronize, 12894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__492)) __PYX_ERR(0, 12894, __pyx_L1_error)

  /* "cuda/cudart.pyx":12936
 * 
 * @cython.embedsignature(True)
 * def cudaEventDestroy(event):             # <<<<<<<<<<<<<<
 *     """ Destroys an event object.
 * 
 */
  __pyx_tuple__1034 = PyTuple_Pack(4, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1034)) __PYX_ERR(0, 12936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1034);
  __Pyx_GIVEREF(__pyx_tuple__1034);
  __pyx_codeobj__493 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaEventDestroy, 12936, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__493)) __PYX_ERR(0, 12936, __pyx_L1_error)

  /* "cuda/cudart.pyx":12975
 * 
 * @cython.embedsignature(True)
 * def cudaEventElapsedTime(start, end):             # <<<<<<<<<<<<<<
 *     """ Computes the elapsed time between events.
 * 
 */
  __pyx_tuple__1035 = PyTuple_Pack(8, __pyx_n_s_start, __pyx_n_s_end, __pyx_n_s_cend, __pyx_n_s_pend, __pyx_n_s_cstart, __pyx_n_s_pstart, __pyx_n_s_ms, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1035)) __PYX_ERR(0, 12975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1035);
  __Pyx_GIVEREF(__pyx_tuple__1035);
  __pyx_codeobj__494 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaEventElapsedTime, 12975, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__494)) __PYX_ERR(0, 12975, __pyx_L1_error)

  /* "cuda/cudart.pyx":13042
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalMemory(memHandleDesc : cudaExternalMemoryHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external memory object.
 * 
 */
  __pyx_tuple__1036 = 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__1036)) __PYX_ERR(0, 13042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1036);
  __Pyx_GIVEREF(__pyx_tuple__1036);
  __pyx_codeobj__495 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaImportExternalMemory, 13042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__495)) __PYX_ERR(0, 13042, __pyx_L1_error)

  /* "cuda/cudart.pyx":13190
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */
  __pyx_tuple__1037 = 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__1037)) __PYX_ERR(0, 13190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1037);
  __Pyx_GIVEREF(__pyx_tuple__1037);
  __pyx_codeobj__496 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaExternalMemoryGetMappedBuffe, 13190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__496)) __PYX_ERR(0, 13190, __pyx_L1_error)

  /* "cuda/cudart.pyx":13254
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 * 
 */
  __pyx_tuple__1038 = 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__1038)) __PYX_ERR(0, 13254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1038);
  __Pyx_GIVEREF(__pyx_tuple__1038);
  __pyx_codeobj__497 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaExternalMemoryGetMappedMipma, 13254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__497)) __PYX_ERR(0, 13254, __pyx_L1_error)

  /* "cuda/cudart.pyx":13324
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */
  __pyx_tuple__1039 = PyTuple_Pack(4, __pyx_n_s_extMem, __pyx_n_s_cextMem, __pyx_n_s_pextMem, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1039)) __PYX_ERR(0, 13324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1039);
  __Pyx_GIVEREF(__pyx_tuple__1039);
  __pyx_codeobj__498 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaDestroyExternalMemory, 13324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__498)) __PYX_ERR(0, 13324, __pyx_L1_error)

  /* "cuda/cudart.pyx":13360
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalSemaphore(semHandleDesc : cudaExternalSemaphoreHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external semaphore.
 * 
 */
  __pyx_tuple__1040 = 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__1040)) __PYX_ERR(0, 13360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1040);
  __Pyx_GIVEREF(__pyx_tuple__1040);
  __pyx_codeobj__499 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaImportExternalSemaphore, 13360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__499)) __PYX_ERR(0, 13360, __pyx_L1_error)

  /* "cuda/cudart.pyx":13503
 * 
 * @cython.embedsignature(True)
 * def cudaSignalExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreSignalParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Signals a set of external semaphore objects.
 * 
 */
  __pyx_tuple__1041 = 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__1041)) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1041);
  __Pyx_GIVEREF(__pyx_tuple__1041);
  __pyx_codeobj__500 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaSignalExternalSemaphoresAsyn_2, 13503, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__500)) __PYX_ERR(0, 13503, __pyx_L1_error)

  /* "cuda/cudart.pyx":13621
 * 
 * @cython.embedsignature(True)
 * def cudaWaitExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreWaitParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Waits on a set of external semaphore objects.
 * 
 */
  __pyx_tuple__1042 = 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__1042)) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1042);
  __Pyx_GIVEREF(__pyx_tuple__1042);
  __pyx_codeobj__503 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaWaitExternalSemaphoresAsync_2, 13621, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__503)) __PYX_ERR(0, 13621, __pyx_L1_error)

  /* "cuda/cudart.pyx":13748
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */
  __pyx_tuple__1043 = PyTuple_Pack(4, __pyx_n_s_extSem, __pyx_n_s_cextSem, __pyx_n_s_pextSem, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1043)) __PYX_ERR(0, 13748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1043);
  __Pyx_GIVEREF(__pyx_tuple__1043);
  __pyx_codeobj__505 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaDestroyExternalSemaphore, 13748, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__505)) __PYX_ERR(0, 13748, __pyx_L1_error)

  /* "cuda/cudart.pyx":13783
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetCacheConfig(func, cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for a device function.
 * 
 */
  __pyx_tuple__1044 = PyTuple_Pack(6, __pyx_n_s_func_2, __pyx_n_s_cacheConfig, __pyx_n_s_cfunc, __pyx_n_s_cfunc_ptr, __pyx_n_s_ccacheConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1044)) __PYX_ERR(0, 13783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1044);
  __Pyx_GIVEREF(__pyx_tuple__1044);
  __pyx_codeobj__506 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaFuncSetCacheConfig, 13783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__506)) __PYX_ERR(0, 13783, __pyx_L1_error)

  /* "cuda/cudart.pyx":13842
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetSharedMemConfig(func, config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for a device function.
 * 
 */
  __pyx_tuple__1045 = PyTuple_Pack(6, __pyx_n_s_func_2, __pyx_n_s_config, __pyx_n_s_cfunc, __pyx_n_s_cfunc_ptr, __pyx_n_s_cconfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1045)) __PYX_ERR(0, 13842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1045);
  __Pyx_GIVEREF(__pyx_tuple__1045);
  __pyx_codeobj__507 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaFuncSetSharedMemConfig, 13842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__507)) __PYX_ERR(0, 13842, __pyx_L1_error)

  /* "cuda/cudart.pyx":13904
 * 
 * @cython.embedsignature(True)
 * def cudaFuncGetAttributes(func):             # <<<<<<<<<<<<<<
 *     """ Find out attributes for a given function.
 * 
 */
  __pyx_tuple__1046 = PyTuple_Pack(5, __pyx_n_s_func_2, __pyx_n_s_attr, __pyx_n_s_cfunc, __pyx_n_s_cfunc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1046)) __PYX_ERR(0, 13904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1046);
  __Pyx_GIVEREF(__pyx_tuple__1046);
  __pyx_codeobj__508 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaFuncGetAttributes, 13904, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__508)) __PYX_ERR(0, 13904, __pyx_L1_error)

  /* "cuda/cudart.pyx":13942
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetAttribute(func, attr not None : cudaFuncAttribute, int value):             # <<<<<<<<<<<<<<
 *     """ Set attributes for a given function.
 * 
 */
  __pyx_tuple__1047 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_attr, __pyx_n_s_value, __pyx_n_s_cfunc, __pyx_n_s_cfunc_ptr, __pyx_n_s_cattr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1047)) __PYX_ERR(0, 13942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1047);
  __Pyx_GIVEREF(__pyx_tuple__1047);
  __pyx_codeobj__509 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaFuncSetAttribute, 13942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__509)) __PYX_ERR(0, 13942, __pyx_L1_error)

  /* "cuda/cudart.pyx":13995
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForDevice(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument to be executed on a device.
 * 
 */
  __pyx_tuple__1048 = PyTuple_Pack(3, __pyx_n_s_d, __pyx_n_s_d, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1048)) __PYX_ERR(0, 13995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1048);
  __Pyx_GIVEREF(__pyx_tuple__1048);
  __pyx_codeobj__510 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaSetDoubleForDevice, 13995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__510)) __PYX_ERR(0, 13995, __pyx_L1_error)

  /* "cuda/cudart.pyx":14022
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForHost(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument after execution on a device.
 * 
 */
  __pyx_tuple__1049 = PyTuple_Pack(3, __pyx_n_s_d, __pyx_n_s_d, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1049)) __PYX_ERR(0, 14022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1049);
  __Pyx_GIVEREF(__pyx_tuple__1049);
  __pyx_codeobj__511 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaSetDoubleForHost, 14022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__511)) __PYX_ERR(0, 14022, __pyx_L1_error)

  /* "cuda/cudart.pyx":14049
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */
  __pyx_tuple__1050 = PyTuple_Pack(10, __pyx_n_s_stream, __pyx_n_s_fn_2, __pyx_n_s_userData_2, __pyx_n_s_cfn, __pyx_n_s_pfn, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cuserData, __pyx_n_s_cuserData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1050)) __PYX_ERR(0, 14049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1050);
  __Pyx_GIVEREF(__pyx_tuple__1050);
  __pyx_codeobj__512 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaLaunchHostFunc, 14049, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__512)) __PYX_ERR(0, 14049, __pyx_L1_error)

  /* "cuda/cudart.pyx":14137
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function.
 * 
 */
  __pyx_tuple__1051 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_blockSize, __pyx_n_s_dynamicSMemSize, __pyx_n_s_numBlocks, __pyx_n_s_cfunc, __pyx_n_s_cfunc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1051)) __PYX_ERR(0, 14137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1051);
  __Pyx_GIVEREF(__pyx_tuple__1051);
  __pyx_codeobj__513 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM, 14137, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__513)) __PYX_ERR(0, 14137, __pyx_L1_error)

  /* "cuda/cudart.pyx":14170
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize):             # <<<<<<<<<<<<<<
 *     """ Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.
 * 
 */
  __pyx_tuple__1052 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_numBlocks, __pyx_n_s_blockSize, __pyx_n_s_dynamicSmemSize, __pyx_n_s_cfunc, __pyx_n_s_cfunc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1052)) __PYX_ERR(0, 14170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1052);
  __Pyx_GIVEREF(__pyx_tuple__1052);
  __pyx_codeobj__514 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaOccupancyAvailableDynamicSMe, 14170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__514)) __PYX_ERR(0, 14170, __pyx_L1_error)

  /* "cuda/cudart.pyx":14203
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function with the specified flags.
 * 
 */
  __pyx_tuple__1053 = PyTuple_Pack(8, __pyx_n_s_func_2, __pyx_n_s_blockSize, __pyx_n_s_dynamicSMemSize, __pyx_n_s_flags_2, __pyx_n_s_numBlocks, __pyx_n_s_cfunc, __pyx_n_s_cfunc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1053)) __PYX_ERR(0, 14203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1053);
  __Pyx_GIVEREF(__pyx_tuple__1053);
  __pyx_codeobj__515 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2, 14203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__515)) __PYX_ERR(0, 14203, __pyx_L1_error)

  /* "cuda/cudart.pyx":14253
 * 
 * @cython.embedsignature(True)
 * def cudaMallocManaged(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
 * 
 */
  __pyx_tuple__1054 = PyTuple_Pack(4, __pyx_n_s_size_2, __pyx_n_s_flags_2, __pyx_n_s_devPtr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1054)) __PYX_ERR(0, 14253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1054);
  __Pyx_GIVEREF(__pyx_tuple__1054);
  __pyx_codeobj__516 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaMallocManaged, 14253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__516)) __PYX_ERR(0, 14253, __pyx_L1_error)

  /* "cuda/cudart.pyx":14382
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocate memory on the device.
 * 
 */
  __pyx_tuple__1055 = PyTuple_Pack(4, __pyx_n_s_size_2, __pyx_n_s_size_2, __pyx_n_s_devPtr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1055)) __PYX_ERR(0, 14382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1055);
  __Pyx_GIVEREF(__pyx_tuple__1055);
  __pyx_codeobj__517 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaMalloc, 14382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__517)) __PYX_ERR(0, 14382, __pyx_L1_error)

  /* "cuda/cudart.pyx":14416
 * 
 * @cython.embedsignature(True)
 * def cudaMallocHost(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_tuple__1056 = PyTuple_Pack(4, __pyx_n_s_size_2, __pyx_n_s_size_2, __pyx_n_s_ptr_3, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1056)) __PYX_ERR(0, 14416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1056);
  __Pyx_GIVEREF(__pyx_tuple__1056);
  __pyx_codeobj__518 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaMallocHost, 14416, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__518)) __PYX_ERR(0, 14416, __pyx_L1_error)

  /* "cuda/cudart.pyx":14452
 * 
 * @cython.embedsignature(True)
 * def cudaMallocPitch(size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Allocates pitched memory on the device.
 * 
 */
  __pyx_tuple__1057 = PyTuple_Pack(5, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_devPtr_2, __pyx_n_s_pitch_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1057)) __PYX_ERR(0, 14452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1057);
  __Pyx_GIVEREF(__pyx_tuple__1057);
  __pyx_codeobj__519 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaMallocPitch, 14452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__519)) __PYX_ERR(0, 14452, __pyx_L1_error)

  /* "cuda/cudart.pyx":14502
 * 
 * @cython.embedsignature(True)
 * def cudaMallocArray(desc : cudaChannelFormatDesc, size_t width, size_t height, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_tuple__1058 = PyTuple_Pack(7, __pyx_n_s_desc_2, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_flags_2, __pyx_n_s_array_2, __pyx_n_s_cdesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1058)) __PYX_ERR(0, 14502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1058);
  __Pyx_GIVEREF(__pyx_tuple__1058);
  __pyx_codeobj__520 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaMallocArray, 14502, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__520)) __PYX_ERR(0, 14502, __pyx_L1_error)

  /* "cuda/cudart.pyx":14574
 * 
 * @cython.embedsignature(True)
 * def cudaFree(devPtr):             # <<<<<<<<<<<<<<
 *     """ Frees memory on the device.
 * 
 */
  __pyx_tuple__1059 = PyTuple_Pack(4, __pyx_n_s_devPtr_2, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1059)) __PYX_ERR(0, 14574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1059);
  __Pyx_GIVEREF(__pyx_tuple__1059);
  __pyx_codeobj__521 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaFree, 14574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__521)) __PYX_ERR(0, 14574, __pyx_L1_error)

  /* "cuda/cudart.pyx":14620
 * 
 * @cython.embedsignature(True)
 * def cudaFreeHost(ptr):             # <<<<<<<<<<<<<<
 *     """ Frees page-locked memory.
 * 
 */
  __pyx_tuple__1060 = PyTuple_Pack(4, __pyx_n_s_ptr_3, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1060)) __PYX_ERR(0, 14620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1060);
  __Pyx_GIVEREF(__pyx_tuple__1060);
  __pyx_codeobj__522 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaFreeHost, 14620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__522)) __PYX_ERR(0, 14620, __pyx_L1_error)

  /* "cuda/cudart.pyx":14648
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array):             # <<<<<<<<<<<<<<
 *     """ Frees an array on the device.
 * 
 */
  __pyx_tuple__1061 = PyTuple_Pack(4, __pyx_n_s_array_2, __pyx_n_s_carray, __pyx_n_s_parray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1061)) __PYX_ERR(0, 14648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1061);
  __Pyx_GIVEREF(__pyx_tuple__1061);
  __pyx_codeobj__523 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaFreeArray, 14648, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__523)) __PYX_ERR(0, 14648, __pyx_L1_error)

  /* "cuda/cudart.pyx":14684
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array on the device.
 * 
 */
  __pyx_tuple__1062 = PyTuple_Pack(4, __pyx_n_s_mipmappedArray, __pyx_n_s_cmipmappedArray, __pyx_n_s_pmipmappedArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1062)) __PYX_ERR(0, 14684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1062);
  __Pyx_GIVEREF(__pyx_tuple__1062);
  __pyx_codeobj__524 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaFreeMipmappedArray, 14684, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__524)) __PYX_ERR(0, 14684, __pyx_L1_error)

  /* "cuda/cudart.pyx":14719
 * 
 * @cython.embedsignature(True)
 * def cudaHostAlloc(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_tuple__1063 = PyTuple_Pack(4, __pyx_n_s_size_2, __pyx_n_s_flags_2, __pyx_n_s_pHost, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1063)) __PYX_ERR(0, 14719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1063);
  __Pyx_GIVEREF(__pyx_tuple__1063);
  __pyx_codeobj__525 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaHostAlloc, 14719, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__525)) __PYX_ERR(0, 14719, __pyx_L1_error)

  /* "cuda/cudart.pyx":14799
 * 
 * @cython.embedsignature(True)
 * def cudaHostRegister(ptr, size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an existing host memory range for use by CUDA.
 * 
 */
  __pyx_tuple__1064 = PyTuple_Pack(6, __pyx_n_s_ptr_3, __pyx_n_s_size_2, __pyx_n_s_flags_2, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1064)) __PYX_ERR(0, 14799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1064);
  __Pyx_GIVEREF(__pyx_tuple__1064);
  __pyx_codeobj__526 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaHostRegister, 14799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__526)) __PYX_ERR(0, 14799, __pyx_L1_error)

  /* "cuda/cudart.pyx":14908
 * 
 * @cython.embedsignature(True)
 * def cudaHostUnregister(ptr):             # <<<<<<<<<<<<<<
 *     """ Unregisters a memory range that was registered with cudaHostRegister.
 * 
 */
  __pyx_tuple__1065 = PyTuple_Pack(4, __pyx_n_s_ptr_3, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1065)) __PYX_ERR(0, 14908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1065);
  __Pyx_GIVEREF(__pyx_tuple__1065);
  __pyx_codeobj__527 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaHostUnregister, 14908, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__527)) __PYX_ERR(0, 14908, __pyx_L1_error)

  /* "cuda/cudart.pyx":14938
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetDevicePointer(pHost, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Passes back device pointer of mapped host memory allocated by cudaHostAlloc or registered by cudaHostRegister.
 * 
 */
  __pyx_tuple__1066 = PyTuple_Pack(6, __pyx_n_s_pHost, __pyx_n_s_flags_2, __pyx_n_s_pDevice, __pyx_n_s_cpHost, __pyx_n_s_cpHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1066)) __PYX_ERR(0, 14938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1066);
  __Pyx_GIVEREF(__pyx_tuple__1066);
  __pyx_codeobj__528 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaHostGetDevicePointer, 14938, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__528)) __PYX_ERR(0, 14938, __pyx_L1_error)

  /* "cuda/cudart.pyx":14994
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetFlags(pHost):             # <<<<<<<<<<<<<<
 *     """ Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.
 * 
 */
  __pyx_tuple__1067 = PyTuple_Pack(5, __pyx_n_s_pHost, __pyx_n_s_pFlags, __pyx_n_s_cpHost, __pyx_n_s_cpHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1067)) __PYX_ERR(0, 14994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1067);
  __Pyx_GIVEREF(__pyx_tuple__1067);
  __pyx_codeobj__529 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaHostGetFlags, 14994, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__529)) __PYX_ERR(0, 14994, __pyx_L1_error)

  /* "cuda/cudart.pyx":15023
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3D(extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Allocates logical 1D, 2D, or 3D memory objects on the device.
 * 
 */
  __pyx_tuple__1068 = PyTuple_Pack(3, __pyx_n_s_extent_2, __pyx_n_s_pitchedDevPtr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1068)) __PYX_ERR(0, 15023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1068);
  __Pyx_GIVEREF(__pyx_tuple__1068);
  __pyx_codeobj__530 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaMalloc3D, 15023, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__530)) __PYX_ERR(0, 15023, __pyx_L1_error)

  /* "cuda/cudart.pyx":15066
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3DArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_tuple__1069 = PyTuple_Pack(6, __pyx_n_s_desc_2, __pyx_n_s_extent_2, __pyx_n_s_flags_2, __pyx_n_s_array_2, __pyx_n_s_cdesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1069)) __PYX_ERR(0, 15066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1069);
  __Pyx_GIVEREF(__pyx_tuple__1069);
  __pyx_codeobj__531 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaMalloc3DArray, 15066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__531)) __PYX_ERR(0, 15066, __pyx_L1_error)

  /* "cuda/cudart.pyx":15184
 * 
 * @cython.embedsignature(True)
 * def cudaMallocMipmappedArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int numLevels, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate a mipmapped array on the device.
 * 
 */
  __pyx_tuple__1070 = PyTuple_Pack(7, __pyx_n_s_desc_2, __pyx_n_s_extent_2, __pyx_n_s_numLevels_2, __pyx_n_s_flags_2, __pyx_n_s_mipmappedArray, __pyx_n_s_cdesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1070)) __PYX_ERR(0, 15184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1070);
  __Pyx_GIVEREF(__pyx_tuple__1070);
  __pyx_codeobj__532 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaMallocMipmappedArray, 15184, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__532)) __PYX_ERR(0, 15184, __pyx_L1_error)

  /* "cuda/cudart.pyx":15304
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */
  __pyx_tuple__1071 = PyTuple_Pack(6, __pyx_n_s_mipmappedArray, __pyx_n_s_level, __pyx_n_s_cmipmappedArray, __pyx_n_s_pmipmappedArray, __pyx_n_s_levelArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1071)) __PYX_ERR(0, 15304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1071);
  __Pyx_GIVEREF(__pyx_tuple__1071);
  __pyx_codeobj__533 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGetMipmappedArrayLevel, 15304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__533)) __PYX_ERR(0, 15304, __pyx_L1_error)

  /* "cuda/cudart.pyx":15349
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3D(p : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */
  __pyx_tuple__1072 = PyTuple_Pack(3, __pyx_n_s_p, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1072)) __PYX_ERR(0, 15349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1072);
  __Pyx_GIVEREF(__pyx_tuple__1072);
  __pyx_codeobj__534 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaMemcpy3D, 15349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__534)) __PYX_ERR(0, 15349, __pyx_L1_error)

  /* "cuda/cudart.pyx":15430
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeer(p : cudaMemcpy3DPeerParms):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices.
 * 
 */
  __pyx_tuple__1073 = PyTuple_Pack(3, __pyx_n_s_p, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1073)) __PYX_ERR(0, 15430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1073);
  __Pyx_GIVEREF(__pyx_tuple__1073);
  __pyx_codeobj__535 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaMemcpy3DPeer, 15430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__535)) __PYX_ERR(0, 15430, __pyx_L1_error)

  /* "cuda/cudart.pyx":15463
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DAsync(p : cudaMemcpy3DParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */
  __pyx_tuple__1074 = PyTuple_Pack(6, __pyx_n_s_p, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1074)) __PYX_ERR(0, 15463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1074);
  __Pyx_GIVEREF(__pyx_tuple__1074);
  __pyx_codeobj__536 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaMemcpy3DAsync, 15463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__536)) __PYX_ERR(0, 15463, __pyx_L1_error)

  /* "cuda/cudart.pyx":15567
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeerAsync(p : cudaMemcpy3DPeerParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices asynchronously.
 * 
 */
  __pyx_tuple__1075 = PyTuple_Pack(6, __pyx_n_s_p, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1075)) __PYX_ERR(0, 15567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1075);
  __Pyx_GIVEREF(__pyx_tuple__1075);
  __pyx_codeobj__537 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaMemcpy3DPeerAsync, 15567, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__537)) __PYX_ERR(0, 15567, __pyx_L1_error)

  /* "cuda/cudart.pyx":15605
 * 
 * @cython.embedsignature(True)
 * def cudaMemGetInfo():             # <<<<<<<<<<<<<<
 *     """ Gets free and total device memory.
 * 
 */
  __pyx_tuple__1076 = PyTuple_Pack(3, __pyx_n_s_free, __pyx_n_s_total, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1076)) __PYX_ERR(0, 15605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1076);
  __Pyx_GIVEREF(__pyx_tuple__1076);
  __pyx_codeobj__538 = (PyObject*)__Pyx_PyCode_New(0, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaMemGetInfo, 15605, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__538)) __PYX_ERR(0, 15605, __pyx_L1_error)

  /* "cuda/cudart.pyx":15644
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */
  __pyx_tuple__1077 = PyTuple_Pack(7, __pyx_n_s_array_2, __pyx_n_s_carray, __pyx_n_s_parray, __pyx_n_s_desc_2, __pyx_n_s_extent_2, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1077)) __PYX_ERR(0, 15644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1077);
  __Pyx_GIVEREF(__pyx_tuple__1077);
  __pyx_codeobj__539 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaArrayGetInfo, 15644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__539)) __PYX_ERR(0, 15644, __pyx_L1_error)

  /* "cuda/cudart.pyx":15689
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */
  __pyx_tuple__1078 = PyTuple_Pack(6, __pyx_n_s_hArray, __pyx_n_s_planeIdx, __pyx_n_s_chArray, __pyx_n_s_phArray, __pyx_n_s_pPlaneArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1078)) __PYX_ERR(0, 15689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1078);
  __Pyx_GIVEREF(__pyx_tuple__1078);
  __pyx_codeobj__540 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaArrayGetPlane, 15689, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__540)) __PYX_ERR(0, 15689, __pyx_L1_error)

  /* "cuda/cudart.pyx":15741
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetMemoryRequirements(array, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA array.
 * 
 */
  __pyx_tuple__1079 = PyTuple_Pack(6, __pyx_n_s_array_2, __pyx_n_s_device_2, __pyx_n_s_carray, __pyx_n_s_parray, __pyx_n_s_memoryRequirements, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1079)) __PYX_ERR(0, 15741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1079);
  __Pyx_GIVEREF(__pyx_tuple__1079);
  __pyx_codeobj__541 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaArrayGetMemoryRequirements, 15741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__541)) __PYX_ERR(0, 15741, __pyx_L1_error)

  /* "cuda/cudart.pyx":15787
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetMemoryRequirements(mipmap, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA mipmapped array.
 * 
 */
  __pyx_tuple__1080 = PyTuple_Pack(6, __pyx_n_s_mipmap_2, __pyx_n_s_device_2, __pyx_n_s_cmipmap, __pyx_n_s_pmipmap, __pyx_n_s_memoryRequirements, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1080)) __PYX_ERR(0, 15787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1080);
  __Pyx_GIVEREF(__pyx_tuple__1080);
  __pyx_codeobj__542 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaMipmappedArrayGetMemoryRequi, 15787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__542)) __PYX_ERR(0, 15787, __pyx_L1_error)

  /* "cuda/cudart.pyx":15833
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */
  __pyx_tuple__1081 = 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__1081)) __PYX_ERR(0, 15833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1081);
  __Pyx_GIVEREF(__pyx_tuple__1081);
  __pyx_codeobj__543 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaArrayGetSparseProperties, 15833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__543)) __PYX_ERR(0, 15833, __pyx_L1_error)

  /* "cuda/cudart.pyx":15885
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */
  __pyx_tuple__1082 = 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__1082)) __PYX_ERR(0, 15885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1082);
  __Pyx_GIVEREF(__pyx_tuple__1082);
  __pyx_codeobj__544 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaMipmappedArrayGetSparsePrope, 15885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__544)) __PYX_ERR(0, 15885, __pyx_L1_error)

  /* "cuda/cudart.pyx":15937
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy(dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1083 = PyTuple_Pack(10, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1083)) __PYX_ERR(0, 15937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1083);
  __Pyx_GIVEREF(__pyx_tuple__1083);
  __pyx_codeobj__545 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaMemcpy, 15937, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__545)) __PYX_ERR(0, 15937, __pyx_L1_error)

  /* "cuda/cudart.pyx":15984
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeer(dst, int dstDevice, src, int srcDevice, size_t count):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices.
 * 
 */
  __pyx_tuple__1084 = PyTuple_Pack(10, __pyx_n_s_dst_2, __pyx_n_s_dstDevice_2, __pyx_n_s_src, __pyx_n_s_srcDevice_2, __pyx_n_s_count, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1084)) __PYX_ERR(0, 15984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1084);
  __Pyx_GIVEREF(__pyx_tuple__1084);
  __pyx_codeobj__546 = (PyObject*)__Pyx_PyCode_New(5, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaMemcpyPeer, 15984, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__546)) __PYX_ERR(0, 15984, __pyx_L1_error)

  /* "cuda/cudart.pyx":16029
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2D(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1085 = PyTuple_Pack(13, __pyx_n_s_dst_2, __pyx_n_s_dpitch, __pyx_n_s_src, __pyx_n_s_spitch, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_kind_2, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1085)) __PYX_ERR(0, 16029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1085);
  __Pyx_GIVEREF(__pyx_tuple__1085);
  __pyx_codeobj__547 = (PyObject*)__Pyx_PyCode_New(7, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaMemcpy2D, 16029, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__547)) __PYX_ERR(0, 16029, __pyx_L1_error)

  /* "cuda/cudart.pyx":16086
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1086 = PyTuple_Pack(14, __pyx_n_s_dst_2, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_src, __pyx_n_s_spitch, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_kind_2, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1086)) __PYX_ERR(0, 16086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1086);
  __Pyx_GIVEREF(__pyx_tuple__1086);
  __pyx_codeobj__548 = (PyObject*)__Pyx_PyCode_New(8, 0, 14, 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_cudart_pyx, __pyx_n_s_cudaMemcpy2DToArray, 16086, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__548)) __PYX_ERR(0, 16086, __pyx_L1_error)

  /* "cuda/cudart.pyx":16152
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1087 = PyTuple_Pack(14, __pyx_n_s_dst_2, __pyx_n_s_dpitch, __pyx_n_s_src, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_kind_2, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1087)) __PYX_ERR(0, 16152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1087);
  __Pyx_GIVEREF(__pyx_tuple__1087);
  __pyx_codeobj__549 = (PyObject*)__Pyx_PyCode_New(8, 0, 14, 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_cudart_pyx, __pyx_n_s_cudaMemcpy2DFromArray, 16152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__549)) __PYX_ERR(0, 16152, __pyx_L1_error)

  /* "cuda/cudart.pyx":16218
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1088 = PyTuple_Pack(15, __pyx_n_s_dst_2, __pyx_n_s_wOffsetDst, __pyx_n_s_hOffsetDst, __pyx_n_s_src, __pyx_n_s_wOffsetSrc, __pyx_n_s_hOffsetSrc, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_kind_2, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1088)) __PYX_ERR(0, 16218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1088);
  __Pyx_GIVEREF(__pyx_tuple__1088);
  __pyx_codeobj__550 = (PyObject*)__Pyx_PyCode_New(9, 0, 15, 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_cudart_pyx, __pyx_n_s_cudaMemcpy2DArrayToArray, 16218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__550)) __PYX_ERR(0, 16218, __pyx_L1_error)

  /* "cuda/cudart.pyx":16291
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyAsync(dst, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1089 = PyTuple_Pack(13, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1089)) __PYX_ERR(0, 16291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1089);
  __Pyx_GIVEREF(__pyx_tuple__1089);
  __pyx_codeobj__551 = (PyObject*)__Pyx_PyCode_New(5, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaMemcpyAsync, 16291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__551)) __PYX_ERR(0, 16291, __pyx_L1_error)

  /* "cuda/cudart.pyx":16360
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeerAsync(dst, int dstDevice, src, int srcDevice, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices asynchronously.
 * 
 */
  __pyx_tuple__1090 = PyTuple_Pack(13, __pyx_n_s_dst_2, __pyx_n_s_dstDevice_2, __pyx_n_s_src, __pyx_n_s_srcDevice_2, __pyx_n_s_count, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1090)) __PYX_ERR(0, 16360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1090);
  __Pyx_GIVEREF(__pyx_tuple__1090);
  __pyx_codeobj__552 = (PyObject*)__Pyx_PyCode_New(6, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaMemcpyPeerAsync, 16360, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__552)) __PYX_ERR(0, 16360, __pyx_L1_error)

  /* "cuda/cudart.pyx":16415
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DAsync(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1091 = PyTuple_Pack(16, __pyx_n_s_dst_2, __pyx_n_s_dpitch, __pyx_n_s_src, __pyx_n_s_spitch, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_kind_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1091)) __PYX_ERR(0, 16415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1091);
  __Pyx_GIVEREF(__pyx_tuple__1091);
  __pyx_codeobj__553 = (PyObject*)__Pyx_PyCode_New(8, 0, 16, 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_cudart_pyx, __pyx_n_s_cudaMemcpy2DAsync, 16415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__553)) __PYX_ERR(0, 16415, __pyx_L1_error)

  /* "cuda/cudart.pyx":16495
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1092 = PyTuple_Pack(17, __pyx_n_s_dst_2, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_src, __pyx_n_s_spitch, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_kind_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1092)) __PYX_ERR(0, 16495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1092);
  __Pyx_GIVEREF(__pyx_tuple__1092);
  __pyx_codeobj__554 = (PyObject*)__Pyx_PyCode_New(9, 0, 17, 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_cudart_pyx, __pyx_n_s_cudaMemcpy2DToArrayAsync, 16495, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__554)) __PYX_ERR(0, 16495, __pyx_L1_error)

  /* "cuda/cudart.pyx":16584
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1093 = PyTuple_Pack(17, __pyx_n_s_dst_2, __pyx_n_s_dpitch, __pyx_n_s_src, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_kind_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1093)) __PYX_ERR(0, 16584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1093);
  __Pyx_GIVEREF(__pyx_tuple__1093);
  __pyx_codeobj__555 = (PyObject*)__Pyx_PyCode_New(9, 0, 17, 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_cudart_pyx, __pyx_n_s_cudaMemcpy2DFromArrayAsync, 16584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__555)) __PYX_ERR(0, 16584, __pyx_L1_error)

  /* "cuda/cudart.pyx":16672
 * 
 * @cython.embedsignature(True)
 * def cudaMemset(devPtr, int value, size_t count):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__1094 = PyTuple_Pack(6, __pyx_n_s_devPtr_2, __pyx_n_s_value, __pyx_n_s_count, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1094)) __PYX_ERR(0, 16672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1094);
  __Pyx_GIVEREF(__pyx_tuple__1094);
  __pyx_codeobj__556 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaMemset, 16672, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__556)) __PYX_ERR(0, 16672, __pyx_L1_error)

  /* "cuda/cudart.pyx":16706
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2D(devPtr, size_t pitch, int value, size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__1095 = PyTuple_Pack(8, __pyx_n_s_devPtr_2, __pyx_n_s_pitch_2, __pyx_n_s_value, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1095)) __PYX_ERR(0, 16706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1095);
  __Pyx_GIVEREF(__pyx_tuple__1095);
  __pyx_codeobj__557 = (PyObject*)__Pyx_PyCode_New(5, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaMemset2D, 16706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__557)) __PYX_ERR(0, 16706, __pyx_L1_error)

  /* "cuda/cudart.pyx":16746
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3D(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__1096 = PyTuple_Pack(4, __pyx_n_s_pitchedDevPtr, __pyx_n_s_value, __pyx_n_s_extent_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1096)) __PYX_ERR(0, 16746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1096);
  __Pyx_GIVEREF(__pyx_tuple__1096);
  __pyx_codeobj__558 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaMemset3D, 16746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__558)) __PYX_ERR(0, 16746, __pyx_L1_error)

  /* "cuda/cudart.pyx":16796
 * 
 * @cython.embedsignature(True)
 * def cudaMemsetAsync(devPtr, int value, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__1097 = PyTuple_Pack(9, __pyx_n_s_devPtr_2, __pyx_n_s_value, __pyx_n_s_count, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1097)) __PYX_ERR(0, 16796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1097);
  __Pyx_GIVEREF(__pyx_tuple__1097);
  __pyx_codeobj__559 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaMemsetAsync, 16796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__559)) __PYX_ERR(0, 16796, __pyx_L1_error)

  /* "cuda/cudart.pyx":16848
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2DAsync(devPtr, size_t pitch, int value, size_t width, size_t height, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__1098 = PyTuple_Pack(11, __pyx_n_s_devPtr_2, __pyx_n_s_pitch_2, __pyx_n_s_value, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1098)) __PYX_ERR(0, 16848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1098);
  __Pyx_GIVEREF(__pyx_tuple__1098);
  __pyx_codeobj__560 = (PyObject*)__Pyx_PyCode_New(6, 0, 11, 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_cudart_pyx, __pyx_n_s_cudaMemset2DAsync, 16848, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__560)) __PYX_ERR(0, 16848, __pyx_L1_error)

  /* "cuda/cudart.pyx":16906
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3DAsync(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__1099 = PyTuple_Pack(7, __pyx_n_s_pitchedDevPtr, __pyx_n_s_value, __pyx_n_s_extent_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1099)) __PYX_ERR(0, 16906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1099);
  __Pyx_GIVEREF(__pyx_tuple__1099);
  __pyx_codeobj__561 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaMemset3DAsync, 16906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__561)) __PYX_ERR(0, 16906, __pyx_L1_error)

  /* "cuda/cudart.pyx":16974
 * 
 * @cython.embedsignature(True)
 * def cudaMemPrefetchAsync(devPtr, size_t count, int dstDevice, stream):             # <<<<<<<<<<<<<<
 *     """ Prefetches memory to the specified destination device.
 * 
 */
  __pyx_tuple__1100 = PyTuple_Pack(9, __pyx_n_s_devPtr_2, __pyx_n_s_count, __pyx_n_s_dstDevice_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1100)) __PYX_ERR(0, 16974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1100);
  __Pyx_GIVEREF(__pyx_tuple__1100);
  __pyx_codeobj__562 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaMemPrefetchAsync, 16974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__562)) __PYX_ERR(0, 16974, __pyx_L1_error)

  /* "cuda/cudart.pyx":17070
 * 
 * @cython.embedsignature(True)
 * def cudaMemAdvise(devPtr, size_t count, advice not None : cudaMemoryAdvise, int device):             # <<<<<<<<<<<<<<
 *     """ Advise about the usage of a given memory range.
 * 
 */
  __pyx_tuple__1101 = PyTuple_Pack(8, __pyx_n_s_devPtr_2, __pyx_n_s_count, __pyx_n_s_advice, __pyx_n_s_device_2, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_cadvice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1101)) __PYX_ERR(0, 17070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1101);
  __Pyx_GIVEREF(__pyx_tuple__1101);
  __pyx_codeobj__563 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaMemAdvise, 17070, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__563)) __PYX_ERR(0, 17070, __pyx_L1_error)

  /* "cuda/cudart.pyx":17237
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttribute(size_t dataSize, attribute not None : cudaMemRangeAttribute, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query an attribute of a given memory range.
 * 
 */
  __pyx_tuple__1102 = PyTuple_Pack(10, __pyx_n_s_dataSize, __pyx_n_s_attribute, __pyx_n_s_devPtr_2, __pyx_n_s_count, __pyx_n_s_cdata, __pyx_n_s_cdata_ptr, __pyx_n_s_cattribute, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1102)) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1102);
  __Pyx_GIVEREF(__pyx_tuple__1102);
  __pyx_codeobj__564 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaMemRangeGetAttribute, 17237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__564)) __PYX_ERR(0, 17237, __pyx_L1_error)

  /* "cuda/cudart.pyx":17326
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttributes(dataSizes : List[int], attributes : List[cudaMemRangeAttribute], size_t numAttributes, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query attributes of a given memory range.
 * 
 */
  __pyx_tuple__1103 = PyTuple_Pack(20, __pyx_n_s_dataSizes, __pyx_n_s_attributes, __pyx_n_s_numAttributes, __pyx_n_s_devPtr_2, __pyx_n_s_count, __pyx_n_s_pylist, __pyx_n_s_voidStarHelper, __pyx_n_s_cvoidStarHelper_ptr, __pyx_n_s_cdataSizes, __pyx_n_s_cattributes, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __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__1103)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1103);
  __Pyx_GIVEREF(__pyx_tuple__1103);
  __pyx_codeobj__565 = (PyObject*)__Pyx_PyCode_New(5, 0, 20, 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_cudart_pyx, __pyx_n_s_cudaMemRangeGetAttributes, 17326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__565)) __PYX_ERR(0, 17326, __pyx_L1_error)

  /* "cuda/cudart.pyx":17395
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1104 = PyTuple_Pack(12, __pyx_n_s_dst_2, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_src, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1104)) __PYX_ERR(0, 17395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1104);
  __Pyx_GIVEREF(__pyx_tuple__1104);
  __pyx_codeobj__568 = (PyObject*)__Pyx_PyCode_New(6, 0, 12, 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_cudart_pyx, __pyx_n_s_cudaMemcpyToArray, 17395, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__568)) __PYX_ERR(0, 17395, __pyx_L1_error)

  /* "cuda/cudart.pyx":17452
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1105 = PyTuple_Pack(12, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1105)) __PYX_ERR(0, 17452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1105);
  __Pyx_GIVEREF(__pyx_tuple__1105);
  __pyx_codeobj__569 = (PyObject*)__Pyx_PyCode_New(6, 0, 12, 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_cudart_pyx, __pyx_n_s_cudaMemcpyFromArray, 17452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__569)) __PYX_ERR(0, 17452, __pyx_L1_error)

  /* "cuda/cudart.pyx":17509
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1106 = PyTuple_Pack(14, __pyx_n_s_dst_2, __pyx_n_s_wOffsetDst, __pyx_n_s_hOffsetDst, __pyx_n_s_src, __pyx_n_s_wOffsetSrc, __pyx_n_s_hOffsetSrc, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1106)) __PYX_ERR(0, 17509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1106);
  __Pyx_GIVEREF(__pyx_tuple__1106);
  __pyx_codeobj__570 = (PyObject*)__Pyx_PyCode_New(8, 0, 14, 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_cudart_pyx, __pyx_n_s_cudaMemcpyArrayToArray, 17509, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__570)) __PYX_ERR(0, 17509, __pyx_L1_error)

  /* "cuda/cudart.pyx":17579
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1107 = PyTuple_Pack(15, __pyx_n_s_dst_2, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_src, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1107)) __PYX_ERR(0, 17579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1107);
  __Pyx_GIVEREF(__pyx_tuple__1107);
  __pyx_codeobj__571 = (PyObject*)__Pyx_PyCode_New(7, 0, 15, 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_cudart_pyx, __pyx_n_s_cudaMemcpyToArrayAsync, 17579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__571)) __PYX_ERR(0, 17579, __pyx_L1_error)

  /* "cuda/cudart.pyx":17655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__1108 = PyTuple_Pack(15, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_wOffset, __pyx_n_s_hOffset, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1108)) __PYX_ERR(0, 17655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1108);
  __Pyx_GIVEREF(__pyx_tuple__1108);
  __pyx_codeobj__572 = (PyObject*)__Pyx_PyCode_New(7, 0, 15, 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_cudart_pyx, __pyx_n_s_cudaMemcpyFromArrayAsync, 17655, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__572)) __PYX_ERR(0, 17655, __pyx_L1_error)

  /* "cuda/cudart.pyx":17731
 * 
 * @cython.embedsignature(True)
 * def cudaMallocAsync(size_t size, hStream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory with stream ordered semantics.
 * 
 */
  __pyx_tuple__1109 = PyTuple_Pack(6, __pyx_n_s_size_2, __pyx_n_s_hStream, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_devPtr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1109)) __PYX_ERR(0, 17731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1109);
  __Pyx_GIVEREF(__pyx_tuple__1109);
  __pyx_codeobj__573 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaMallocAsync, 17731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__573)) __PYX_ERR(0, 17731, __pyx_L1_error)

  /* "cuda/cudart.pyx":17783
 * 
 * @cython.embedsignature(True)
 * def cudaFreeAsync(devPtr, hStream):             # <<<<<<<<<<<<<<
 *     """ Frees memory with stream ordered semantics.
 * 
 */
  __pyx_tuple__1110 = PyTuple_Pack(7, __pyx_n_s_devPtr_2, __pyx_n_s_hStream, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1110)) __PYX_ERR(0, 17783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1110);
  __Pyx_GIVEREF(__pyx_tuple__1110);
  __pyx_codeobj__574 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaFreeAsync, 17783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__574)) __PYX_ERR(0, 17783, __pyx_L1_error)

  /* "cuda/cudart.pyx":17828
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolTrimTo(memPool, size_t minBytesToKeep):             # <<<<<<<<<<<<<<
 *     """ Tries to release memory back to the OS.
 * 
 */
  __pyx_tuple__1111 = PyTuple_Pack(5, __pyx_n_s_memPool, __pyx_n_s_minBytesToKeep, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1111)) __PYX_ERR(0, 17828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1111);
  __Pyx_GIVEREF(__pyx_tuple__1111);
  __pyx_codeobj__575 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaMemPoolTrimTo, 17828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__575)) __PYX_ERR(0, 17828, __pyx_L1_error)

  /* "cuda/cudart.pyx":17877
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAttribute(memPool, attr not None : cudaMemPoolAttr, value):             # <<<<<<<<<<<<<<
 *     """ Sets attributes of a memory pool.
 * 
 */
  __pyx_tuple__1112 = PyTuple_Pack(9, __pyx_n_s_memPool, __pyx_n_s_attr, __pyx_n_s_value, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1112)) __PYX_ERR(0, 17877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1112);
  __Pyx_GIVEREF(__pyx_tuple__1112);
  __pyx_codeobj__576 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaMemPoolSetAttribute, 17877, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__576)) __PYX_ERR(0, 17877, __pyx_L1_error)

  /* "cuda/cudart.pyx":17952
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAttribute(memPool, attr not None : cudaMemPoolAttr):             # <<<<<<<<<<<<<<
 *     """ Gets attributes of a memory pool.
 * 
 */
  __pyx_tuple__1113 = PyTuple_Pack(8, __pyx_n_s_memPool, __pyx_n_s_attr, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1113)) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1113);
  __Pyx_GIVEREF(__pyx_tuple__1113);
  __pyx_codeobj__577 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaMemPoolGetAttribute, 17952, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__577)) __PYX_ERR(0, 17952, __pyx_L1_error)

  /* "cuda/cudart.pyx":18033
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */
  __pyx_tuple__1114 = PyTuple_Pack(10, __pyx_n_s_memPool, __pyx_n_s_descList, __pyx_n_s_count, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_cdescList, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1114)) __PYX_ERR(0, 18033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1114);
  __Pyx_GIVEREF(__pyx_tuple__1114);
  __pyx_codeobj__578 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaMemPoolSetAccess, 18033, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__578)) __PYX_ERR(0, 18033, __pyx_L1_error)

  /* "cuda/cudart.pyx":18084
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAccess(memPool, location : cudaMemLocation):             # <<<<<<<<<<<<<<
 *     """ Returns the accessibility of a pool from a device.
 * 
 */
  __pyx_tuple__1115 = 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__1115)) __PYX_ERR(0, 18084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1115);
  __Pyx_GIVEREF(__pyx_tuple__1115);
  __pyx_codeobj__580 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaMemPoolGetAccess, 18084, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__580)) __PYX_ERR(0, 18084, __pyx_L1_error)

  /* "cuda/cudart.pyx":18124
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolCreate(poolProps : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *     """ Creates a memory pool.
 * 
 */
  __pyx_tuple__1116 = PyTuple_Pack(4, __pyx_n_s_poolProps_2, __pyx_n_s_memPool, __pyx_n_s_cpoolProps_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1116)) __PYX_ERR(0, 18124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1116);
  __Pyx_GIVEREF(__pyx_tuple__1116);
  __pyx_codeobj__581 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaMemPoolCreate, 18124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__581)) __PYX_ERR(0, 18124, __pyx_L1_error)

  /* "cuda/cudart.pyx":18160
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolDestroy(memPool):             # <<<<<<<<<<<<<<
 *     """ Destroys the specified memory pool.
 * 
 */
  __pyx_tuple__1117 = PyTuple_Pack(4, __pyx_n_s_memPool, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1117)) __PYX_ERR(0, 18160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1117);
  __Pyx_GIVEREF(__pyx_tuple__1117);
  __pyx_codeobj__582 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaMemPoolDestroy, 18160, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__582)) __PYX_ERR(0, 18160, __pyx_L1_error)

  /* "cuda/cudart.pyx":18204
 * 
 * @cython.embedsignature(True)
 * def cudaMallocFromPoolAsync(size_t size, memPool, stream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory from a specified pool with stream ordered semantics.
 * 
 */
  __pyx_tuple__1118 = PyTuple_Pack(9, __pyx_n_s_size_2, __pyx_n_s_memPool, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_ptr_3, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1118)) __PYX_ERR(0, 18204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1118);
  __Pyx_GIVEREF(__pyx_tuple__1118);
  __pyx_codeobj__583 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaMallocFromPoolAsync, 18204, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__583)) __PYX_ERR(0, 18204, __pyx_L1_error)

  /* "cuda/cudart.pyx":18261
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportToShareableHandle(memPool, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Exports a memory pool to the requested handle type.
 * 
 */
  __pyx_tuple__1119 = PyTuple_Pack(9, __pyx_n_s_memPool, __pyx_n_s_handleType, __pyx_n_s_flags_2, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_shareableHandle, __pyx_n_s_cshareableHandle_ptr, __pyx_n_s_chandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1119)) __PYX_ERR(0, 18261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1119);
  __Pyx_GIVEREF(__pyx_tuple__1119);
  __pyx_codeobj__584 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaMemPoolExportToShareableHand, 18261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__584)) __PYX_ERR(0, 18261, __pyx_L1_error)

  /* "cuda/cudart.pyx":18314
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportFromShareableHandle(shareableHandle, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ imports a memory pool from a shared handle.
 * 
 */
  __pyx_tuple__1120 = PyTuple_Pack(8, __pyx_n_s_shareableHandle, __pyx_n_s_handleType, __pyx_n_s_flags_2, __pyx_n_s_memPool, __pyx_n_s_cshareableHandle, __pyx_n_s_cshareableHandle_ptr, __pyx_n_s_chandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1120)) __PYX_ERR(0, 18314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1120);
  __Pyx_GIVEREF(__pyx_tuple__1120);
  __pyx_codeobj__585 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaMemPoolImportFromShareableHa, 18314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__585)) __PYX_ERR(0, 18314, __pyx_L1_error)

  /* "cuda/cudart.pyx":18352
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportPointer(ptr):             # <<<<<<<<<<<<<<
 *     """ Export data to share a memory pool allocation between processes.
 * 
 */
  __pyx_tuple__1121 = PyTuple_Pack(5, __pyx_n_s_ptr_3, __pyx_n_s_exportData, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1121)) __PYX_ERR(0, 18352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1121);
  __Pyx_GIVEREF(__pyx_tuple__1121);
  __pyx_codeobj__586 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaMemPoolExportPointer, 18352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__586)) __PYX_ERR(0, 18352, __pyx_L1_error)

  /* "cuda/cudart.pyx":18383
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportPointer(memPool, exportData : cudaMemPoolPtrExportData):             # <<<<<<<<<<<<<<
 *     """ Import a memory pool allocation from another process.
 * 
 */
  __pyx_tuple__1122 = PyTuple_Pack(7, __pyx_n_s_memPool, __pyx_n_s_exportData, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_ptr_3, __pyx_n_s_cexportData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1122)) __PYX_ERR(0, 18383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1122);
  __Pyx_GIVEREF(__pyx_tuple__1122);
  __pyx_codeobj__587 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaMemPoolImportPointer, 18383, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__587)) __PYX_ERR(0, 18383, __pyx_L1_error)

  /* "cuda/cudart.pyx":18432
 * 
 * @cython.embedsignature(True)
 * def cudaPointerGetAttributes(ptr):             # <<<<<<<<<<<<<<
 *     """ Returns attributes about a specified pointer.
 * 
 */
  __pyx_tuple__1123 = PyTuple_Pack(5, __pyx_n_s_ptr_3, __pyx_n_s_attributes, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1123)) __PYX_ERR(0, 18432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1123);
  __Pyx_GIVEREF(__pyx_tuple__1123);
  __pyx_codeobj__588 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaPointerGetAttributes, 18432, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__588)) __PYX_ERR(0, 18432, __pyx_L1_error)

  /* "cuda/cudart.pyx":18498
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceCanAccessPeer(int device, int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Queries if a device may directly access a peer device's memory.
 * 
 */
  __pyx_tuple__1124 = PyTuple_Pack(4, __pyx_n_s_device_2, __pyx_n_s_peerDevice, __pyx_n_s_canAccessPeer, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1124)) __PYX_ERR(0, 18498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1124);
  __Pyx_GIVEREF(__pyx_tuple__1124);
  __pyx_codeobj__589 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaDeviceCanAccessPeer, 18498, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__589)) __PYX_ERR(0, 18498, __pyx_L1_error)

  /* "cuda/cudart.pyx":18531
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Enables direct access to memory allocations on a peer device.
 * 
 */
  __pyx_tuple__1125 = PyTuple_Pack(3, __pyx_n_s_peerDevice, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1125)) __PYX_ERR(0, 18531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1125);
  __Pyx_GIVEREF(__pyx_tuple__1125);
  __pyx_codeobj__590 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaDeviceEnablePeerAccess, 18531, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__590)) __PYX_ERR(0, 18531, __pyx_L1_error)

  /* "cuda/cudart.pyx":18578
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceDisablePeerAccess(int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Disables direct access to memory allocations on a peer device.
 * 
 */
  __pyx_tuple__1126 = PyTuple_Pack(3, __pyx_n_s_peerDevice, __pyx_n_s_peerDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1126)) __PYX_ERR(0, 18578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1126);
  __Pyx_GIVEREF(__pyx_tuple__1126);
  __pyx_codeobj__591 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaDeviceDisablePeerAccess, 18578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__591)) __PYX_ERR(0, 18578, __pyx_L1_error)

  /* "cuda/cudart.pyx":18603
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */
  __pyx_tuple__1127 = PyTuple_Pack(4, __pyx_n_s_resource, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1127)) __PYX_ERR(0, 18603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1127);
  __Pyx_GIVEREF(__pyx_tuple__1127);
  __pyx_codeobj__592 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGraphicsUnregisterResource, 18603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__592)) __PYX_ERR(0, 18603, __pyx_L1_error)

  /* "cuda/cudart.pyx":18640
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */
  __pyx_tuple__1128 = PyTuple_Pack(5, __pyx_n_s_resource, __pyx_n_s_flags_2, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1128)) __PYX_ERR(0, 18640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1128);
  __Pyx_GIVEREF(__pyx_tuple__1128);
  __pyx_codeobj__593 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphicsResourceSetMapFlags, 18640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__593)) __PYX_ERR(0, 18640, __pyx_L1_error)

  /* "cuda/cudart.pyx":18694
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */
  __pyx_tuple__1129 = PyTuple_Pack(8, __pyx_n_s_count, __pyx_n_s_resources, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cresources, __pyx_n_s_presources, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1129)) __PYX_ERR(0, 18694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1129);
  __Pyx_GIVEREF(__pyx_tuple__1129);
  __pyx_codeobj__594 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphicsMapResources, 18694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__594)) __PYX_ERR(0, 18694, __pyx_L1_error)

  /* "cuda/cudart.pyx":18756
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */
  __pyx_tuple__1130 = PyTuple_Pack(8, __pyx_n_s_count, __pyx_n_s_resources, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cresources, __pyx_n_s_presources, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1130)) __PYX_ERR(0, 18756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1130);
  __Pyx_GIVEREF(__pyx_tuple__1130);
  __pyx_codeobj__595 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphicsUnmapResources, 18756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__595)) __PYX_ERR(0, 18756, __pyx_L1_error)

  /* "cuda/cudart.pyx":18816
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */
  __pyx_tuple__1131 = PyTuple_Pack(6, __pyx_n_s_resource, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_devPtr_2, __pyx_n_s_size_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1131)) __PYX_ERR(0, 18816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1131);
  __Pyx_GIVEREF(__pyx_tuple__1131);
  __pyx_codeobj__596 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphicsResourceGetMappedPoi, 18816, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__596)) __PYX_ERR(0, 18816, __pyx_L1_error)

  /* "cuda/cudart.pyx":18858
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel):             # <<<<<<<<<<<<<<
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
 * 
 */
  __pyx_tuple__1132 = PyTuple_Pack(7, __pyx_n_s_resource, __pyx_n_s_arrayIndex, __pyx_n_s_mipLevel, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_array_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1132)) __PYX_ERR(0, 18858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1132);
  __Pyx_GIVEREF(__pyx_tuple__1132);
  __pyx_codeobj__597 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphicsSubResourceGetMapped, 18858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__597)) __PYX_ERR(0, 18858, __pyx_L1_error)

  /* "cuda/cudart.pyx":18911
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */
  __pyx_tuple__1133 = PyTuple_Pack(5, __pyx_n_s_resource, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_mipmappedArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1133)) __PYX_ERR(0, 18911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1133);
  __Pyx_GIVEREF(__pyx_tuple__1133);
  __pyx_codeobj__598 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphicsResourceGetMappedMip, 18911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__598)) __PYX_ERR(0, 18911, __pyx_L1_error)

  /* "cuda/cudart.pyx":18953
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */
  __pyx_tuple__1134 = PyTuple_Pack(5, __pyx_n_s_array_2, __pyx_n_s_carray, __pyx_n_s_parray, __pyx_n_s_desc_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1134)) __PYX_ERR(0, 18953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1134);
  __Pyx_GIVEREF(__pyx_tuple__1134);
  __pyx_codeobj__599 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGetChannelDesc, 18953, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__599)) __PYX_ERR(0, 18953, __pyx_L1_error)

  /* "cuda/cudart.pyx":18990
 * 
 * @cython.embedsignature(True)
 * def cudaCreateChannelDesc(int x, int y, int z, int w, f not None : cudaChannelFormatKind):             # <<<<<<<<<<<<<<
 *     """ Returns a channel descriptor using the specified format.
 * 
 */
  __pyx_tuple__1135 = PyTuple_Pack(8, __pyx_n_s_x_2, __pyx_n_s_y_2, __pyx_n_s_z_2, __pyx_n_s_w_2, __pyx_n_s_f_2, __pyx_n_s_cf, __pyx_n_s_err, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__1135)) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1135);
  __Pyx_GIVEREF(__pyx_tuple__1135);
  __pyx_codeobj__600 = (PyObject*)__Pyx_PyCode_New(5, 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_cudart_pyx, __pyx_n_s_cudaCreateChannelDesc, 18990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__600)) __PYX_ERR(0, 18990, __pyx_L1_error)

  /* "cuda/cudart.pyx":19036
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */
  __pyx_tuple__1136 = 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__1136)) __PYX_ERR(0, 19036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1136);
  __Pyx_GIVEREF(__pyx_tuple__1136);
  __pyx_codeobj__601 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaCreateTextureObject, 19036, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__601)) __PYX_ERR(0, 19036, __pyx_L1_error)

  /* "cuda/cudart.pyx":19260
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject_v2(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc_v2, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */
  __pyx_tuple__1137 = 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__1137)) __PYX_ERR(0, 19260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1137);
  __Pyx_GIVEREF(__pyx_tuple__1137);
  __pyx_codeobj__602 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaCreateTextureObject_v2, 19260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__602)) __PYX_ERR(0, 19260, __pyx_L1_error)

  /* "cuda/cudart.pyx":19498
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */
  __pyx_tuple__1138 = PyTuple_Pack(4, __pyx_n_s_texObject, __pyx_n_s_ctexObject, __pyx_n_s_ptexObject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1138)) __PYX_ERR(0, 19498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1138);
  __Pyx_GIVEREF(__pyx_tuple__1138);
  __pyx_codeobj__603 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaDestroyTextureObject, 19498, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__603)) __PYX_ERR(0, 19498, __pyx_L1_error)

  /* "cuda/cudart.pyx":19532
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */
  __pyx_tuple__1139 = 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__1139)) __PYX_ERR(0, 19532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1139);
  __Pyx_GIVEREF(__pyx_tuple__1139);
  __pyx_codeobj__604 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGetTextureObjectResourceDesc, 19532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__604)) __PYX_ERR(0, 19532, __pyx_L1_error)

  /* "cuda/cudart.pyx":19570
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */
  __pyx_tuple__1140 = 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__1140)) __PYX_ERR(0, 19570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1140);
  __Pyx_GIVEREF(__pyx_tuple__1140);
  __pyx_codeobj__605 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGetTextureObjectTextureDesc, 19570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__605)) __PYX_ERR(0, 19570, __pyx_L1_error)

  /* "cuda/cudart.pyx":19608
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc_v2(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */
  __pyx_tuple__1141 = 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__1141)) __PYX_ERR(0, 19608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1141);
  __Pyx_GIVEREF(__pyx_tuple__1141);
  __pyx_codeobj__606 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGetTextureObjectTextureDesc_2, 19608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__606)) __PYX_ERR(0, 19608, __pyx_L1_error)

  /* "cuda/cudart.pyx":19645
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */
  __pyx_tuple__1142 = 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__1142)) __PYX_ERR(0, 19645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1142);
  __Pyx_GIVEREF(__pyx_tuple__1142);
  __pyx_codeobj__607 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaGetTextureObjectResourceView, 19645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__607)) __PYX_ERR(0, 19645, __pyx_L1_error)

  /* "cuda/cudart.pyx":19683
 * 
 * @cython.embedsignature(True)
 * def cudaCreateSurfaceObject(pResDesc : cudaResourceDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a surface object.
 * 
 */
  __pyx_tuple__1143 = PyTuple_Pack(4, __pyx_n_s_pResDesc, __pyx_n_s_pSurfObject, __pyx_n_s_cpResDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1143)) __PYX_ERR(0, 19683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1143);
  __Pyx_GIVEREF(__pyx_tuple__1143);
  __pyx_codeobj__608 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaCreateSurfaceObject, 19683, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__608)) __PYX_ERR(0, 19683, __pyx_L1_error)

  /* "cuda/cudart.pyx":19720
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */
  __pyx_tuple__1144 = PyTuple_Pack(4, __pyx_n_s_surfObject, __pyx_n_s_csurfObject, __pyx_n_s_psurfObject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1144)) __PYX_ERR(0, 19720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1144);
  __Pyx_GIVEREF(__pyx_tuple__1144);
  __pyx_codeobj__609 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaDestroySurfaceObject, 19720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__609)) __PYX_ERR(0, 19720, __pyx_L1_error)

  /* "cuda/cudart.pyx":19754
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject):             # <<<<<<<<<<<<<<
 *     """ Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by `surfObject`.
 * 
 */
  __pyx_tuple__1145 = 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__1145)) __PYX_ERR(0, 19754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1145);
  __Pyx_GIVEREF(__pyx_tuple__1145);
  __pyx_codeobj__610 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaGetSurfaceObjectResourceDesc, 19754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__610)) __PYX_ERR(0, 19754, __pyx_L1_error)

  /* "cuda/cudart.pyx":19788
 * 
 * @cython.embedsignature(True)
 * def cudaDriverGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the latest version of CUDA supported by the driver.
 * 
 */
  __pyx_tuple__1146 = PyTuple_Pack(2, __pyx_n_s_driverVersion, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1146)) __PYX_ERR(0, 19788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1146);
  __Pyx_GIVEREF(__pyx_tuple__1146);
  __pyx_codeobj__611 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaDriverGetVersion, 19788, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__611)) __PYX_ERR(0, 19788, __pyx_L1_error)

  /* "cuda/cudart.pyx":19815
 * 
 * @cython.embedsignature(True)
 * def cudaRuntimeGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the CUDA Runtime version.
 * 
 */
  __pyx_tuple__1147 = PyTuple_Pack(2, __pyx_n_s_runtimeVersion, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1147)) __PYX_ERR(0, 19815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1147);
  __Pyx_GIVEREF(__pyx_tuple__1147);
  __pyx_codeobj__612 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudart_pyx, __pyx_n_s_cudaRuntimeGetVersion, 19815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__612)) __PYX_ERR(0, 19815, __pyx_L1_error)

  /* "cuda/cudart.pyx":19841
 * 
 * @cython.embedsignature(True)
 * def cudaGraphCreate(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates a graph.
 * 
 */
  __pyx_tuple__1148 = PyTuple_Pack(4, __pyx_n_s_flags_2, __pyx_n_s_flags_2, __pyx_n_s_pGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1148)) __PYX_ERR(0, 19841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1148);
  __Pyx_GIVEREF(__pyx_tuple__1148);
  __pyx_codeobj__613 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGraphCreate, 19841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__613)) __PYX_ERR(0, 19841, __pyx_L1_error)

  /* "cuda/cudart.pyx":19867
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddKernelNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a kernel execution node and adds it to a graph.
 * 
 */
  __pyx_tuple__1149 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pNodeParams, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1149)) __PYX_ERR(0, 19867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1149);
  __Pyx_GIVEREF(__pyx_tuple__1149);
  __pyx_codeobj__614 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddKernelNode, 19867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__614)) __PYX_ERR(0, 19867, __pyx_L1_error)

  /* "cuda/cudart.pyx":19985
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a kernel node's parameters.
 * 
 */
  __pyx_tuple__1150 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1150)) __PYX_ERR(0, 19985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1150);
  __Pyx_GIVEREF(__pyx_tuple__1150);
  __pyx_codeobj__616 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphKernelNodeGetParams, 19985, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__616)) __PYX_ERR(0, 19985, __pyx_L1_error)

  /* "cuda/cudart.pyx":20030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetParams(node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a kernel node's parameters.
 * 
 */
  __pyx_tuple__1151 = PyTuple_Pack(6, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1151)) __PYX_ERR(0, 20030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1151);
  __Pyx_GIVEREF(__pyx_tuple__1151);
  __pyx_codeobj__617 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphKernelNodeSetParams, 20030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__617)) __PYX_ERR(0, 20030, __pyx_L1_error)

  /* "cuda/cudart.pyx":20066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeCopyAttributes(hSrc, hDst):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source node to destination node.
 * 
 */
  __pyx_tuple__1152 = PyTuple_Pack(7, __pyx_n_s_hSrc, __pyx_n_s_hDst, __pyx_n_s_chDst, __pyx_n_s_phDst, __pyx_n_s_chSrc, __pyx_n_s_phSrc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1152)) __PYX_ERR(0, 20066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1152);
  __Pyx_GIVEREF(__pyx_tuple__1152);
  __pyx_codeobj__618 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphKernelNodeCopyAttribute, 20066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__618)) __PYX_ERR(0, 20066, __pyx_L1_error)

  /* "cuda/cudart.pyx":20113
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetAttribute(hNode, attr not None : cudaKernelNodeAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries node attribute.
 * 
 */
  __pyx_tuple__1153 = 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__1153)) __PYX_ERR(0, 20113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1153);
  __Pyx_GIVEREF(__pyx_tuple__1153);
  __pyx_codeobj__619 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphKernelNodeGetAttribute, 20113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__619)) __PYX_ERR(0, 20113, __pyx_L1_error)

  /* "cuda/cudart.pyx":20153
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */
  __pyx_tuple__1154 = PyTuple_Pack(8, __pyx_n_s_hNode, __pyx_n_s_attr, __pyx_n_s_value, __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__1154)) __PYX_ERR(0, 20153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1154);
  __Pyx_GIVEREF(__pyx_tuple__1154);
  __pyx_codeobj__620 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphKernelNodeSetAttribute, 20153, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__620)) __PYX_ERR(0, 20153, __pyx_L1_error)

  /* "cuda/cudart.pyx":20193
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pCopyParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Creates a memcpy node and adds it to a graph.
 * 
 */
  __pyx_tuple__1155 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pCopyParams, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_cpCopyParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1155)) __PYX_ERR(0, 20193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1155);
  __Pyx_GIVEREF(__pyx_tuple__1155);
  __pyx_codeobj__621 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddMemcpyNode, 20193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__621)) __PYX_ERR(0, 20193, __pyx_L1_error)

  /* "cuda/cudart.pyx":20265
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode1D(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Creates a 1D memcpy node and adds it to a graph.
 * 
 */
  __pyx_tuple__1156 = PyTuple_Pack(20, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1156)) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1156);
  __Pyx_GIVEREF(__pyx_tuple__1156);
  __pyx_codeobj__622 = (PyObject*)__Pyx_PyCode_New(7, 0, 20, 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_cudart_pyx, __pyx_n_s_cudaGraphAddMemcpyNode1D, 20265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__622)) __PYX_ERR(0, 20265, __pyx_L1_error)

  /* "cuda/cudart.pyx":20356
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memcpy node's parameters.
 * 
 */
  __pyx_tuple__1157 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1157)) __PYX_ERR(0, 20356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1157);
  __Pyx_GIVEREF(__pyx_tuple__1157);
  __pyx_codeobj__623 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphMemcpyNodeGetParams, 20356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__623)) __PYX_ERR(0, 20356, __pyx_L1_error)

  /* "cuda/cudart.pyx":20392
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams(node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters.
 * 
 */
  __pyx_tuple__1158 = PyTuple_Pack(6, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1158)) __PYX_ERR(0, 20392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1158);
  __Pyx_GIVEREF(__pyx_tuple__1158);
  __pyx_codeobj__624 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphMemcpyNodeSetParams, 20392, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__624)) __PYX_ERR(0, 20392, __pyx_L1_error)

  /* "cuda/cudart.pyx":20428
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams1D(node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters to perform a 1-dimensional copy.
 * 
 */
  __pyx_tuple__1159 = PyTuple_Pack(13, __pyx_n_s_node, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1159)) __PYX_ERR(0, 20428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1159);
  __Pyx_GIVEREF(__pyx_tuple__1159);
  __pyx_codeobj__625 = (PyObject*)__Pyx_PyCode_New(5, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphMemcpyNodeSetParams1D, 20428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__625)) __PYX_ERR(0, 20428, __pyx_L1_error)

  /* "cuda/cudart.pyx":20488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemsetNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pMemsetParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Creates a memset node and adds it to a graph.
 * 
 */
  __pyx_tuple__1160 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pMemsetParams, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_cpMemsetParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1160)) __PYX_ERR(0, 20488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1160);
  __Pyx_GIVEREF(__pyx_tuple__1160);
  __pyx_codeobj__626 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddMemsetNode, 20488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__626)) __PYX_ERR(0, 20488, __pyx_L1_error)

  /* "cuda/cudart.pyx":20554
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memset node's parameters.
 * 
 */
  __pyx_tuple__1161 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1161)) __PYX_ERR(0, 20554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1161);
  __Pyx_GIVEREF(__pyx_tuple__1161);
  __pyx_codeobj__627 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphMemsetNodeGetParams, 20554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__627)) __PYX_ERR(0, 20554, __pyx_L1_error)

  /* "cuda/cudart.pyx":20590
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeSetParams(node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets a memset node's parameters.
 * 
 */
  __pyx_tuple__1162 = PyTuple_Pack(6, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1162)) __PYX_ERR(0, 20590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1162);
  __Pyx_GIVEREF(__pyx_tuple__1162);
  __pyx_codeobj__628 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphMemsetNodeSetParams, 20590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__628)) __PYX_ERR(0, 20590, __pyx_L1_error)

  /* "cuda/cudart.pyx":20626
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddHostNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a host execution node and adds it to a graph.
 * 
 */
  __pyx_tuple__1163 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pNodeParams, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1163)) __PYX_ERR(0, 20626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1163);
  __Pyx_GIVEREF(__pyx_tuple__1163);
  __pyx_codeobj__629 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddHostNode, 20626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__629)) __PYX_ERR(0, 20626, __pyx_L1_error)

  /* "cuda/cudart.pyx":20693
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a host node's parameters.
 * 
 */
  __pyx_tuple__1164 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1164)) __PYX_ERR(0, 20693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1164);
  __Pyx_GIVEREF(__pyx_tuple__1164);
  __pyx_codeobj__630 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphHostNodeGetParams, 20693, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__630)) __PYX_ERR(0, 20693, __pyx_L1_error)

  /* "cuda/cudart.pyx":20729
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeSetParams(node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a host node's parameters.
 * 
 */
  __pyx_tuple__1165 = PyTuple_Pack(6, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1165)) __PYX_ERR(0, 20729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1165);
  __Pyx_GIVEREF(__pyx_tuple__1165);
  __pyx_codeobj__631 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphHostNodeSetParams, 20729, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__631)) __PYX_ERR(0, 20729, __pyx_L1_error)

  /* "cuda/cudart.pyx":20765
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddChildGraphNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, childGraph):             # <<<<<<<<<<<<<<
 *     """ Creates a child graph node and adds it to a graph.
 * 
 */
  __pyx_tuple__1166 = PyTuple_Pack(14, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_childGraph, __pyx_n_s_cchildGraph, __pyx_n_s_pchildGraph, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1166)) __PYX_ERR(0, 20765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1166);
  __Pyx_GIVEREF(__pyx_tuple__1166);
  __pyx_codeobj__632 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 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_cudart_pyx, __pyx_n_s_cudaGraphAddChildGraphNode, 20765, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__632)) __PYX_ERR(0, 20765, __pyx_L1_error)

  /* "cuda/cudart.pyx":20844
 * 
 * @cython.embedsignature(True)
 * def cudaGraphChildGraphNodeGetGraph(node):             # <<<<<<<<<<<<<<
 *     """ Gets a handle to the embedded graph of a child graph node.
 * 
 */
  __pyx_tuple__1167 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_pGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1167)) __PYX_ERR(0, 20844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1167);
  __Pyx_GIVEREF(__pyx_tuple__1167);
  __pyx_codeobj__633 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphChildGraphNodeGetGraph, 20844, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__633)) __PYX_ERR(0, 20844, __pyx_L1_error)

  /* "cuda/cudart.pyx":20885
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEmptyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Creates an empty node and adds it to a graph.
 * 
 */
  __pyx_tuple__1168 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1168)) __PYX_ERR(0, 20885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1168);
  __Pyx_GIVEREF(__pyx_tuple__1168);
  __pyx_codeobj__634 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 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_cudart_pyx, __pyx_n_s_cudaGraphAddEmptyNode, 20885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__634)) __PYX_ERR(0, 20885, __pyx_L1_error)

  /* "cuda/cudart.pyx":20952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventRecordNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event record node and adds it to a graph.
 * 
 */
  __pyx_tuple__1169 = PyTuple_Pack(14, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1169)) __PYX_ERR(0, 20952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1169);
  __Pyx_GIVEREF(__pyx_tuple__1169);
  __pyx_codeobj__635 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 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_cudart_pyx, __pyx_n_s_cudaGraphAddEventRecordNode, 20952, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__635)) __PYX_ERR(0, 20952, __pyx_L1_error)

  /* "cuda/cudart.pyx":21030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event record node.
 * 
 */
  __pyx_tuple__1170 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_event_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1170)) __PYX_ERR(0, 21030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1170);
  __Pyx_GIVEREF(__pyx_tuple__1170);
  __pyx_codeobj__636 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphEventRecordNodeGetEvent, 21030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__636)) __PYX_ERR(0, 21030, __pyx_L1_error)

  /* "cuda/cudart.pyx":21066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event record node's event.
 * 
 */
  __pyx_tuple__1171 = PyTuple_Pack(7, __pyx_n_s_node, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1171)) __PYX_ERR(0, 21066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1171);
  __Pyx_GIVEREF(__pyx_tuple__1171);
  __pyx_codeobj__637 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphEventRecordNodeSetEvent, 21066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__637)) __PYX_ERR(0, 21066, __pyx_L1_error)

  /* "cuda/cudart.pyx":21111
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event wait node and adds it to a graph.
 * 
 */
  __pyx_tuple__1172 = PyTuple_Pack(14, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1172)) __PYX_ERR(0, 21111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1172);
  __Pyx_GIVEREF(__pyx_tuple__1172);
  __pyx_codeobj__638 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 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_cudart_pyx, __pyx_n_s_cudaGraphAddEventWaitNode, 21111, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__638)) __PYX_ERR(0, 21111, __pyx_L1_error)

  /* "cuda/cudart.pyx":21192
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event wait node.
 * 
 */
  __pyx_tuple__1173 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_event_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1173)) __PYX_ERR(0, 21192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1173);
  __Pyx_GIVEREF(__pyx_tuple__1173);
  __pyx_codeobj__639 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphEventWaitNodeGetEvent, 21192, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__639)) __PYX_ERR(0, 21192, __pyx_L1_error)

  /* "cuda/cudart.pyx":21228
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event wait node's event.
 * 
 */
  __pyx_tuple__1174 = PyTuple_Pack(7, __pyx_n_s_node, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1174)) __PYX_ERR(0, 21228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1174);
  __Pyx_GIVEREF(__pyx_tuple__1174);
  __pyx_codeobj__640 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphEventWaitNodeSetEvent, 21228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__640)) __PYX_ERR(0, 21228, __pyx_L1_error)

  /* "cuda/cudart.pyx":21273
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresSignalNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore signal node and adds it to a graph.
 * 
 */
  __pyx_tuple__1175 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __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__1175)) __PYX_ERR(0, 21273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1175);
  __Pyx_GIVEREF(__pyx_tuple__1175);
  __pyx_codeobj__641 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddExternalSemaphoresSi_2, 21273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__641)) __PYX_ERR(0, 21273, __pyx_L1_error)

  /* "cuda/cudart.pyx":21341
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore signal node's parameters.
 * 
 */
  __pyx_tuple__1176 = 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__1176)) __PYX_ERR(0, 21341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1176);
  __Pyx_GIVEREF(__pyx_tuple__1176);
  __pyx_codeobj__642 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphExternalSemaphoresSigna, 21341, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__642)) __PYX_ERR(0, 21341, __pyx_L1_error)

  /* "cuda/cudart.pyx":21383
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore signal node's parameters.
 * 
 */
  __pyx_tuple__1177 = 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__1177)) __PYX_ERR(0, 21383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1177);
  __Pyx_GIVEREF(__pyx_tuple__1177);
  __pyx_codeobj__643 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphExternalSemaphoresSigna_2, 21383, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__643)) __PYX_ERR(0, 21383, __pyx_L1_error)

  /* "cuda/cudart.pyx":21420
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an external semaphore wait node and adds it to a graph.
 * 
 */
  __pyx_tuple__1178 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __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__1178)) __PYX_ERR(0, 21420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1178);
  __Pyx_GIVEREF(__pyx_tuple__1178);
  __pyx_codeobj__644 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddExternalSemaphoresWa_2, 21420, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__644)) __PYX_ERR(0, 21420, __pyx_L1_error)

  /* "cuda/cudart.pyx":21488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore wait node's parameters.
 * 
 */
  __pyx_tuple__1179 = 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__1179)) __PYX_ERR(0, 21488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1179);
  __Pyx_GIVEREF(__pyx_tuple__1179);
  __pyx_codeobj__645 = (PyObject*)__Pyx_PyCode_New(1, 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_cudart_pyx, __pyx_n_s_cudaGraphExternalSemaphoresWaitN, 21488, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__645)) __PYX_ERR(0, 21488, __pyx_L1_error)

  /* "cuda/cudart.pyx":21530
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore wait node's parameters.
 * 
 */
  __pyx_tuple__1180 = 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__1180)) __PYX_ERR(0, 21530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1180);
  __Pyx_GIVEREF(__pyx_tuple__1180);
  __pyx_codeobj__646 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphExternalSemaphoresWaitN_2, 21530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__646)) __PYX_ERR(0, 21530, __pyx_L1_error)

  /* "cuda/cudart.pyx":21567
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemAllocNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaMemAllocNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an allocation node and adds it to a graph.
 * 
 */
  __pyx_tuple__1181 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __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__1181)) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1181);
  __Pyx_GIVEREF(__pyx_tuple__1181);
  __pyx_codeobj__647 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddMemAllocNode, 21567, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__647)) __PYX_ERR(0, 21567, __pyx_L1_error)

  /* "cuda/cudart.pyx":21673
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemAllocNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory alloc node's parameters.
 * 
 */
  __pyx_tuple__1182 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_params_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1182)) __PYX_ERR(0, 21673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1182);
  __Pyx_GIVEREF(__pyx_tuple__1182);
  __pyx_codeobj__648 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphMemAllocNodeGetParams, 21673, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__648)) __PYX_ERR(0, 21673, __pyx_L1_error)

  /* "cuda/cudart.pyx":21712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemFreeNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dptr):             # <<<<<<<<<<<<<<
 *     """ Creates a memory free node and adds it to a graph.
 * 
 */
  __pyx_tuple__1183 = PyTuple_Pack(14, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_dptr_2, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphNode, __pyx_n_s_cpDependencies, __pyx_n_s_idx, __pyx_n_s_cdptr, __pyx_n_s_cdptr_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1183)) __PYX_ERR(0, 21712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1183);
  __Pyx_GIVEREF(__pyx_tuple__1183);
  __pyx_codeobj__649 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 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_cudart_pyx, __pyx_n_s_cudaGraphAddMemFreeNode, 21712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__649)) __PYX_ERR(0, 21712, __pyx_L1_error)

  /* "cuda/cudart.pyx":21797
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemFreeNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory free node's parameters.
 * 
 */
  __pyx_tuple__1184 = PyTuple_Pack(6, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_dptr_out, __pyx_n_s_cdptr_out_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1184)) __PYX_ERR(0, 21797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1184);
  __Pyx_GIVEREF(__pyx_tuple__1184);
  __pyx_codeobj__650 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphMemFreeNodeGetParams, 21797, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__650)) __PYX_ERR(0, 21797, __pyx_L1_error)

  /* "cuda/cudart.pyx":21834
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGraphMemTrim(int device):             # <<<<<<<<<<<<<<
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
 * 
 */
  __pyx_tuple__1185 = PyTuple_Pack(3, __pyx_n_s_device_2, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1185)) __PYX_ERR(0, 21834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1185);
  __Pyx_GIVEREF(__pyx_tuple__1185);
  __pyx_codeobj__651 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudart_pyx, __pyx_n_s_cudaDeviceGraphMemTrim, 21834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__651)) __PYX_ERR(0, 21834, __pyx_L1_error)

  /* "cuda/cudart.pyx":21859
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType):             # <<<<<<<<<<<<<<
 *     """ Query asynchronous allocation attributes related to graphs.
 * 
 */
  __pyx_tuple__1186 = PyTuple_Pack(6, __pyx_n_s_device_2, __pyx_n_s_attr, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1186)) __PYX_ERR(0, 21859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1186);
  __Pyx_GIVEREF(__pyx_tuple__1186);
  __pyx_codeobj__652 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaDeviceGetGraphMemAttribute, 21859, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__652)) __PYX_ERR(0, 21859, __pyx_L1_error)

  /* "cuda/cudart.pyx":21904
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType, value):             # <<<<<<<<<<<<<<
 *     """ Set asynchronous allocation attributes related to graphs.
 * 
 */
  __pyx_tuple__1187 = PyTuple_Pack(7, __pyx_n_s_device_2, __pyx_n_s_attr, __pyx_n_s_value, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1187)) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1187);
  __Pyx_GIVEREF(__pyx_tuple__1187);
  __pyx_codeobj__653 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaDeviceSetGraphMemAttribute, 21904, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__653)) __PYX_ERR(0, 21904, __pyx_L1_error)

  /* "cuda/cudart.pyx":21942
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */
  __pyx_tuple__1188 = PyTuple_Pack(5, __pyx_n_s_originalGraph, __pyx_n_s_coriginalGraph, __pyx_n_s_poriginalGraph, __pyx_n_s_pGraphClone, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1188)) __PYX_ERR(0, 21942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1188);
  __Pyx_GIVEREF(__pyx_tuple__1188);
  __pyx_codeobj__654 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphClone, 21942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__654)) __PYX_ERR(0, 21942, __pyx_L1_error)

  /* "cuda/cudart.pyx":21984
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeFindInClone(originalNode, clonedGraph):             # <<<<<<<<<<<<<<
 *     """ Finds a cloned version of a node.
 * 
 */
  __pyx_tuple__1189 = PyTuple_Pack(8, __pyx_n_s_originalNode, __pyx_n_s_clonedGraph, __pyx_n_s_cclonedGraph, __pyx_n_s_pclonedGraph, __pyx_n_s_coriginalNode, __pyx_n_s_poriginalNode, __pyx_n_s_pNode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1189)) __PYX_ERR(0, 21984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1189);
  __Pyx_GIVEREF(__pyx_tuple__1189);
  __pyx_codeobj__655 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphNodeFindInClone, 21984, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__655)) __PYX_ERR(0, 21984, __pyx_L1_error)

  /* "cuda/cudart.pyx":22039
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetType(node):             # <<<<<<<<<<<<<<
 *     """ Returns a node's type.
 * 
 */
  __pyx_tuple__1190 = PyTuple_Pack(5, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_pType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1190)) __PYX_ERR(0, 22039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1190);
  __Pyx_GIVEREF(__pyx_tuple__1190);
  __pyx_codeobj__656 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaGraphNodeGetType, 22039, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__656)) __PYX_ERR(0, 22039, __pyx_L1_error)

  /* "cuda/cudart.pyx":22075
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetNodes(graph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
 */
  __pyx_tuple__1191 = PyTuple_Pack(9, __pyx_n_s_graph, __pyx_n_s_numNodes, __pyx_n_s_graph_length, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_cnodes, __pyx_n_s_pynodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1191)) __PYX_ERR(0, 22075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1191);
  __Pyx_GIVEREF(__pyx_tuple__1191);
  __pyx_codeobj__657 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaGraphGetNodes, 22075, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__657)) __PYX_ERR(0, 22075, __pyx_L1_error)

  /* "cuda/cudart.pyx":22130
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetRootNodes(graph, size_t pNumRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
 */
  __pyx_tuple__1192 = PyTuple_Pack(9, __pyx_n_s_graph, __pyx_n_s_pNumRootNodes, __pyx_n_s_graph_length, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_cpRootNodes, __pyx_n_s_pypRootNodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1192)) __PYX_ERR(0, 22130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1192);
  __Pyx_GIVEREF(__pyx_tuple__1192);
  __pyx_codeobj__658 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphGetRootNodes, 22130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__658)) __PYX_ERR(0, 22130, __pyx_L1_error)

  /* "cuda/cudart.pyx":22185
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetEdges(graph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
 */
  __pyx_tuple__1193 = PyTuple_Pack(12, __pyx_n_s_graph, __pyx_n_s_numEdges, __pyx_n_s_graph_length, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __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__1193)) __PYX_ERR(0, 22185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1193);
  __Pyx_GIVEREF(__pyx_tuple__1193);
  __pyx_codeobj__659 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 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_cudart_pyx, __pyx_n_s_cudaGraphGetEdges, 22185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__659)) __PYX_ERR(0, 22185, __pyx_L1_error)

  /* "cuda/cudart.pyx":22254
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependencies(node, size_t pNumDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
 */
  __pyx_tuple__1194 = PyTuple_Pack(9, __pyx_n_s_node, __pyx_n_s_pNumDependencies, __pyx_n_s_graph_length, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_cpDependencies, __pyx_n_s_pypDependencies, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1194)) __PYX_ERR(0, 22254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1194);
  __Pyx_GIVEREF(__pyx_tuple__1194);
  __pyx_codeobj__660 = (PyObject*)__Pyx_PyCode_New(2, 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_cudart_pyx, __pyx_n_s_cudaGraphNodeGetDependencies, 22254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__660)) __PYX_ERR(0, 22254, __pyx_L1_error)

  /* "cuda/cudart.pyx":22310
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependentNodes(node, size_t pNumDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
 */
  __pyx_tuple__1195 = PyTuple_Pack(9, __pyx_n_s_node, __pyx_n_s_pNumDependentNodes, __pyx_n_s_graph_length, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_cpDependentNodes, __pyx_n_s_pypDependentNodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1195)) __PYX_ERR(0, 22310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1195);
  __Pyx_GIVEREF(__pyx_tuple__1195);
  __pyx_codeobj__661 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphNodeGetDependentNodes, 22310, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__661)) __PYX_ERR(0, 22310, __pyx_L1_error)

  /* "cuda/cudart.pyx":22366
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Adds dependency edges to a graph.
 * 
 */
  __pyx_tuple__1196 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_from, __pyx_n_s_to, __pyx_n_s_numDependencies, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __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__1196)) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1196);
  __Pyx_GIVEREF(__pyx_tuple__1196);
  __pyx_codeobj__662 = (PyObject*)__Pyx_PyCode_New(4, 0, 13, 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_cudart_pyx, __pyx_n_s_cudaGraphAddDependencies, 22366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__662)) __PYX_ERR(0, 22366, __pyx_L1_error)

  /* "cuda/cudart.pyx":22442
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRemoveDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Removes dependency edges from a graph.
 * 
 */
  __pyx_tuple__1197 = PyTuple_Pack(13, __pyx_n_s_graph, __pyx_n_s_from, __pyx_n_s_to, __pyx_n_s_numDependencies, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __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__1197)) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1197);
  __Pyx_GIVEREF(__pyx_tuple__1197);
  __pyx_codeobj__665 = (PyObject*)__Pyx_PyCode_New(4, 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_cudart_pyx, __pyx_n_s_cudaGraphRemoveDependencies, 22442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__665)) __PYX_ERR(0, 22442, __pyx_L1_error)

  /* "cuda/cudart.pyx":22519
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroyNode(node):             # <<<<<<<<<<<<<<
 *     """ Remove a node from the graph.
 * 
 */
  __pyx_tuple__1198 = PyTuple_Pack(4, __pyx_n_s_node, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1198)) __PYX_ERR(0, 22519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1198);
  __Pyx_GIVEREF(__pyx_tuple__1198);
  __pyx_codeobj__666 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGraphDestroyNode, 22519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__666)) __PYX_ERR(0, 22519, __pyx_L1_error)

  /* "cuda/cudart.pyx":22556
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiate(graph, char* pLogBuffer, size_t bufferSize):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */
  __pyx_tuple__1199 = PyTuple_Pack(8, __pyx_n_s_graph, __pyx_n_s_pLogBuffer, __pyx_n_s_bufferSize, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphExec, __pyx_n_s_pErrorNode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1199)) __PYX_ERR(0, 22556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1199);
  __Pyx_GIVEREF(__pyx_tuple__1199);
  __pyx_codeobj__667 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphInstantiate, 22556, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__667)) __PYX_ERR(0, 22556, __pyx_L1_error)

  /* "cuda/cudart.pyx":22609
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiateWithFlags(graph, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */
  __pyx_tuple__1200 = PyTuple_Pack(6, __pyx_n_s_graph, __pyx_n_s_flags_2, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_pGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1200)) __PYX_ERR(0, 22609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1200);
  __Pyx_GIVEREF(__pyx_tuple__1200);
  __pyx_codeobj__668 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphInstantiateWithFlags, 22609, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__668)) __PYX_ERR(0, 22609, __pyx_L1_error)

  /* "cuda/cudart.pyx":22672
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecKernelNodeSetParams(hGraphExec, node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a kernel node in the given graphExec.
 * 
 */
  __pyx_tuple__1201 = PyTuple_Pack(9, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1201)) __PYX_ERR(0, 22672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1201);
  __Pyx_GIVEREF(__pyx_tuple__1201);
  __pyx_codeobj__669 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphExecKernelNodeSetParams, 22672, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__669)) __PYX_ERR(0, 22672, __pyx_L1_error)

  /* "cuda/cudart.pyx":22731
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams(hGraphExec, node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 * 
 */
  __pyx_tuple__1202 = PyTuple_Pack(9, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1202)) __PYX_ERR(0, 22731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1202);
  __Pyx_GIVEREF(__pyx_tuple__1202);
  __pyx_codeobj__670 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams, 22731, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__670)) __PYX_ERR(0, 22731, __pyx_L1_error)

  /* "cuda/cudart.pyx":22796
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams1D(hGraphExec, node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
 * 
 */
  __pyx_tuple__1203 = PyTuple_Pack(16, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_count, __pyx_n_s_kind_2, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1203)) __PYX_ERR(0, 22796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1203);
  __Pyx_GIVEREF(__pyx_tuple__1203);
  __pyx_codeobj__671 = (PyObject*)__Pyx_PyCode_New(6, 0, 16, 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_cudart_pyx, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams_2, 22796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__671)) __PYX_ERR(0, 22796, __pyx_L1_error)

  /* "cuda/cudart.pyx":22869
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemsetNodeSetParams(hGraphExec, node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memset node in the given graphExec.
 * 
 */
  __pyx_tuple__1204 = PyTuple_Pack(9, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1204)) __PYX_ERR(0, 22869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1204);
  __Pyx_GIVEREF(__pyx_tuple__1204);
  __pyx_codeobj__672 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphExecMemsetNodeSetParams, 22869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__672)) __PYX_ERR(0, 22869, __pyx_L1_error)

  /* "cuda/cudart.pyx":22932
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecHostNodeSetParams(hGraphExec, node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a host node in the given graphExec.
 * 
 */
  __pyx_tuple__1205 = PyTuple_Pack(9, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1205)) __PYX_ERR(0, 22932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1205);
  __Pyx_GIVEREF(__pyx_tuple__1205);
  __pyx_codeobj__673 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphExecHostNodeSetParams, 22932, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__673)) __PYX_ERR(0, 22932, __pyx_L1_error)

  /* "cuda/cudart.pyx":22987
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecChildGraphNodeSetParams(hGraphExec, node, childGraph):             # <<<<<<<<<<<<<<
 *     """ Updates node parameters in the child graph node in the given graphExec.
 * 
 */
  __pyx_tuple__1206 = PyTuple_Pack(10, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_childGraph, __pyx_n_s_cchildGraph, __pyx_n_s_pchildGraph, __pyx_n_s_cnode, __pyx_n_s_pnode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1206)) __PYX_ERR(0, 22987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1206);
  __Pyx_GIVEREF(__pyx_tuple__1206);
  __pyx_codeobj__674 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaGraphExecChildGraphNodeSetPa, 22987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__674)) __PYX_ERR(0, 22987, __pyx_L1_error)

  /* "cuda/cudart.pyx":23059
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event record node in the given graphExec.
 * 
 */
  __pyx_tuple__1207 = 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__1207)) __PYX_ERR(0, 23059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1207);
  __Pyx_GIVEREF(__pyx_tuple__1207);
  __pyx_codeobj__675 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaGraphExecEventRecordNodeSetE, 23059, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__675)) __PYX_ERR(0, 23059, __pyx_L1_error)

  /* "cuda/cudart.pyx":23124
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event wait node in the given graphExec.
 * 
 */
  __pyx_tuple__1208 = 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__1208)) __PYX_ERR(0, 23124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1208);
  __Pyx_GIVEREF(__pyx_tuple__1208);
  __pyx_codeobj__676 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaGraphExecEventWaitNodeSetEve, 23124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__676)) __PYX_ERR(0, 23124, __pyx_L1_error)

  /* "cuda/cudart.pyx":23189
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 * 
 */
  __pyx_tuple__1209 = 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__1209)) __PYX_ERR(0, 23189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1209);
  __Pyx_GIVEREF(__pyx_tuple__1209);
  __pyx_codeobj__677 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphExecExternalSemaphoresS, 23189, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__677)) __PYX_ERR(0, 23189, __pyx_L1_error)

  /* "cuda/cudart.pyx":23249
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore wait 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(0, 23249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1210);
  __Pyx_GIVEREF(__pyx_tuple__1210);
  __pyx_codeobj__678 = (PyObject*)__Pyx_PyCode_New(3, 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_cudart_pyx, __pyx_n_s_cudaGraphExecExternalSemaphoresW, 23249, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__678)) __PYX_ERR(0, 23249, __pyx_L1_error)

  /* "cuda/cudart.pyx":23309
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):             # <<<<<<<<<<<<<<
 *     """ Enables or disables the specified node in the given graphExec.
 * 
 */
  __pyx_tuple__1211 = 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__1211)) __PYX_ERR(0, 23309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1211);
  __Pyx_GIVEREF(__pyx_tuple__1211);
  __pyx_codeobj__679 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphNodeSetEnabled, 23309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__679)) __PYX_ERR(0, 23309, __pyx_L1_error)

  /* "cuda/cudart.pyx":23372
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetEnabled(hGraphExec, hNode):             # <<<<<<<<<<<<<<
 *     """ Query whether a node in the given graphExec is enabled.
 * 
 */
  __pyx_tuple__1212 = 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__1212)) __PYX_ERR(0, 23372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1212);
  __Pyx_GIVEREF(__pyx_tuple__1212);
  __pyx_codeobj__680 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphNodeGetEnabled, 23372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__680)) __PYX_ERR(0, 23372, __pyx_L1_error)

  /* "cuda/cudart.pyx":23429
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecUpdate(hGraphExec, hGraph):             # <<<<<<<<<<<<<<
 *     """ Check whether an executable graph can be updated with a graph and perform the update if possible.
 * 
 */
  __pyx_tuple__1213 = PyTuple_Pack(9, __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_hErrorNode_out, __pyx_n_s_updateResult_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1213)) __PYX_ERR(0, 23429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1213);
  __Pyx_GIVEREF(__pyx_tuple__1213);
  __pyx_codeobj__681 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphExecUpdate, 23429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__681)) __PYX_ERR(0, 23429, __pyx_L1_error)

  /* "cuda/cudart.pyx":23576
 * 
 * @cython.embedsignature(True)
 * def cudaGraphUpload(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Uploads an executable graph in a stream.
 * 
 */
  __pyx_tuple__1214 = PyTuple_Pack(7, __pyx_n_s_graphExec, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cgraphExec, __pyx_n_s_pgraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1214)) __PYX_ERR(0, 23576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1214);
  __Pyx_GIVEREF(__pyx_tuple__1214);
  __pyx_codeobj__682 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphUpload, 23576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__682)) __PYX_ERR(0, 23576, __pyx_L1_error)

  /* "cuda/cudart.pyx":23625
 * 
 * @cython.embedsignature(True)
 * def cudaGraphLaunch(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Launches an executable graph in a stream.
 * 
 */
  __pyx_tuple__1215 = PyTuple_Pack(7, __pyx_n_s_graphExec, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cgraphExec, __pyx_n_s_pgraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1215)) __PYX_ERR(0, 23625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1215);
  __Pyx_GIVEREF(__pyx_tuple__1215);
  __pyx_codeobj__683 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphLaunch, 23625, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__683)) __PYX_ERR(0, 23625, __pyx_L1_error)

  /* "cuda/cudart.pyx":23679
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecDestroy(graphExec):             # <<<<<<<<<<<<<<
 *     """ Destroys an executable graph.
 * 
 */
  __pyx_tuple__1216 = PyTuple_Pack(4, __pyx_n_s_graphExec, __pyx_n_s_cgraphExec, __pyx_n_s_pgraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1216)) __PYX_ERR(0, 23679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1216);
  __Pyx_GIVEREF(__pyx_tuple__1216);
  __pyx_codeobj__684 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGraphExecDestroy, 23679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__684)) __PYX_ERR(0, 23679, __pyx_L1_error)

  /* "cuda/cudart.pyx":23712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */
  __pyx_tuple__1217 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1217)) __PYX_ERR(0, 23712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1217);
  __Pyx_GIVEREF(__pyx_tuple__1217);
  __pyx_codeobj__685 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGraphDestroy, 23712, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__685)) __PYX_ERR(0, 23712, __pyx_L1_error)

  /* "cuda/cudart.pyx":23745
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDebugDotPrint(graph, char* path, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Write a DOT file describing graph structure.
 * 
 */
  __pyx_tuple__1218 = PyTuple_Pack(6, __pyx_n_s_graph, __pyx_n_s_path, __pyx_n_s_flags_2, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1218)) __PYX_ERR(0, 23745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1218);
  __Pyx_GIVEREF(__pyx_tuple__1218);
  __pyx_codeobj__686 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphDebugDotPrint, 23745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__686)) __PYX_ERR(0, 23745, __pyx_L1_error)

  /* "cuda/cudart.pyx":23783
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */
  __pyx_tuple__1219 = PyTuple_Pack(10, __pyx_n_s_ptr_3, __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__1219)) __PYX_ERR(0, 23783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1219);
  __Pyx_GIVEREF(__pyx_tuple__1219);
  __pyx_codeobj__687 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaUserObjectCreate, 23783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__687)) __PYX_ERR(0, 23783, __pyx_L1_error)

  /* "cuda/cudart.pyx":23841
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRetain(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object.
 * 
 */
  __pyx_tuple__1220 = PyTuple_Pack(5, __pyx_n_s_object, __pyx_n_s_count, __pyx_n_s_cobject, __pyx_n_s_pobject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1220)) __PYX_ERR(0, 23841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1220);
  __Pyx_GIVEREF(__pyx_tuple__1220);
  __pyx_codeobj__688 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaUserObjectRetain, 23841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__688)) __PYX_ERR(0, 23841, __pyx_L1_error)

  /* "cuda/cudart.pyx":23881
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRelease(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a reference to a user object.
 * 
 */
  __pyx_tuple__1221 = PyTuple_Pack(5, __pyx_n_s_object, __pyx_n_s_count, __pyx_n_s_cobject, __pyx_n_s_pobject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1221)) __PYX_ERR(0, 23881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1221);
  __Pyx_GIVEREF(__pyx_tuple__1221);
  __pyx_codeobj__689 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaUserObjectRelease, 23881, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__689)) __PYX_ERR(0, 23881, __pyx_L1_error)

  /* "cuda/cudart.pyx":23924
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object from a graph.
 * 
 */
  __pyx_tuple__1222 = PyTuple_Pack(9, __pyx_n_s_graph, __pyx_n_s_object, __pyx_n_s_count, __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__1222)) __PYX_ERR(0, 23924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1222);
  __Pyx_GIVEREF(__pyx_tuple__1222);
  __pyx_codeobj__690 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaGraphRetainUserObject, 23924, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__690)) __PYX_ERR(0, 23924, __pyx_L1_error)

  /* "cuda/cudart.pyx":23980
 * 
 * @cython.embedsignature(True)
 * def cudaGraphReleaseUserObject(graph, object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a user object reference from a graph.
 * 
 */
  __pyx_tuple__1223 = PyTuple_Pack(8, __pyx_n_s_graph, __pyx_n_s_object, __pyx_n_s_count, __pyx_n_s_cobject, __pyx_n_s_pobject, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1223)) __PYX_ERR(0, 23980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1223);
  __Pyx_GIVEREF(__pyx_tuple__1223);
  __pyx_codeobj__691 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaGraphReleaseUserObject, 23980, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__691)) __PYX_ERR(0, 23980, __pyx_L1_error)

  /* "cuda/cudart.pyx":24031
 * 
 * @cython.embedsignature(True)
 * def cudaGetDriverEntryPoint(char* symbol, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Returns the requested driver API function pointer.
 * 
 */
  __pyx_tuple__1224 = PyTuple_Pack(4, __pyx_n_s_symbol, __pyx_n_s_flags_2, __pyx_n_s_funcPtr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1224)) __PYX_ERR(0, 24031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1224);
  __Pyx_GIVEREF(__pyx_tuple__1224);
  __pyx_codeobj__692 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGetDriverEntryPoint, 24031, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__692)) __PYX_ERR(0, 24031, __pyx_L1_error)

  /* "cuda/cudart.pyx":24100
 * 
 * @cython.embedsignature(True)
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 */
  __pyx_tuple__1225 = PyTuple_Pack(4, __pyx_n_s_pExportTableId, __pyx_n_s_ppExportTable, __pyx_n_s_cpExportTableId_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1225)) __PYX_ERR(0, 24100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1225);
  __Pyx_GIVEREF(__pyx_tuple__1225);
  __pyx_codeobj__693 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaGetExportTable, 24100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__693)) __PYX_ERR(0, 24100, __pyx_L1_error)

  /* "cuda/cudart.pyx":24108
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPitchedPtr` based on input parameters.
 * 
 */
  __pyx_tuple__1226 = PyTuple_Pack(8, __pyx_n_s_d, __pyx_n_s_p, __pyx_n_s_xsz, __pyx_n_s_ysz, __pyx_n_s_cd, __pyx_n_s_cd_ptr, __pyx_n_s_err, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__1226)) __PYX_ERR(0, 24108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1226);
  __Pyx_GIVEREF(__pyx_tuple__1226);
  __pyx_codeobj__694 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 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_cudart_pyx, __pyx_n_s_make_cudaPitchedPtr, 24108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__694)) __PYX_ERR(0, 24108, __pyx_L1_error)

  /* "cuda/cudart.pyx":24145
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPos` based on input parameters.
 * 
 */
  __pyx_tuple__1227 = PyTuple_Pack(5, __pyx_n_s_x_2, __pyx_n_s_y_2, __pyx_n_s_z_2, __pyx_n_s_err, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__1227)) __PYX_ERR(0, 24145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1227);
  __Pyx_GIVEREF(__pyx_tuple__1227);
  __pyx_codeobj__695 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudart_pyx, __pyx_n_s_make_cudaPos, 24145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__695)) __PYX_ERR(0, 24145, __pyx_L1_error)

  /* "cuda/cudart.pyx":24178
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaExtent` based on input parameters.
 * 
 */
  __pyx_tuple__1228 = PyTuple_Pack(5, __pyx_n_s_w_2, __pyx_n_s_h, __pyx_n_s_d, __pyx_n_s_err, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__1228)) __PYX_ERR(0, 24178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1228);
  __Pyx_GIVEREF(__pyx_tuple__1228);
  __pyx_codeobj__696 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudart_pyx, __pyx_n_s_make_cudaExtent, 24178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__696)) __PYX_ERR(0, 24178, __pyx_L1_error)

  /* "cuda/cudart.pyx":24212
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerInitialize(char* configFile, char* outputFile, outputMode not None : cudaOutputMode_t):             # <<<<<<<<<<<<<<
 *     """ Initialize the CUDA profiler.
 * 
 */
  __pyx_tuple__1229 = PyTuple_Pack(5, __pyx_n_s_configFile, __pyx_n_s_outputFile, __pyx_n_s_outputMode, __pyx_n_s_coutputMode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1229)) __PYX_ERR(0, 24212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1229);
  __Pyx_GIVEREF(__pyx_tuple__1229);
  __pyx_codeobj__697 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaProfilerInitialize, 24212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__697)) __PYX_ERR(0, 24212, __pyx_L1_error)

  /* "cuda/cudart.pyx":24263
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStart():             # <<<<<<<<<<<<<<
 *     """ Enable profiling.
 * 
 */
  __pyx_tuple__1230 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1230)) __PYX_ERR(0, 24263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1230);
  __Pyx_GIVEREF(__pyx_tuple__1230);
  __pyx_codeobj__698 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaProfilerStart, 24263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__698)) __PYX_ERR(0, 24263, __pyx_L1_error)

  /* "cuda/cudart.pyx":24287
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStop():             # <<<<<<<<<<<<<<
 *     """ Disable profiling.
 * 
 */
  __pyx_tuple__1231 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1231)) __PYX_ERR(0, 24287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1231);
  __Pyx_GIVEREF(__pyx_tuple__1231);
  __pyx_codeobj__699 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cudart_pyx, __pyx_n_s_cudaProfilerStop, 24287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__699)) __PYX_ERR(0, 24287, __pyx_L1_error)

  /* "cuda/cudart.pyx":24311
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsEGLRegisterImage(image, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an EGL image.
 * 
 */
  __pyx_tuple__1232 = 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__1232)) __PYX_ERR(0, 24311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1232);
  __Pyx_GIVEREF(__pyx_tuple__1232);
  __pyx_codeobj__700 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaGraphicsEGLRegisterImage, 24311, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__700)) __PYX_ERR(0, 24311, __pyx_L1_error)

  /* "cuda/cudart.pyx":24383
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnect(eglStream):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer.
 * 
 */
  __pyx_tuple__1233 = PyTuple_Pack(5, __pyx_n_s_eglStream, __pyx_n_s_ceglStream, __pyx_n_s_peglStream, __pyx_n_s_conn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1233)) __PYX_ERR(0, 24383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1233);
  __Pyx_GIVEREF(__pyx_tuple__1233);
  __pyx_codeobj__701 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamConsumerConnect, 24383, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__701)) __PYX_ERR(0, 24383, __pyx_L1_error)

  /* "cuda/cudart.pyx":24422
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnectWithFlags(eglStream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
 * 
 */
  __pyx_tuple__1234 = PyTuple_Pack(6, __pyx_n_s_eglStream, __pyx_n_s_flags_2, __pyx_n_s_ceglStream, __pyx_n_s_peglStream, __pyx_n_s_conn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1234)) __PYX_ERR(0, 24422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1234);
  __Pyx_GIVEREF(__pyx_tuple__1234);
  __pyx_codeobj__702 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamConsumerConnectWith, 24422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__702)) __PYX_ERR(0, 24422, __pyx_L1_error)

  /* "cuda/cudart.pyx":24465
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a consumer to EGLStream .
 * 
 */
  __pyx_tuple__1235 = PyTuple_Pack(4, __pyx_n_s_conn, __pyx_n_s_cconn, __pyx_n_s_pconn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1235)) __PYX_ERR(0, 24465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1235);
  __Pyx_GIVEREF(__pyx_tuple__1235);
  __pyx_codeobj__703 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamConsumerDisconnect, 24465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__703)) __PYX_ERR(0, 24465, __pyx_L1_error)

  /* "cuda/cudart.pyx":24499
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout):             # <<<<<<<<<<<<<<
 *     """ Acquire an image frame from the EGLStream with CUDA as a consumer.
 * 
 */
  __pyx_tuple__1236 = 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__1236)) __PYX_ERR(0, 24499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1236);
  __Pyx_GIVEREF(__pyx_tuple__1236);
  __pyx_codeobj__704 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamConsumerAcquireFram, 24499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__704)) __PYX_ERR(0, 24499, __pyx_L1_error)

  /* "cuda/cudart.pyx":24564
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):             # <<<<<<<<<<<<<<
 *     """ Releases the last frame acquired from the EGLStream.
 * 
 */
  __pyx_tuple__1237 = 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__1237)) __PYX_ERR(0, 24564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1237);
  __Pyx_GIVEREF(__pyx_tuple__1237);
  __pyx_codeobj__705 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamConsumerReleaseFram, 24564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__705)) __PYX_ERR(0, 24564, __pyx_L1_error)

  /* "cuda/cudart.pyx":24624
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerConnect(eglStream, width, height):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a producer.
 * 
 */
  __pyx_tuple__1238 = PyTuple_Pack(11, __pyx_n_s_eglStream, __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_ceglStream, __pyx_n_s_peglStream, __pyx_n_s_conn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1238)) __PYX_ERR(0, 24624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1238);
  __Pyx_GIVEREF(__pyx_tuple__1238);
  __pyx_codeobj__706 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamProducerConnect, 24624, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__706)) __PYX_ERR(0, 24624, __pyx_L1_error)

  /* "cuda/cudart.pyx":24687
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a producer to EGLStream .
 * 
 */
  __pyx_tuple__1239 = PyTuple_Pack(4, __pyx_n_s_conn, __pyx_n_s_cconn, __pyx_n_s_pconn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1239)) __PYX_ERR(0, 24687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1239);
  __Pyx_GIVEREF(__pyx_tuple__1239);
  __pyx_codeobj__707 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamProducerDisconnect, 24687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__707)) __PYX_ERR(0, 24687, __pyx_L1_error)

  /* "cuda/cudart.pyx":24721
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerPresentFrame(conn, eglframe not None : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
 * 
 */
  __pyx_tuple__1240 = 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__1240)) __PYX_ERR(0, 24721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1240);
  __Pyx_GIVEREF(__pyx_tuple__1240);
  __pyx_codeobj__708 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamProducerPresentFram, 24721, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__708)) __PYX_ERR(0, 24721, __pyx_L1_error)

  /* "cuda/cudart.pyx":24779
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerReturnFrame(conn, eglframe : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Return the CUDA eglFrame to the EGLStream last released by the consumer.
 * 
 */
  __pyx_tuple__1241 = 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__1241)) __PYX_ERR(0, 24779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1241);
  __Pyx_GIVEREF(__pyx_tuple__1241);
  __pyx_codeobj__709 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudart_pyx, __pyx_n_s_cudaEGLStreamProducerReturnFrame, 24779, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__709)) __PYX_ERR(0, 24779, __pyx_L1_error)

  /* "cuda/cudart.pyx":24832
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel):             # <<<<<<<<<<<<<<
 *     """ Get an eglFrame through which to access a registered EGL graphics resource.
 * 
 */
  __pyx_tuple__1242 = PyTuple_Pack(7, __pyx_n_s_resource, __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__1242)) __PYX_ERR(0, 24832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1242);
  __Pyx_GIVEREF(__pyx_tuple__1242);
  __pyx_codeobj__710 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudart_pyx, __pyx_n_s_cudaGraphicsResourceGetMappedEgl, 24832, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__710)) __PYX_ERR(0, 24832, __pyx_L1_error)

  /* "cuda/cudart.pyx":24882
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateFromEGLSync(eglSync, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event from EGLSync object.
 * 
 */
  __pyx_tuple__1243 = 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__1243)) __PYX_ERR(0, 24882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1243);
  __Pyx_GIVEREF(__pyx_tuple__1243);
  __pyx_codeobj__711 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudart_pyx, __pyx_n_s_cudaEventCreateFromEGLSync, 24882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__711)) __PYX_ERR(0, 24882, __pyx_L1_error)

  /* "cuda/cudart.pyx":24934
 * 
 * @cython.embedsignature(True)
 * def sizeof(objType):             # <<<<<<<<<<<<<<
 *     """ Returns the size of provided CUDA Python structure in bytes
 * 
 */
  __pyx_tuple__1244 = PyTuple_Pack(1, __pyx_n_s_objType); if (unlikely(!__pyx_tuple__1244)) __PYX_ERR(0, 24934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1244);
  __Pyx_GIVEREF(__pyx_tuple__1244);
  __pyx_codeobj__712 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_cudart_pyx, __pyx_n_s_sizeof, 24934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__712)) __PYX_ERR(0, 24934, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_127 = PyInt_FromLong(127); if (unlikely(!__pyx_int_127)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_256 = PyInt_FromLong(256); if (unlikely(!__pyx_int_256)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_neg_129 = PyInt_FromLong(-129); if (unlikely(!__pyx_int_neg_129)) __PYX_ERR(0, 1, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

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 (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaArray_t) < 0) __PYX_ERR(0, 2979, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaArray_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaArray_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaArray_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaArray_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaArray_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaArray_t) < 0) __PYX_ERR(0, 2979, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaArray_t) < 0) __PYX_ERR(0, 2979, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaArray_t = &__pyx_type_4cuda_6cudart_cudaArray_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaArray_const_t) < 0) __PYX_ERR(0, 3007, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaArray_const_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaArray_const_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaArray_const_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaArray_const_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaArray_const_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaArray_const_t) < 0) __PYX_ERR(0, 3007, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaArray_const_t) < 0) __PYX_ERR(0, 3007, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaArray_const_t = &__pyx_type_4cuda_6cudart_cudaArray_const_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMipmappedArray_t) < 0) __PYX_ERR(0, 3035, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMipmappedArray_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMipmappedArray_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMipmappedArray_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMipmappedArray_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMipmappedArray_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMipmappedArray_t) < 0) __PYX_ERR(0, 3035, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMipmappedArray_t) < 0) __PYX_ERR(0, 3035, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t = &__pyx_type_4cuda_6cudart_cudaMipmappedArray_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t) < 0) __PYX_ERR(0, 3063, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMipmappedArray_const_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t) < 0) __PYX_ERR(0, 3063, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t) < 0) __PYX_ERR(0, 3063, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t = &__pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaGraphicsResource_t) < 0) __PYX_ERR(0, 3091, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaGraphicsResource_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaGraphicsResource_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaGraphicsResource_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaGraphicsResource_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaGraphicsResource_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaGraphicsResource_t) < 0) __PYX_ERR(0, 3091, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaGraphicsResource_t) < 0) __PYX_ERR(0, 3091, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t = &__pyx_type_4cuda_6cudart_cudaGraphicsResource_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalMemory_t) < 0) __PYX_ERR(0, 3119, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalMemory_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalMemory_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalMemory_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalMemory_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalMemory_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalMemory_t) < 0) __PYX_ERR(0, 3119, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemory_t) < 0) __PYX_ERR(0, 3119, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalMemory_t = &__pyx_type_4cuda_6cudart_cudaExternalMemory_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalSemaphore_t) < 0) __PYX_ERR(0, 3147, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalSemaphore_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalSemaphore_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalSemaphore_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalSemaphore_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphore_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalSemaphore_t) < 0) __PYX_ERR(0, 3147, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphore_t) < 0) __PYX_ERR(0, 3147, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t = &__pyx_type_4cuda_6cudart_cudaExternalSemaphore_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_EGLImageKHR) < 0) __PYX_ERR(0, 3175, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_EGLImageKHR.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_EGLImageKHR.tp_dictoffset && __pyx_type_4cuda_6cudart_EGLImageKHR.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_EGLImageKHR.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLImageKHR_2, (PyObject *)&__pyx_type_4cuda_6cudart_EGLImageKHR) < 0) __PYX_ERR(0, 3175, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_EGLImageKHR) < 0) __PYX_ERR(0, 3175, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_EGLImageKHR = &__pyx_type_4cuda_6cudart_EGLImageKHR;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_EGLStreamKHR) < 0) __PYX_ERR(0, 3201, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_EGLStreamKHR.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_EGLStreamKHR.tp_dictoffset && __pyx_type_4cuda_6cudart_EGLStreamKHR.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_EGLStreamKHR.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLStreamKHR_2, (PyObject *)&__pyx_type_4cuda_6cudart_EGLStreamKHR) < 0) __PYX_ERR(0, 3201, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_EGLStreamKHR) < 0) __PYX_ERR(0, 3201, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_EGLStreamKHR = &__pyx_type_4cuda_6cudart_EGLStreamKHR;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_EGLSyncKHR) < 0) __PYX_ERR(0, 3227, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_EGLSyncKHR.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_EGLSyncKHR.tp_dictoffset && __pyx_type_4cuda_6cudart_EGLSyncKHR.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_EGLSyncKHR.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLSyncKHR_2, (PyObject *)&__pyx_type_4cuda_6cudart_EGLSyncKHR) < 0) __PYX_ERR(0, 3227, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_EGLSyncKHR) < 0) __PYX_ERR(0, 3227, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_EGLSyncKHR = &__pyx_type_4cuda_6cudart_EGLSyncKHR;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaHostFn_t) < 0) __PYX_ERR(0, 3253, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaHostFn_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaHostFn_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaHostFn_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaHostFn_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaHostFn_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaHostFn_t) < 0) __PYX_ERR(0, 3253, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaHostFn_t) < 0) __PYX_ERR(0, 3253, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaHostFn_t = &__pyx_type_4cuda_6cudart_cudaHostFn_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaStreamCallback_t) < 0) __PYX_ERR(0, 3279, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaStreamCallback_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaStreamCallback_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaStreamCallback_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaStreamCallback_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaStreamCallback_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaStreamCallback_t) < 0) __PYX_ERR(0, 3279, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaStreamCallback_t) < 0) __PYX_ERR(0, 3279, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaStreamCallback_t = &__pyx_type_4cuda_6cudart_cudaStreamCallback_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_dim3) < 0) __PYX_ERR(0, 3305, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_dim3.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_dim3.tp_dictoffset && __pyx_type_4cuda_6cudart_dim3.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_dim3.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_dim3, (PyObject *)&__pyx_type_4cuda_6cudart_dim3) < 0) __PYX_ERR(0, 3305, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_dim3) < 0) __PYX_ERR(0, 3305, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_dim3 = &__pyx_type_4cuda_6cudart_dim3;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 3366, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaChannelFormatDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaChannelFormatDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaChannelFormatDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaChannelFormatDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaChannelFormatDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 3366, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 3366, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc = &__pyx_type_4cuda_6cudart_cudaChannelFormatDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s) < 0) __PYX_ERR(0, 3448, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaArraySparseProperties_tileE, (PyObject *)&__pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s) < 0) __PYX_ERR(0, 3448, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s) < 0) __PYX_ERR(0, 3448, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s = &__pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaArraySparseProperties) < 0) __PYX_ERR(0, 3504, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaArraySparseProperties.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaArraySparseProperties.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaArraySparseProperties.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaArraySparseProperties.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaArraySparseProperties, (PyObject *)&__pyx_type_4cuda_6cudart_cudaArraySparseProperties) < 0) __PYX_ERR(0, 3504, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaArraySparseProperties) < 0) __PYX_ERR(0, 3504, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaArraySparseProperties = &__pyx_type_4cuda_6cudart_cudaArraySparseProperties;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements) < 0) __PYX_ERR(0, 3590, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaArrayMemoryRequirements, (PyObject *)&__pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements) < 0) __PYX_ERR(0, 3590, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements) < 0) __PYX_ERR(0, 3590, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaArrayMemoryRequirements = &__pyx_type_4cuda_6cudart_cudaArrayMemoryRequirements;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaPitchedPtr) < 0) __PYX_ERR(0, 3652, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaPitchedPtr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaPitchedPtr.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaPitchedPtr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaPitchedPtr.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaPitchedPtr, (PyObject *)&__pyx_type_4cuda_6cudart_cudaPitchedPtr) < 0) __PYX_ERR(0, 3652, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaPitchedPtr) < 0) __PYX_ERR(0, 3652, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaPitchedPtr = &__pyx_type_4cuda_6cudart_cudaPitchedPtr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExtent) < 0) __PYX_ERR(0, 3724, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExtent.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExtent.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExtent.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExtent.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExtent, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExtent) < 0) __PYX_ERR(0, 3724, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExtent) < 0) __PYX_ERR(0, 3724, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExtent = &__pyx_type_4cuda_6cudart_cudaExtent;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaPos) < 0) __PYX_ERR(0, 3787, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaPos.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaPos.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaPos.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaPos.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaPos, (PyObject *)&__pyx_type_4cuda_6cudart_cudaPos) < 0) __PYX_ERR(0, 3787, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaPos) < 0) __PYX_ERR(0, 3787, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaPos = &__pyx_type_4cuda_6cudart_cudaPos;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 3849, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemcpy3DParms.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemcpy3DParms.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemcpy3DParms.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemcpy3DParms.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemcpy3DParms, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 3849, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 3849, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms = &__pyx_type_4cuda_6cudart_cudaMemcpy3DParms;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms) < 0) __PYX_ERR(0, 4003, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemcpy3DPeerParms, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms) < 0) __PYX_ERR(0, 4003, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms) < 0) __PYX_ERR(0, 4003, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms = &__pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemsetParams) < 0) __PYX_ERR(0, 4167, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemsetParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemsetParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemsetParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemsetParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemsetParams, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemsetParams) < 0) __PYX_ERR(0, 4167, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemsetParams) < 0) __PYX_ERR(0, 4167, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemsetParams = &__pyx_type_4cuda_6cudart_cudaMemsetParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaAccessPolicyWindow) < 0) __PYX_ERR(0, 4259, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaAccessPolicyWindow.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaAccessPolicyWindow.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaAccessPolicyWindow.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaAccessPolicyWindow.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaAccessPolicyWindow, (PyObject *)&__pyx_type_4cuda_6cudart_cudaAccessPolicyWindow) < 0) __PYX_ERR(0, 4259, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaAccessPolicyWindow) < 0) __PYX_ERR(0, 4259, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow = &__pyx_type_4cuda_6cudart_cudaAccessPolicyWindow;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaHostNodeParams) < 0) __PYX_ERR(0, 4352, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaHostNodeParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaHostNodeParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaHostNodeParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaHostNodeParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaHostNodeParams, (PyObject *)&__pyx_type_4cuda_6cudart_cudaHostNodeParams) < 0) __PYX_ERR(0, 4352, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaHostNodeParams) < 0) __PYX_ERR(0, 4352, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaHostNodeParams = &__pyx_type_4cuda_6cudart_cudaHostNodeParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s) < 0) __PYX_ERR(0, 4412, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaResourceDesc_res_res_array, (PyObject *)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s) < 0) __PYX_ERR(0, 4412, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s) < 0) __PYX_ERR(0, 4412, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_array_s = &__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s) < 0) __PYX_ERR(0, 4456, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaResourceDesc_res_res_mipmap, (PyObject *)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s) < 0) __PYX_ERR(0, 4456, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s) < 0) __PYX_ERR(0, 4456, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s = &__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s) < 0) __PYX_ERR(0, 4500, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaResourceDesc_res_res_linear, (PyObject *)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s) < 0) __PYX_ERR(0, 4500, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s) < 0) __PYX_ERR(0, 4500, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_linear_s = &__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s) < 0) __PYX_ERR(0, 4560, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaResourceDesc_res_res_pitch2, (PyObject *)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s) < 0) __PYX_ERR(0, 4560, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s) < 0) __PYX_ERR(0, 4560, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s = &__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_u) < 0) __PYX_ERR(0, 4640, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaResourceDesc_res_u.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaResourceDesc_res_u.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaResourceDesc_res_u.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaResourceDesc_res_u.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaResourceDesc_res_u, (PyObject *)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_u) < 0) __PYX_ERR(0, 4640, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_u) < 0) __PYX_ERR(0, 4640, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_u = &__pyx_type_4cuda_6cudart__cudaResourceDesc_res_u;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaResourceDesc) < 0) __PYX_ERR(0, 4725, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaResourceDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaResourceDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaResourceDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaResourceDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaResourceDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaResourceDesc) < 0) __PYX_ERR(0, 4725, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaResourceDesc) < 0) __PYX_ERR(0, 4725, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaResourceDesc = &__pyx_type_4cuda_6cudart_cudaResourceDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaResourceViewDesc) < 0) __PYX_ERR(0, 4781, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaResourceViewDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaResourceViewDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaResourceViewDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaResourceViewDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaResourceViewDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaResourceViewDesc) < 0) __PYX_ERR(0, 4781, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaResourceViewDesc) < 0) __PYX_ERR(0, 4781, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaResourceViewDesc = &__pyx_type_4cuda_6cudart_cudaResourceViewDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaPointerAttributes) < 0) __PYX_ERR(0, 4893, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaPointerAttributes.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaPointerAttributes.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaPointerAttributes.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaPointerAttributes.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaPointerAttributes, (PyObject *)&__pyx_type_4cuda_6cudart_cudaPointerAttributes) < 0) __PYX_ERR(0, 4893, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaPointerAttributes) < 0) __PYX_ERR(0, 4893, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaPointerAttributes = &__pyx_type_4cuda_6cudart_cudaPointerAttributes;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaFuncAttributes) < 0) __PYX_ERR(0, 4976, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaFuncAttributes.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaFuncAttributes.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaFuncAttributes.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaFuncAttributes.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaFuncAttributes, (PyObject *)&__pyx_type_4cuda_6cudart_cudaFuncAttributes) < 0) __PYX_ERR(0, 4976, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaFuncAttributes) < 0) __PYX_ERR(0, 4976, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaFuncAttributes = &__pyx_type_4cuda_6cudart_cudaFuncAttributes;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemLocation) < 0) __PYX_ERR(0, 5116, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemLocation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemLocation.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemLocation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemLocation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemLocation, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemLocation) < 0) __PYX_ERR(0, 5116, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemLocation) < 0) __PYX_ERR(0, 5116, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemLocation = &__pyx_type_4cuda_6cudart_cudaMemLocation;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemAccessDesc) < 0) __PYX_ERR(0, 5169, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemAccessDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemAccessDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemAccessDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemAccessDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemAccessDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemAccessDesc) < 0) __PYX_ERR(0, 5169, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemAccessDesc) < 0) __PYX_ERR(0, 5169, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemAccessDesc = &__pyx_type_4cuda_6cudart_cudaMemAccessDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemPoolProps) < 0) __PYX_ERR(0, 5225, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemPoolProps.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemPoolProps.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemPoolProps.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemPoolProps.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemPoolProps, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemPoolProps) < 0) __PYX_ERR(0, 5225, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemPoolProps) < 0) __PYX_ERR(0, 5225, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemPoolProps = &__pyx_type_4cuda_6cudart_cudaMemPoolProps;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData) < 0) __PYX_ERR(0, 5318, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemPoolPtrExportData, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData) < 0) __PYX_ERR(0, 5318, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData) < 0) __PYX_ERR(0, 5318, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData = &__pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemAllocNodeParams) < 0) __PYX_ERR(0, 5362, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemAllocNodeParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemAllocNodeParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemAllocNodeParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemAllocNodeParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemAllocNodeParams, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemAllocNodeParams) < 0) __PYX_ERR(0, 5362, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemAllocNodeParams) < 0) __PYX_ERR(0, 5362, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams = &__pyx_type_4cuda_6cudart_cudaMemAllocNodeParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_CUuuid_st) < 0) __PYX_ERR(0, 5466, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_CUuuid_st.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_CUuuid_st.tp_dictoffset && __pyx_type_4cuda_6cudart_CUuuid_st.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_CUuuid_st.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUuuid_st, (PyObject *)&__pyx_type_4cuda_6cudart_CUuuid_st) < 0) __PYX_ERR(0, 5466, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_CUuuid_st) < 0) __PYX_ERR(0, 5466, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_CUuuid_st = &__pyx_type_4cuda_6cudart_CUuuid_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaDeviceProp) < 0) __PYX_ERR(0, 5503, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaDeviceProp.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaDeviceProp.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaDeviceProp.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaDeviceProp.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaDeviceProp, (PyObject *)&__pyx_type_4cuda_6cudart_cudaDeviceProp) < 0) __PYX_ERR(0, 5503, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaDeviceProp) < 0) __PYX_ERR(0, 5503, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaDeviceProp = &__pyx_type_4cuda_6cudart_cudaDeviceProp;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaIpcEventHandle_st) < 0) __PYX_ERR(0, 6365, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaIpcEventHandle_st.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaIpcEventHandle_st.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaIpcEventHandle_st.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaIpcEventHandle_st.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaIpcEventHandle_st, (PyObject *)&__pyx_type_4cuda_6cudart_cudaIpcEventHandle_st) < 0) __PYX_ERR(0, 6365, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaIpcEventHandle_st) < 0) __PYX_ERR(0, 6365, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_st = &__pyx_type_4cuda_6cudart_cudaIpcEventHandle_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaIpcMemHandle_st) < 0) __PYX_ERR(0, 6417, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaIpcMemHandle_st.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaIpcMemHandle_st.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaIpcMemHandle_st.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaIpcMemHandle_st.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaIpcMemHandle_st, (PyObject *)&__pyx_type_4cuda_6cudart_cudaIpcMemHandle_st) < 0) __PYX_ERR(0, 6417, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaIpcMemHandle_st) < 0) __PYX_ERR(0, 6417, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_st = &__pyx_type_4cuda_6cudart_cudaIpcMemHandle_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 6469, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalMemoryHandleDesc_ha, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 6469, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 6469, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s = &__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u) < 0) __PYX_ERR(0, 6515, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalMemoryHandleDesc_ha_2, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u) < 0) __PYX_ERR(0, 6515, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u) < 0) __PYX_ERR(0, 6515, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u = &__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc) < 0) __PYX_ERR(0, 6575, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalMemoryHandleDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc) < 0) __PYX_ERR(0, 6575, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc) < 0) __PYX_ERR(0, 6575, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalMemoryHandleDesc = &__pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc) < 0) __PYX_ERR(0, 6651, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalMemoryBufferDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc) < 0) __PYX_ERR(0, 6651, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc) < 0) __PYX_ERR(0, 6651, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalMemoryBufferDesc = &__pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc) < 0) __PYX_ERR(0, 6713, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalMemoryMipmappedArray, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc) < 0) __PYX_ERR(0, 6713, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc) < 0) __PYX_ERR(0, 6713, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc = &__pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 6806, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreHandleDesc, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 6806, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 6806, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u) < 0) __PYX_ERR(0, 6852, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreHandleDesc_2, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u) < 0) __PYX_ERR(0, 6852, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u) < 0) __PYX_ERR(0, 6852, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc) < 0) __PYX_ERR(0, 6912, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreHandleDesc_3, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc) < 0) __PYX_ERR(0, 6912, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc) < 0) __PYX_ERR(0, 6912, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreHandleDesc = &__pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s) < 0) __PYX_ERR(0, 6978, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreSignalPara, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s) < 0) __PYX_ERR(0, 6978, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s) < 0) __PYX_ERR(0, 6978, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 7014, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreSignalPara_2, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 7014, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 7014, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 7060, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreSignalPara_3, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 7060, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 7060, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s) < 0) __PYX_ERR(0, 7096, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreSignalPara_4, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s) < 0) __PYX_ERR(0, 7096, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s) < 0) __PYX_ERR(0, 7096, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams) < 0) __PYX_ERR(0, 7176, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreSignalParam, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams) < 0) __PYX_ERR(0, 7176, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams) < 0) __PYX_ERR(0, 7176, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams = &__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s) < 0) __PYX_ERR(0, 7249, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreWaitParams, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s) < 0) __PYX_ERR(0, 7249, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s) < 0) __PYX_ERR(0, 7249, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 7285, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreWaitParams_2, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 7285, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 7285, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 7331, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreWaitParams_3, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 7331, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 7331, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s) < 0) __PYX_ERR(0, 7377, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreWaitParams_4, (PyObject *)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s) < 0) __PYX_ERR(0, 7377, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s) < 0) __PYX_ERR(0, 7377, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s = &__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams) < 0) __PYX_ERR(0, 7457, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreWaitParams_5, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams) < 0) __PYX_ERR(0, 7457, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams) < 0) __PYX_ERR(0, 7457, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams = &__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaKernelNodeParams) < 0) __PYX_ERR(0, 7530, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaKernelNodeParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaKernelNodeParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaKernelNodeParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaKernelNodeParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaKernelNodeParams, (PyObject *)&__pyx_type_4cuda_6cudart_cudaKernelNodeParams) < 0) __PYX_ERR(0, 7530, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaKernelNodeParams) < 0) __PYX_ERR(0, 7530, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaKernelNodeParams = &__pyx_type_4cuda_6cudart_cudaKernelNodeParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams) < 0) __PYX_ERR(0, 7630, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreSignalNodeP, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams) < 0) __PYX_ERR(0, 7630, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams) < 0) __PYX_ERR(0, 7630, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams = &__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams) < 0) __PYX_ERR(0, 7722, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaExternalSemaphoreWaitNodePar, (PyObject *)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams) < 0) __PYX_ERR(0, 7722, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams) < 0) __PYX_ERR(0, 7722, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams = &__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s) < 0) __PYX_ERR(0, 7814, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaLaunchAttributeValue_cudaLa, (PyObject *)&__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s) < 0) __PYX_ERR(0, 7814, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s) < 0) __PYX_ERR(0, 7814, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s = &__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s) < 0) __PYX_ERR(0, 7870, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaLaunchAttributeValue_cudaLa_2, (PyObject *)&__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s) < 0) __PYX_ERR(0, 7870, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s) < 0) __PYX_ERR(0, 7870, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s = &__pyx_type_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaLaunchAttributeValue) < 0) __PYX_ERR(0, 7934, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaLaunchAttributeValue.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaLaunchAttributeValue.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaLaunchAttributeValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaLaunchAttributeValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaLaunchAttributeValue, (PyObject *)&__pyx_type_4cuda_6cudart_cudaLaunchAttributeValue) < 0) __PYX_ERR(0, 7934, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaLaunchAttributeValue) < 0) __PYX_ERR(0, 7934, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue = &__pyx_type_4cuda_6cudart_cudaLaunchAttributeValue;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaLaunchAttribute_st) < 0) __PYX_ERR(0, 8072, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaLaunchAttribute_st.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaLaunchAttribute_st.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaLaunchAttribute_st.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaLaunchAttribute_st.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaLaunchAttribute_st, (PyObject *)&__pyx_type_4cuda_6cudart_cudaLaunchAttribute_st) < 0) __PYX_ERR(0, 8072, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaLaunchAttribute_st) < 0) __PYX_ERR(0, 8072, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaLaunchAttribute_st = &__pyx_type_4cuda_6cudart_cudaLaunchAttribute_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaTextureDesc) < 0) __PYX_ERR(0, 8128, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaTextureDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaTextureDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaTextureDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaTextureDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaTextureDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaTextureDesc) < 0) __PYX_ERR(0, 8128, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaTextureDesc) < 0) __PYX_ERR(0, 8128, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaTextureDesc = &__pyx_type_4cuda_6cudart_cudaTextureDesc;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaTextureDesc_v2) < 0) __PYX_ERR(0, 8279, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaTextureDesc_v2.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaTextureDesc_v2.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaTextureDesc_v2.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaTextureDesc_v2.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaTextureDesc_v2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaTextureDesc_v2) < 0) __PYX_ERR(0, 8279, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaTextureDesc_v2) < 0) __PYX_ERR(0, 8279, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaTextureDesc_v2 = &__pyx_type_4cuda_6cudart_cudaTextureDesc_v2;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st) < 0) __PYX_ERR(0, 8439, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaEglPlaneDesc_st, (PyObject *)&__pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st) < 0) __PYX_ERR(0, 8439, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st) < 0) __PYX_ERR(0, 8439, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc_st = &__pyx_type_4cuda_6cudart_cudaEglPlaneDesc_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u) < 0) __PYX_ERR(0, 8546, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.tp_dictoffset && __pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE, (PyObject *)&__pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u) < 0) __PYX_ERR(0, 8546, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u) < 0) __PYX_ERR(0, 8546, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u = &__pyx_type_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaEglFrame_st) < 0) __PYX_ERR(0, 8600, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaEglFrame_st.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaEglFrame_st.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaEglFrame_st.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaEglFrame_st.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaEglFrame_st, (PyObject *)&__pyx_type_4cuda_6cudart_cudaEglFrame_st) < 0) __PYX_ERR(0, 8600, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaEglFrame_st) < 0) __PYX_ERR(0, 8600, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaEglFrame_st = &__pyx_type_4cuda_6cudart_cudaEglFrame_st;
  __pyx_type_4cuda_6cudart_CUuuid.tp_base = __pyx_ptype_4cuda_6cudart_CUuuid_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_CUuuid) < 0) __PYX_ERR(2, 1901, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_CUuuid.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_CUuuid.tp_dictoffset && __pyx_type_4cuda_6cudart_CUuuid.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_CUuuid.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUuuid, (PyObject *)&__pyx_type_4cuda_6cudart_CUuuid) < 0) __PYX_ERR(2, 1901, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_CUuuid = &__pyx_type_4cuda_6cudart_CUuuid;
  __pyx_type_4cuda_6cudart_cudaUUID_t.tp_base = __pyx_ptype_4cuda_6cudart_CUuuid_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaUUID_t) < 0) __PYX_ERR(2, 1917, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaUUID_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaUUID_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaUUID_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaUUID_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaUUID_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaUUID_t) < 0) __PYX_ERR(2, 1917, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaUUID_t = &__pyx_type_4cuda_6cudart_cudaUUID_t;
  __pyx_type_4cuda_6cudart_cudaIpcEventHandle_t.tp_base = __pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaIpcEventHandle_t) < 0) __PYX_ERR(2, 1933, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaIpcEventHandle_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaIpcEventHandle_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaIpcEventHandle_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaIpcEventHandle_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaIpcEventHandle_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaIpcEventHandle_t) < 0) __PYX_ERR(2, 1933, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_t = &__pyx_type_4cuda_6cudart_cudaIpcEventHandle_t;
  __pyx_type_4cuda_6cudart_cudaIpcMemHandle_t.tp_base = __pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaIpcMemHandle_t) < 0) __PYX_ERR(2, 1950, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaIpcMemHandle_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaIpcMemHandle_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaIpcMemHandle_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaIpcMemHandle_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaIpcMemHandle_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaIpcMemHandle_t) < 0) __PYX_ERR(2, 1950, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_t = &__pyx_type_4cuda_6cudart_cudaIpcMemHandle_t;
  __pyx_type_4cuda_6cudart_cudaLaunchAttribute.tp_base = __pyx_ptype_4cuda_6cudart_cudaLaunchAttribute_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaLaunchAttribute) < 0) __PYX_ERR(2, 1967, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaLaunchAttribute.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaLaunchAttribute.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaLaunchAttribute.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaLaunchAttribute.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaLaunchAttribute, (PyObject *)&__pyx_type_4cuda_6cudart_cudaLaunchAttribute) < 0) __PYX_ERR(2, 1967, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaLaunchAttribute = &__pyx_type_4cuda_6cudart_cudaLaunchAttribute;
  __pyx_type_4cuda_6cudart_cudaStreamAttrValue.tp_base = __pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaStreamAttrValue) < 0) __PYX_ERR(2, 1986, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaStreamAttrValue.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaStreamAttrValue.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaStreamAttrValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaStreamAttrValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaStreamAttrValue, (PyObject *)&__pyx_type_4cuda_6cudart_cudaStreamAttrValue) < 0) __PYX_ERR(2, 1986, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaStreamAttrValue = &__pyx_type_4cuda_6cudart_cudaStreamAttrValue;
  __pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue.tp_base = __pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue) < 0) __PYX_ERR(2, 2020, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaKernelNodeAttrValue, (PyObject *)&__pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue) < 0) __PYX_ERR(2, 2020, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue = &__pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue;
  __pyx_type_4cuda_6cudart_cudaEglPlaneDesc.tp_base = __pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaEglPlaneDesc) < 0) __PYX_ERR(2, 2054, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaEglPlaneDesc.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaEglPlaneDesc.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaEglPlaneDesc.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaEglPlaneDesc.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaEglPlaneDesc, (PyObject *)&__pyx_type_4cuda_6cudart_cudaEglPlaneDesc) < 0) __PYX_ERR(2, 2054, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc = &__pyx_type_4cuda_6cudart_cudaEglPlaneDesc;
  __pyx_type_4cuda_6cudart_cudaEglFrame.tp_base = __pyx_ptype_4cuda_6cudart_cudaEglFrame_st;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaEglFrame) < 0) __PYX_ERR(2, 2084, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaEglFrame.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaEglFrame.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaEglFrame.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaEglFrame.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaEglFrame, (PyObject *)&__pyx_type_4cuda_6cudart_cudaEglFrame) < 0) __PYX_ERR(2, 2084, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaEglFrame = &__pyx_type_4cuda_6cudart_cudaEglFrame;
  __pyx_t_1 = PyImport_ImportModule("cuda.cuda"); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUstream = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstream", sizeof(struct __pyx_obj_4cuda_4cuda_CUstream), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstream) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaStream_t.tp_base = __pyx_ptype_4cuda_4cuda_CUstream;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaStream_t) < 0) __PYX_ERR(2, 2116, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaStream_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaStream_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaStream_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaStream_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaStream_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaStream_t) < 0) __PYX_ERR(2, 2116, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaStream_t = &__pyx_type_4cuda_6cudart_cudaStream_t;
  __pyx_ptype_4cuda_4cuda_CUevent = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUevent", sizeof(struct __pyx_obj_4cuda_4cuda_CUevent), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUevent) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaEvent_t.tp_base = __pyx_ptype_4cuda_4cuda_CUevent;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaEvent_t) < 0) __PYX_ERR(2, 2130, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaEvent_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaEvent_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaEvent_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaEvent_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaEvent_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaEvent_t) < 0) __PYX_ERR(2, 2130, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaEvent_t = &__pyx_type_4cuda_6cudart_cudaEvent_t;
  __pyx_ptype_4cuda_4cuda_CUgraph = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUgraph", sizeof(struct __pyx_obj_4cuda_4cuda_CUgraph), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUgraph) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaGraph_t.tp_base = __pyx_ptype_4cuda_4cuda_CUgraph;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaGraph_t) < 0) __PYX_ERR(2, 2144, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaGraph_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaGraph_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaGraph_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaGraph_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaGraph_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaGraph_t) < 0) __PYX_ERR(2, 2144, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaGraph_t = &__pyx_type_4cuda_6cudart_cudaGraph_t;
  __pyx_ptype_4cuda_4cuda_CUgraphNode = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUgraphNode", sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphNode), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUgraphNode) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaGraphNode_t.tp_base = __pyx_ptype_4cuda_4cuda_CUgraphNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaGraphNode_t) < 0) __PYX_ERR(2, 2158, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaGraphNode_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaGraphNode_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaGraphNode_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaGraphNode_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaGraphNode_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaGraphNode_t) < 0) __PYX_ERR(2, 2158, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaGraphNode_t = &__pyx_type_4cuda_6cudart_cudaGraphNode_t;
  __pyx_ptype_4cuda_4cuda_CUuserObject = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUuserObject", sizeof(struct __pyx_obj_4cuda_4cuda_CUuserObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUuserObject) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaUserObject_t.tp_base = __pyx_ptype_4cuda_4cuda_CUuserObject;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaUserObject_t) < 0) __PYX_ERR(2, 2172, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaUserObject_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaUserObject_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaUserObject_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaUserObject_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaUserObject_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaUserObject_t) < 0) __PYX_ERR(2, 2172, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaUserObject_t = &__pyx_type_4cuda_6cudart_cudaUserObject_t;
  __pyx_ptype_4cuda_4cuda_CUfunction = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUfunction", sizeof(struct __pyx_obj_4cuda_4cuda_CUfunction), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUfunction) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaFunction_t.tp_base = __pyx_ptype_4cuda_4cuda_CUfunction;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaFunction_t) < 0) __PYX_ERR(2, 2186, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaFunction_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaFunction_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaFunction_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaFunction_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaFunction_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaFunction_t) < 0) __PYX_ERR(2, 2186, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaFunction_t = &__pyx_type_4cuda_6cudart_cudaFunction_t;
  __pyx_ptype_4cuda_4cuda_CUmemoryPool = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemoryPool", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemoryPool), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemoryPool) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaMemPool_t.tp_base = __pyx_ptype_4cuda_4cuda_CUmemoryPool;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaMemPool_t) < 0) __PYX_ERR(2, 2200, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaMemPool_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaMemPool_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaMemPool_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaMemPool_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaMemPool_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaMemPool_t) < 0) __PYX_ERR(2, 2200, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaMemPool_t = &__pyx_type_4cuda_6cudart_cudaMemPool_t;
  __pyx_ptype_4cuda_4cuda_CUgraphExec = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUgraphExec", sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExec), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUgraphExec) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaGraphExec_t.tp_base = __pyx_ptype_4cuda_4cuda_CUgraphExec;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaGraphExec_t) < 0) __PYX_ERR(2, 2214, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaGraphExec_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaGraphExec_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaGraphExec_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaGraphExec_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaGraphExec_t, (PyObject *)&__pyx_type_4cuda_6cudart_cudaGraphExec_t) < 0) __PYX_ERR(2, 2214, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaGraphExec_t = &__pyx_type_4cuda_6cudart_cudaGraphExec_t;
  __pyx_ptype_4cuda_4cuda_CUeglStreamConnection = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUeglStreamConnection", sizeof(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUeglStreamConnection) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4cuda_6cudart_cudaEglStreamConnection.tp_base = __pyx_ptype_4cuda_4cuda_CUeglStreamConnection;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaEglStreamConnection) < 0) __PYX_ERR(2, 2228, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaEglStreamConnection.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaEglStreamConnection.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaEglStreamConnection.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaEglStreamConnection.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaEglStreamConnection, (PyObject *)&__pyx_type_4cuda_6cudart_cudaEglStreamConnection) < 0) __PYX_ERR(2, 2228, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaEglStreamConnection = &__pyx_type_4cuda_6cudart_cudaEglStreamConnection;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_GLenum) < 0) __PYX_ERR(0, 8698, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_GLenum.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_GLenum.tp_dictoffset && __pyx_type_4cuda_6cudart_GLenum.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_GLenum.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GLenum_2, (PyObject *)&__pyx_type_4cuda_6cudart_GLenum) < 0) __PYX_ERR(0, 8698, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_GLenum) < 0) __PYX_ERR(0, 8698, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_GLenum = &__pyx_type_4cuda_6cudart_GLenum;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_GLuint) < 0) __PYX_ERR(0, 8723, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_GLuint.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_GLuint.tp_dictoffset && __pyx_type_4cuda_6cudart_GLuint.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_GLuint.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GLuint_2, (PyObject *)&__pyx_type_4cuda_6cudart_GLuint) < 0) __PYX_ERR(0, 8723, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_GLuint) < 0) __PYX_ERR(0, 8723, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_GLuint = &__pyx_type_4cuda_6cudart_GLuint;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_EGLint) < 0) __PYX_ERR(0, 8748, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_EGLint.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_EGLint.tp_dictoffset && __pyx_type_4cuda_6cudart_EGLint.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_EGLint.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLint_2, (PyObject *)&__pyx_type_4cuda_6cudart_EGLint) < 0) __PYX_ERR(0, 8748, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_EGLint) < 0) __PYX_ERR(0, 8748, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_EGLint = &__pyx_type_4cuda_6cudart_EGLint;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_VdpDevice) < 0) __PYX_ERR(0, 8773, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_VdpDevice.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_VdpDevice.tp_dictoffset && __pyx_type_4cuda_6cudart_VdpDevice.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_VdpDevice.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpDevice_2, (PyObject *)&__pyx_type_4cuda_6cudart_VdpDevice) < 0) __PYX_ERR(0, 8773, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_VdpDevice) < 0) __PYX_ERR(0, 8773, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_VdpDevice = &__pyx_type_4cuda_6cudart_VdpDevice;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_VdpGetProcAddress) < 0) __PYX_ERR(0, 8798, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_VdpGetProcAddress.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_VdpGetProcAddress.tp_dictoffset && __pyx_type_4cuda_6cudart_VdpGetProcAddress.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_VdpGetProcAddress.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpGetProcAddress_2, (PyObject *)&__pyx_type_4cuda_6cudart_VdpGetProcAddress) < 0) __PYX_ERR(0, 8798, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_VdpGetProcAddress) < 0) __PYX_ERR(0, 8798, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_VdpGetProcAddress = &__pyx_type_4cuda_6cudart_VdpGetProcAddress;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_VdpVideoSurface) < 0) __PYX_ERR(0, 8823, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_VdpVideoSurface.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_VdpVideoSurface.tp_dictoffset && __pyx_type_4cuda_6cudart_VdpVideoSurface.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_VdpVideoSurface.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpVideoSurface_2, (PyObject *)&__pyx_type_4cuda_6cudart_VdpVideoSurface) < 0) __PYX_ERR(0, 8823, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_VdpVideoSurface) < 0) __PYX_ERR(0, 8823, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_VdpVideoSurface = &__pyx_type_4cuda_6cudart_VdpVideoSurface;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_VdpOutputSurface) < 0) __PYX_ERR(0, 8848, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_VdpOutputSurface.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_VdpOutputSurface.tp_dictoffset && __pyx_type_4cuda_6cudart_VdpOutputSurface.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_VdpOutputSurface.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpOutputSurface_2, (PyObject *)&__pyx_type_4cuda_6cudart_VdpOutputSurface) < 0) __PYX_ERR(0, 8848, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_VdpOutputSurface) < 0) __PYX_ERR(0, 8848, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_VdpOutputSurface = &__pyx_type_4cuda_6cudart_VdpOutputSurface;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaSurfaceObject_t) < 0) __PYX_ERR(0, 8873, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaSurfaceObject_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaSurfaceObject_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaSurfaceObject_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaSurfaceObject_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaSurfaceObject_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaSurfaceObject_t) < 0) __PYX_ERR(0, 8873, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaSurfaceObject_t) < 0) __PYX_ERR(0, 8873, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t = &__pyx_type_4cuda_6cudart_cudaSurfaceObject_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaTextureObject_t) < 0) __PYX_ERR(0, 8900, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart_cudaTextureObject_t.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart_cudaTextureObject_t.tp_dictoffset && __pyx_type_4cuda_6cudart_cudaTextureObject_t.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart_cudaTextureObject_t.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cudaTextureObject_t_2, (PyObject *)&__pyx_type_4cuda_6cudart_cudaTextureObject_t) < 0) __PYX_ERR(0, 8900, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaTextureObject_t) < 0) __PYX_ERR(0, 8900, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaTextureObject_t = &__pyx_type_4cuda_6cudart_cudaTextureObject_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies) < 0) __PYX_ERR(0, 12582, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies = &__pyx_type_4cuda_6cudart___pyx_scope_struct__cudaStreamUpdateCaptureDependencies;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_1_genexpr) < 0) __PYX_ERR(0, 12627, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_1_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_1_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_1_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_1_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_1_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_1_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync) < 0) __PYX_ERR(0, 13503, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync = &__pyx_type_4cuda_6cudart___pyx_scope_struct_2_cudaSignalExternalSemaphoresAsync;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_3_genexpr) < 0) __PYX_ERR(0, 13587, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_3_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_3_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_3_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_3_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_3_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_3_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_4_genexpr) < 0) __PYX_ERR(0, 13591, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_4_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_4_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_4_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_4_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_4_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_4_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync) < 0) __PYX_ERR(0, 13621, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync = &__pyx_type_4cuda_6cudart___pyx_scope_struct_5_cudaWaitExternalSemaphoresAsync;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_6_genexpr) < 0) __PYX_ERR(0, 13714, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_6_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_6_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_6_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_6_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_6_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_6_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_7_genexpr) < 0) __PYX_ERR(0, 13718, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_7_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_7_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_7_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_7_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_7_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_7_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes) < 0) __PYX_ERR(0, 17326, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes = &__pyx_type_4cuda_6cudart___pyx_scope_struct_8_cudaMemRangeGetAttributes;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_9_genexpr) < 0) __PYX_ERR(0, 17376, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_9_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_9_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_9_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_9_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_9_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_9_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_10_genexpr) < 0) __PYX_ERR(0, 17379, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_10_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_10_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_10_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_10_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_10_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_10_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess) < 0) __PYX_ERR(0, 18033, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess = &__pyx_type_4cuda_6cudart___pyx_scope_struct_11_cudaMemPoolSetAccess;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_12_genexpr) < 0) __PYX_ERR(0, 18056, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_12_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_12_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_12_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_12_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_12_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_12_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode) < 0) __PYX_ERR(0, 19867, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_13_cudaGraphAddKernelNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_14_genexpr) < 0) __PYX_ERR(0, 19954, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_14_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_14_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_14_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_14_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_14_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_14_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode) < 0) __PYX_ERR(0, 20193, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_15_cudaGraphAddMemcpyNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_16_genexpr) < 0) __PYX_ERR(0, 20234, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_16_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_16_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_16_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_16_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_16_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_16_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D) < 0) __PYX_ERR(0, 20265, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D = &__pyx_type_4cuda_6cudart___pyx_scope_struct_17_cudaGraphAddMemcpyNode1D;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_18_genexpr) < 0) __PYX_ERR(0, 20322, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_18_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_18_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_18_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_18_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_18_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_18_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode) < 0) __PYX_ERR(0, 20488, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_19_cudaGraphAddMemsetNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_20_genexpr) < 0) __PYX_ERR(0, 20523, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_20_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_20_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_20_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_20_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_20_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_20_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode) < 0) __PYX_ERR(0, 20626, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_21_cudaGraphAddHostNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_22_genexpr) < 0) __PYX_ERR(0, 20662, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_22_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_22_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_22_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_22_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_22_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_22_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode) < 0) __PYX_ERR(0, 20765, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_23_cudaGraphAddChildGraphNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_24_genexpr) < 0) __PYX_ERR(0, 20814, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_24_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_24_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_24_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_24_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_24_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_24_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode) < 0) __PYX_ERR(0, 20885, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_25_cudaGraphAddEmptyNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_26_genexpr) < 0) __PYX_ERR(0, 20922, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_26_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_26_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_26_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_26_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_26_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_26_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode) < 0) __PYX_ERR(0, 20952, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_27_cudaGraphAddEventRecordNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_28_genexpr) < 0) __PYX_ERR(0, 21000, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_28_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_28_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_28_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_28_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_28_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_28_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode) < 0) __PYX_ERR(0, 21111, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_29_cudaGraphAddEventWaitNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_30_genexpr) < 0) __PYX_ERR(0, 21162, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_30_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_30_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_30_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_30_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_30_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_30_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode) < 0) __PYX_ERR(0, 21273, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_31_cudaGraphAddExternalSemaphoresSignalNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_32_genexpr) < 0) __PYX_ERR(0, 21310, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_32_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_32_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_32_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_32_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_32_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_32_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode) < 0) __PYX_ERR(0, 21420, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_33_cudaGraphAddExternalSemaphoresWaitNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_34_genexpr) < 0) __PYX_ERR(0, 21457, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_34_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_34_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_34_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_34_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_34_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_34_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode) < 0) __PYX_ERR(0, 21567, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_35_cudaGraphAddMemAllocNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_36_genexpr) < 0) __PYX_ERR(0, 21642, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_36_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_36_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_36_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_36_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_36_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_36_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode) < 0) __PYX_ERR(0, 21712, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode = &__pyx_type_4cuda_6cudart___pyx_scope_struct_37_cudaGraphAddMemFreeNode;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_38_genexpr) < 0) __PYX_ERR(0, 21765, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_38_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_38_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_38_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_38_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_38_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_38_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies) < 0) __PYX_ERR(0, 22366, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies = &__pyx_type_4cuda_6cudart___pyx_scope_struct_39_cudaGraphAddDependencies;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_40_genexpr) < 0) __PYX_ERR(0, 22397, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_40_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_40_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_40_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_40_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_40_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_40_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_41_genexpr) < 0) __PYX_ERR(0, 22401, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_41_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_41_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_41_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_41_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_41_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_41_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies) < 0) __PYX_ERR(0, 22442, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies = &__pyx_type_4cuda_6cudart___pyx_scope_struct_42_cudaGraphRemoveDependencies;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_43_genexpr) < 0) __PYX_ERR(0, 22474, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_43_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_43_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_43_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_43_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_43_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_43_genexpr;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart___pyx_scope_struct_44_genexpr) < 0) __PYX_ERR(0, 22478, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4cuda_6cudart___pyx_scope_struct_44_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4cuda_6cudart___pyx_scope_struct_44_genexpr.tp_dictoffset && __pyx_type_4cuda_6cudart___pyx_scope_struct_44_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4cuda_6cudart___pyx_scope_struct_44_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_4cuda_6cudart___pyx_scope_struct_44_genexpr = &__pyx_type_4cuda_6cudart___pyx_scope_struct_44_genexpr;
  __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_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.cuda"); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUcontext = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUcontext", sizeof(struct __pyx_obj_4cuda_4cuda_CUcontext), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUcontext) __PYX_ERR(3, 11, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmodule = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmodule", sizeof(struct __pyx_obj_4cuda_4cuda_CUmodule), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmodule) __PYX_ERR(3, 25, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUarray = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUarray", sizeof(struct __pyx_obj_4cuda_4cuda_CUarray), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUarray) __PYX_ERR(3, 53, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmipmappedArray = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmipmappedArray", sizeof(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmipmappedArray) __PYX_ERR(3, 67, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUtexref = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUtexref", sizeof(struct __pyx_obj_4cuda_4cuda_CUtexref), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUtexref) __PYX_ERR(3, 81, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUsurfref = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUsurfref", sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfref), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUsurfref) __PYX_ERR(3, 95, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUgraphicsResource = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUgraphicsResource", sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUgraphicsResource) __PYX_ERR(3, 137, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexternalMemory = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexternalMemory", sizeof(struct __pyx_obj_4cuda_4cuda_CUexternalMemory), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexternalMemory) __PYX_ERR(3, 151, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexternalSemaphore = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexternalSemaphore", sizeof(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexternalSemaphore) __PYX_ERR(3, 165, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUlinkState = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUlinkState", sizeof(struct __pyx_obj_4cuda_4cuda_CUlinkState), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUlinkState) __PYX_ERR(3, 249, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_EGLImageKHR = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "EGLImageKHR", sizeof(struct __pyx_obj_4cuda_4cuda_EGLImageKHR), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_EGLImageKHR) __PYX_ERR(3, 262, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_EGLStreamKHR = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "EGLStreamKHR", sizeof(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_EGLStreamKHR) __PYX_ERR(3, 274, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_EGLSyncKHR = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "EGLSyncKHR", sizeof(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_EGLSyncKHR) __PYX_ERR(3, 286, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUhostFn = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUhostFn", sizeof(struct __pyx_obj_4cuda_4cuda_CUhostFn), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUhostFn) __PYX_ERR(3, 312, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamCallback = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamCallback", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamCallback), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamCallback) __PYX_ERR(3, 324, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUoccupancyB2DSize", sizeof(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize) __PYX_ERR(3, 336, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUuuid_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUuuid_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUuuid_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUuuid_st) __PYX_ERR(3, 348, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUipcEventHandle_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st) __PYX_ERR(3, 365, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUipcMemHandle_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st) __PYX_ERR(3, 383, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamMemOpWaitValueParams_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st) __PYX_ERR(3, 401, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamMemOpWriteValueParams_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st) __PYX_ERR(3, 428, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamMemOpFlushRemoteWritesParams_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st) __PYX_ERR(3, 455, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamMemOpMemoryBarrierParams_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st) __PYX_ERR(3, 473, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamBatchMemOpParams_union", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union) __PYX_ERR(3, 491, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_BATCH_MEM_OP_NODE_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_st) __PYX_ERR(3, 524, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUdevprop_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUdevprop_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUdevprop_st) __PYX_ERR(3, 550, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUaccessPolicyWindow_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st) __PYX_ERR(3, 586, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_KERNEL_NODE_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st) __PYX_ERR(3, 625, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMSET_NODE_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st) __PYX_ERR(3, 663, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_HOST_NODE_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st) __PYX_ERR(3, 692, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_clusterDim_s) __PYX_ERR(3, 714, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUlaunchAttributeValue_CUlaunchAttributeValue_CUlaunchAttributeValue_union_programmaticEvent_s) __PYX_ERR(3, 734, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUlaunchAttributeValue_union", sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union) __PYX_ERR(3, 755, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUlaunchAttribute_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st) __PYX_ERR(3, 792, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUlaunchConfig_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st) __PYX_ERR(3, 812, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexecAffinitySmCount_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st) __PYX_ERR(3, 850, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u) __PYX_ERR(3, 868, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexecAffinityParam_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st) __PYX_ERR(3, 885, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY2D_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st) __PYX_ERR(3, 906, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY3D_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st) __PYX_ERR(3, 960, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY3D_PEER_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st) __PYX_ERR(3, 1035, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_DESCRIPTOR_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st) __PYX_ERR(3, 1111, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY3D_DESCRIPTOR_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st) __PYX_ERR(3, 1135, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s) __PYX_ERR(3, 1163, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_SPARSE_PROPERTIES_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st) __PYX_ERR(3, 1183, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_MEMORY_REQUIREMENTS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) __PYX_ERR(3, 1211, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s) __PYX_ERR(3, 1233, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s) __PYX_ERR(3, 1250, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s) __PYX_ERR(3, 1267, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s) __PYX_ERR(3, 1290, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s) __PYX_ERR(3, 1317, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u) __PYX_ERR(3, 1333, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_RESOURCE_DESC_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st) __PYX_ERR(3, 1362, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_TEXTURE_DESC_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st) __PYX_ERR(3, 1385, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_RESOURCE_VIEW_DESC_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st) __PYX_ERR(3, 1421, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) __PYX_ERR(3, 1455, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_LAUNCH_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st) __PYX_ERR(3, 1475, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s) __PYX_ERR(3, 1514, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u) __PYX_ERR(3, 1534, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) __PYX_ERR(3, 1556, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) __PYX_ERR(3, 1583, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) __PYX_ERR(3, 1607, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s) __PYX_ERR(3, 1633, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u) __PYX_ERR(3, 1653, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) __PYX_ERR(3, 1675, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s) __PYX_ERR(3, 1700, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u) __PYX_ERR(3, 1716, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s) __PYX_ERR(3, 1735, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s) __PYX_ERR(3, 1751, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) __PYX_ERR(3, 1776, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s) __PYX_ERR(3, 1806, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u) __PYX_ERR(3, 1822, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s) __PYX_ERR(3, 1841, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s) __PYX_ERR(3, 1859, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) __PYX_ERR(3, 1884, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) __PYX_ERR(3, 1914, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) __PYX_ERR(3, 1941, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u) __PYX_ERR(3, 1968, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s) __PYX_ERR(3, 1988, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s) __PYX_ERR(3, 2018, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u) __PYX_ERR(3, 2038, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u) __PYX_ERR(3, 2058, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUarrayMapInfo_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st) __PYX_ERR(3, 2075, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemLocation_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemLocation_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemLocation_st) __PYX_ERR(3, 2117, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s", sizeof(struct __pyx_obj_4cuda_4cuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s) __PYX_ERR(3, 2137, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemAllocationProp_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st) __PYX_ERR(3, 2159, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemAccessDesc_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st) __PYX_ERR(3, 2192, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemPoolProps_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st) __PYX_ERR(3, 2213, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemPoolPtrExportData_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st) __PYX_ERR(3, 2246, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEM_ALLOC_NODE_PARAMS_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_st) __PYX_ERR(3, 2264, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "_CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u", sizeof(struct __pyx_obj_4cuda_4cuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda__CUeglFrame_v1_CUeglFrame_v1_CUeglFrame_st_frame_u) __PYX_ERR(3, 2298, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUeglFrame_st = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUeglFrame_st", sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUeglFrame_st) __PYX_ERR(3, 2316, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUuuid = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUuuid", sizeof(struct __pyx_obj_4cuda_4cuda_CUuuid), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUuuid) __PYX_ERR(3, 2355, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUipcEventHandle_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1) __PYX_ERR(3, 2371, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUipcEventHandle", sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUipcEventHandle) __PYX_ERR(3, 2388, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUipcMemHandle_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1) __PYX_ERR(3, 2405, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUipcMemHandle", sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUipcMemHandle) __PYX_ERR(3, 2422, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamBatchMemOpParams_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1) __PYX_ERR(3, 2439, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamBatchMemOpParams", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams) __PYX_ERR(3, 2466, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_BATCH_MEM_OP_NODE_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS) __PYX_ERR(3, 2493, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUdevprop_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUdevprop_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUdevprop_v1) __PYX_ERR(3, 2515, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUdevprop = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUdevprop", sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUdevprop) __PYX_ERR(3, 2550, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUaccessPolicyWindow_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1) __PYX_ERR(3, 2585, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUaccessPolicyWindow", sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow) __PYX_ERR(3, 2622, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_KERNEL_NODE_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1) __PYX_ERR(3, 2659, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_KERNEL_NODE_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS) __PYX_ERR(3, 2694, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMSET_NODE_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1) __PYX_ERR(3, 2729, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMSET_NODE_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS) __PYX_ERR(3, 2756, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_HOST_NODE_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1) __PYX_ERR(3, 2783, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_HOST_NODE_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS) __PYX_ERR(3, 2802, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUlaunchAttributeValue", sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue) __PYX_ERR(3, 2821, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUlaunchAttribute", sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUlaunchAttribute) __PYX_ERR(3, 2853, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUlaunchConfig", sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUlaunchConfig) __PYX_ERR(3, 2871, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUkernelNodeAttrValue_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1) __PYX_ERR(3, 2905, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUkernelNodeAttrValue", sizeof(struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue) __PYX_ERR(3, 2937, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamAttrValue_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1) __PYX_ERR(3, 2969, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamAttrValue", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamAttrValue) __PYX_ERR(3, 3001, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexecAffinitySmCount_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1) __PYX_ERR(3, 3033, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexecAffinitySmCount", sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount) __PYX_ERR(3, 3050, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexecAffinityParam_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1) __PYX_ERR(3, 3067, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUexecAffinityParam", sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam) __PYX_ERR(3, 3086, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY2D_v2", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_v2), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2) __PYX_ERR(3, 3105, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY2D", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D) __PYX_ERR(3, 3152, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY3D_v2", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_v2), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2) __PYX_ERR(3, 3199, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY3D", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D) __PYX_ERR(3, 3265, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY3D_PEER_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1) __PYX_ERR(3, 3331, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEMCPY3D_PEER", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER) __PYX_ERR(3, 3398, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_DESCRIPTOR_v2", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2) __PYX_ERR(3, 3465, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_DESCRIPTOR", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR) __PYX_ERR(3, 3488, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY3D_DESCRIPTOR_v2", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2) __PYX_ERR(3, 3511, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY3D_DESCRIPTOR", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR) __PYX_ERR(3, 3538, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_SPARSE_PROPERTIES_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1) __PYX_ERR(3, 3565, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_SPARSE_PROPERTIES", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES) __PYX_ERR(3, 3591, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_MEMORY_REQUIREMENTS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1) __PYX_ERR(3, 3617, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_ARRAY_MEMORY_REQUIREMENTS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS) __PYX_ERR(3, 3638, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_RESOURCE_DESC_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1) __PYX_ERR(3, 3659, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_RESOURCE_DESC", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC) __PYX_ERR(3, 3680, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_TEXTURE_DESC_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1) __PYX_ERR(3, 3701, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_TEXTURE_DESC", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC) __PYX_ERR(3, 3736, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_RESOURCE_VIEW_DESC_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1) __PYX_ERR(3, 3771, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_RESOURCE_VIEW_DESC", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC) __PYX_ERR(3, 3804, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1) __PYX_ERR(3, 3837, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS) __PYX_ERR(3, 3856, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_LAUNCH_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1) __PYX_ERR(3, 3875, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_LAUNCH_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS) __PYX_ERR(3, 3910, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1) __PYX_ERR(3, 3945, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_HANDLE_DESC", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC) __PYX_ERR(3, 3970, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1) __PYX_ERR(3, 3995, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_BUFFER_DESC", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC) __PYX_ERR(3, 4018, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1) __PYX_ERR(3, 4041, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC) __PYX_ERR(3, 4065, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1) __PYX_ERR(3, 4089, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC) __PYX_ERR(3, 4112, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1) __PYX_ERR(3, 4135, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) __PYX_ERR(3, 4163, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1) __PYX_ERR(3, 4191, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) __PYX_ERR(3, 4219, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1) __PYX_ERR(3, 4247, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS) __PYX_ERR(3, 4269, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1) __PYX_ERR(3, 4291, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_EXT_SEM_WAIT_NODE_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS) __PYX_ERR(3, 4313, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUarrayMapInfo_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1) __PYX_ERR(3, 4335, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUarrayMapInfo", sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo) __PYX_ERR(3, 4373, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemLocation_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemLocation_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemLocation_v1) __PYX_ERR(3, 4411, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemLocation = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemLocation", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemLocation) __PYX_ERR(3, 4430, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemAllocationProp_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1) __PYX_ERR(3, 4449, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemAllocationProp", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp) __PYX_ERR(3, 4478, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemAccessDesc_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1) __PYX_ERR(3, 4507, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemAccessDesc", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc) __PYX_ERR(3, 4526, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemPoolProps_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1) __PYX_ERR(3, 4545, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemPoolProps", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemPoolProps) __PYX_ERR(3, 4575, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemPoolPtrExportData_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1) __PYX_ERR(3, 4605, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemPoolPtrExportData", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData) __PYX_ERR(3, 4622, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUDA_MEM_ALLOC_NODE_PARAMS", sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS) __PYX_ERR(3, 4639, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUeglFrame_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUeglFrame_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUeglFrame_v1) __PYX_ERR(3, 4668, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUeglFrame = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUeglFrame", sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUeglFrame) __PYX_ERR(3, 4705, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_cuuint32_t = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "cuuint32_t", sizeof(struct __pyx_obj_4cuda_4cuda_cuuint32_t), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_cuuint32_t) __PYX_ERR(3, 4742, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_cuuint64_t = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "cuuint64_t", sizeof(struct __pyx_obj_4cuda_4cuda_cuuint64_t), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_cuuint64_t) __PYX_ERR(3, 4754, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUdeviceptr_v2", sizeof(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2) __PYX_ERR(3, 4766, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUdeviceptr = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUdeviceptr", sizeof(struct __pyx_obj_4cuda_4cuda_CUdeviceptr), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUdeviceptr) __PYX_ERR(3, 4780, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUdevice_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUdevice_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUdevice_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUdevice_v1) __PYX_ERR(3, 4794, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUdevice = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUdevice", sizeof(struct __pyx_obj_4cuda_4cuda_CUdevice), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUdevice) __PYX_ERR(3, 4808, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUtexObject_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUtexObject_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUtexObject_v1) __PYX_ERR(3, 4822, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUtexObject = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUtexObject", sizeof(struct __pyx_obj_4cuda_4cuda_CUtexObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUtexObject) __PYX_ERR(3, 4836, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUsurfObject_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUsurfObject_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUsurfObject_v1) __PYX_ERR(3, 4850, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUsurfObject = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUsurfObject", sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUsurfObject) __PYX_ERR(3, 4864, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1 = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemGenericAllocationHandle_v1", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1) __PYX_ERR(3, 4878, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUmemGenericAllocationHandle", sizeof(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle) __PYX_ERR(3, 4890, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_GLenum = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "GLenum", sizeof(struct __pyx_obj_4cuda_4cuda_GLenum), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_GLenum) __PYX_ERR(3, 4902, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_GLuint = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "GLuint", sizeof(struct __pyx_obj_4cuda_4cuda_GLuint), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_GLuint) __PYX_ERR(3, 4914, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_EGLint = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "EGLint", sizeof(struct __pyx_obj_4cuda_4cuda_EGLint), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_EGLint) __PYX_ERR(3, 4926, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_VdpDevice = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "VdpDevice", sizeof(struct __pyx_obj_4cuda_4cuda_VdpDevice), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_VdpDevice) __PYX_ERR(3, 4938, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_VdpGetProcAddress = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "VdpGetProcAddress", sizeof(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_VdpGetProcAddress) __PYX_ERR(3, 4950, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_VdpVideoSurface = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "VdpVideoSurface", sizeof(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_VdpVideoSurface) __PYX_ERR(3, 4962, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_VdpOutputSurface = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "VdpOutputSurface", sizeof(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_VdpOutputSurface) __PYX_ERR(3, 4974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("cuda._lib.utils"); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "HelperKernelParams", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams) __PYX_ERR(4, 12, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "HelperInputVoidPtr", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr) __PYX_ERR(4, 20, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "HelperCUmemPool_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute) __PYX_ERR(4, 25, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "HelperCUmem_range_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute) __PYX_ERR(4, 34, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "HelperCUpointer_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute) __PYX_ERR(4, 43, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "HelperCUgraphMem_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute) __PYX_ERR(4, 59, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "HelperCUjit_option", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUjit_option), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option) __PYX_ERR(4, 67, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper = __Pyx_ImportType(__pyx_t_1, "cuda._lib.utils", "InputVoidPtrPtrHelper", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper) __PYX_ERR(4, 82, __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(5, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", 
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyTypeObject),
  #else
  sizeof(PyHeapTypeObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(5, 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.ccudart"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaVDPAUGetDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaVDPAUGetDevice, "cudaError_t (int *, __pyx_t_4cuda_7ccudart_VdpDevice, __pyx_t_4cuda_7ccudart_VdpGetProcAddress *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaVDPAUSetVDPAUDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaVDPAUSetVDPAUDevice, "cudaError_t (int, __pyx_t_4cuda_7ccudart_VdpDevice, __pyx_t_4cuda_7ccudart_VdpGetProcAddress *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsVDPAURegisterVideoSurface", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsVDPAURegisterVideoSurface, "cudaError_t (struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_VdpVideoSurface, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsVDPAURegisterOutputSurface", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsVDPAURegisterOutputSurface, "cudaError_t (struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_VdpOutputSurface, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGLGetDevices", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGLGetDevices, "cudaError_t (unsigned int *, int *, unsigned int, enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsGLRegisterImage", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsGLRegisterImage, "cudaError_t (struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_GLuint, __pyx_t_4cuda_7ccudart_GLenum, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsGLRegisterBuffer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsGLRegisterBuffer, "cudaError_t (struct cudaGraphicsResource **, __pyx_t_4cuda_7ccudart_GLuint, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceReset", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceReset, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSynchronize", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSynchronize, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSetLimit", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSetLimit, "cudaError_t (enum cudaLimit, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetLimit", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetLimit, "cudaError_t (size_t *, enum cudaLimit)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetTexture1DLinearMaxWidth", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetTexture1DLinearMaxWidth, "cudaError_t (size_t *, struct cudaChannelFormatDesc const *, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetCacheConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetCacheConfig, "cudaError_t (enum cudaFuncCache *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetStreamPriorityRange", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetStreamPriorityRange, "cudaError_t (int *, int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSetCacheConfig, "cudaError_t (enum cudaFuncCache)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetSharedMemConfig, "cudaError_t (enum cudaSharedMemConfig *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSetSharedMemConfig, "cudaError_t (enum cudaSharedMemConfig)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetByPCIBusId", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetByPCIBusId, "cudaError_t (int *, char const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetPCIBusId", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetPCIBusId, "cudaError_t (char *, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaIpcGetEventHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaIpcGetEventHandle, "cudaError_t (cudaIpcEventHandle_t *, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaIpcOpenEventHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaIpcOpenEventHandle, "cudaError_t (cudaEvent_t *, cudaIpcEventHandle_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaIpcGetMemHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaIpcGetMemHandle, "cudaError_t (cudaIpcMemHandle_t *, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaIpcOpenMemHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaIpcOpenMemHandle, "cudaError_t (void **, cudaIpcMemHandle_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaIpcCloseMemHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaIpcCloseMemHandle, "cudaError_t (void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceFlushGPUDirectRDMAWrites", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceFlushGPUDirectRDMAWrites, "cudaError_t (enum cudaFlushGPUDirectRDMAWritesTarget, enum cudaFlushGPUDirectRDMAWritesScope)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadExit", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadExit, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadSynchronize", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadSynchronize, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadSetLimit", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadSetLimit, "cudaError_t (enum cudaLimit, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadGetLimit", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadGetLimit, "cudaError_t (size_t *, enum cudaLimit)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetLastError", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetLastError, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaPeekAtLastError", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaPeekAtLastError, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetErrorName", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetErrorName, "char const *(cudaError_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetErrorString", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetErrorString, "char const *(cudaError_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetDeviceCount", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetDeviceCount, "cudaError_t (int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetDeviceProperties", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetDeviceProperties, "cudaError_t (struct cudaDeviceProp *, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetAttribute, "cudaError_t (int *, enum cudaDeviceAttr, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetDefaultMemPool", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetDefaultMemPool, "cudaError_t (cudaMemPool_t *, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSetMemPool", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSetMemPool, "cudaError_t (int, cudaMemPool_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetMemPool", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetMemPool, "cudaError_t (cudaMemPool_t *, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetNvSciSyncAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetNvSciSyncAttributes, "cudaError_t (void *, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetP2PAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetP2PAttribute, "cudaError_t (int *, enum cudaDeviceP2PAttr, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaChooseDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaChooseDevice, "cudaError_t (int *, struct cudaDeviceProp const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSetDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSetDevice, "cudaError_t (int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetDevice, "cudaError_t (int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSetDeviceFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSetDeviceFlags, "cudaError_t (unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetDeviceFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetDeviceFlags, "cudaError_t (unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamCreate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamCreate, "cudaError_t (cudaStream_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamCreateWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamCreateWithFlags, "cudaError_t (cudaStream_t *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamCreateWithPriority", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamCreateWithPriority, "cudaError_t (cudaStream_t *, unsigned int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamGetPriority", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamGetPriority, "cudaError_t (cudaStream_t, int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamGetFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamGetFlags, "cudaError_t (cudaStream_t, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaCtxResetPersistingL2Cache", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaCtxResetPersistingL2Cache, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamCopyAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamCopyAttributes, "cudaError_t (cudaStream_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamGetAttribute, "cudaError_t (cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamSetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamSetAttribute, "cudaError_t (cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, __pyx_t_4cuda_7ccudart_cudaStreamAttrValue const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamDestroy, "cudaError_t (cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamWaitEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamWaitEvent, "cudaError_t (cudaStream_t, cudaEvent_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamAddCallback", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamAddCallback, "cudaError_t (cudaStream_t, cudaStreamCallback_t, void *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamSynchronize", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamSynchronize, "cudaError_t (cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamQuery", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamQuery, "cudaError_t (cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamAttachMemAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamAttachMemAsync, "cudaError_t (cudaStream_t, void *, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamBeginCapture", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamBeginCapture, "cudaError_t (cudaStream_t, enum cudaStreamCaptureMode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadExchangeStreamCaptureMode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadExchangeStreamCaptureMode, "cudaError_t (enum cudaStreamCaptureMode *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamEndCapture", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamEndCapture, "cudaError_t (cudaStream_t, cudaGraph_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamIsCapturing", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamIsCapturing, "cudaError_t (cudaStream_t, enum cudaStreamCaptureStatus *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamGetCaptureInfo", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo, "cudaError_t (cudaStream_t, enum cudaStreamCaptureStatus *, unsigned PY_LONG_LONG *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamGetCaptureInfo_v2", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo_v2, "cudaError_t (cudaStream_t, enum cudaStreamCaptureStatus *, unsigned PY_LONG_LONG *, cudaGraph_t *, cudaGraphNode_t const **, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamUpdateCaptureDependencies", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamUpdateCaptureDependencies, "cudaError_t (cudaStream_t, cudaGraphNode_t *, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventCreate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventCreate, "cudaError_t (cudaEvent_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventCreateWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventCreateWithFlags, "cudaError_t (cudaEvent_t *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventRecord", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventRecord, "cudaError_t (cudaEvent_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventRecordWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventRecordWithFlags, "cudaError_t (cudaEvent_t, cudaStream_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventQuery", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventQuery, "cudaError_t (cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventSynchronize", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventSynchronize, "cudaError_t (cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventDestroy, "cudaError_t (cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventElapsedTime", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventElapsedTime, "cudaError_t (float *, cudaEvent_t, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaImportExternalMemory", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaImportExternalMemory, "cudaError_t (cudaExternalMemory_t *, struct cudaExternalMemoryHandleDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaExternalMemoryGetMappedBuffer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedBuffer, "cudaError_t (void **, cudaExternalMemory_t, struct cudaExternalMemoryBufferDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaExternalMemoryGetMappedMipmappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedMipmappedArray, "cudaError_t (cudaMipmappedArray_t *, cudaExternalMemory_t, struct cudaExternalMemoryMipmappedArrayDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroyExternalMemory", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroyExternalMemory, "cudaError_t (cudaExternalMemory_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaImportExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaImportExternalSemaphore, "cudaError_t (cudaExternalSemaphore_t *, struct cudaExternalSemaphoreHandleDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSignalExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSignalExternalSemaphoresAsync, "cudaError_t (cudaExternalSemaphore_t const *, struct cudaExternalSemaphoreSignalParams const *, unsigned int, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaWaitExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaWaitExternalSemaphoresAsync, "cudaError_t (cudaExternalSemaphore_t const *, struct cudaExternalSemaphoreWaitParams const *, unsigned int, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroyExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroyExternalSemaphore, "cudaError_t (cudaExternalSemaphore_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFuncSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFuncSetCacheConfig, "cudaError_t (void const *, enum cudaFuncCache)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFuncSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFuncSetSharedMemConfig, "cudaError_t (void const *, enum cudaSharedMemConfig)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFuncGetAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFuncGetAttributes, "cudaError_t (struct cudaFuncAttributes *, void const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFuncSetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFuncSetAttribute, "cudaError_t (void const *, enum cudaFuncAttribute, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSetDoubleForDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSetDoubleForDevice, "cudaError_t (double *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSetDoubleForHost", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSetDoubleForHost, "cudaError_t (double *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaLaunchHostFunc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaLaunchHostFunc, "cudaError_t (cudaStream_t, cudaHostFn_t, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaOccupancyMaxActiveBlocksPerMultiprocessor", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessor, "cudaError_t (int *, void const *, int, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaOccupancyAvailableDynamicSMemPerBlock", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaOccupancyAvailableDynamicSMemPerBlock, "cudaError_t (size_t *, void const *, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, "cudaError_t (int *, void const *, int, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocManaged", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocManaged, "cudaError_t (void **, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMalloc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMalloc, "cudaError_t (void **, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocHost", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocHost, "cudaError_t (void **, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocPitch", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocPitch, "cudaError_t (void **, size_t *, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocArray, "cudaError_t (cudaArray_t *, struct cudaChannelFormatDesc const *, size_t, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFree", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFree, "cudaError_t (void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFreeHost", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFreeHost, "cudaError_t (void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFreeArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFreeArray, "cudaError_t (cudaArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFreeMipmappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFreeMipmappedArray, "cudaError_t (cudaMipmappedArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaHostAlloc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaHostAlloc, "cudaError_t (void **, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaHostRegister", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaHostRegister, "cudaError_t (void *, size_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaHostUnregister", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaHostUnregister, "cudaError_t (void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaHostGetDevicePointer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaHostGetDevicePointer, "cudaError_t (void **, void *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaHostGetFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaHostGetFlags, "cudaError_t (unsigned int *, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMalloc3D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMalloc3D, "cudaError_t (struct cudaPitchedPtr *, struct cudaExtent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMalloc3DArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMalloc3DArray, "cudaError_t (cudaArray_t *, struct cudaChannelFormatDesc const *, struct cudaExtent, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocMipmappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocMipmappedArray, "cudaError_t (cudaMipmappedArray_t *, struct cudaChannelFormatDesc const *, struct cudaExtent, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetMipmappedArrayLevel", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetMipmappedArrayLevel, "cudaError_t (cudaArray_t *, cudaMipmappedArray_const_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy3D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy3D, "cudaError_t (struct cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy3DPeer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeer, "cudaError_t (struct cudaMemcpy3DPeerParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy3DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy3DAsync, "cudaError_t (struct cudaMemcpy3DParms const *, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy3DPeerAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeerAsync, "cudaError_t (struct cudaMemcpy3DPeerParms const *, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemGetInfo", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemGetInfo, "cudaError_t (size_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaArrayGetInfo", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaArrayGetInfo, "cudaError_t (struct cudaChannelFormatDesc *, struct cudaExtent *, unsigned int *, cudaArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaArrayGetPlane", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaArrayGetPlane, "cudaError_t (cudaArray_t *, cudaArray_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaArrayGetMemoryRequirements", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaArrayGetMemoryRequirements, "cudaError_t (struct cudaArrayMemoryRequirements *, cudaArray_t, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMipmappedArrayGetMemoryRequirements", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetMemoryRequirements, "cudaError_t (struct cudaArrayMemoryRequirements *, cudaMipmappedArray_t, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaArrayGetSparseProperties, "cudaError_t (struct cudaArraySparseProperties *, cudaArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMipmappedArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetSparseProperties, "cudaError_t (struct cudaArraySparseProperties *, cudaMipmappedArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy, "cudaError_t (void *, void const *, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyPeer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyPeer, "cudaError_t (void *, int, void const *, int, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2D, "cudaError_t (void *, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DToArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArray, "cudaError_t (cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DFromArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArray, "cudaError_t (void *, size_t, cudaArray_const_t, size_t, size_t, size_t, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DArrayToArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DArrayToArray, "cudaError_t (cudaArray_t, size_t, size_t, cudaArray_const_t, size_t, size_t, size_t, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyAsync, "cudaError_t (void *, void const *, size_t, enum cudaMemcpyKind, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyPeerAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyPeerAsync, "cudaError_t (void *, int, void const *, int, size_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DAsync, "cudaError_t (void *, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DToArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArrayAsync, "cudaError_t (cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DFromArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArrayAsync, "cudaError_t (void *, size_t, cudaArray_const_t, size_t, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset, "cudaError_t (void *, int, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset2D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset2D, "cudaError_t (void *, size_t, int, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset3D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset3D, "cudaError_t (struct cudaPitchedPtr, int, struct cudaExtent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemsetAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemsetAsync, "cudaError_t (void *, int, size_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset2DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset2DAsync, "cudaError_t (void *, size_t, int, size_t, size_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset3DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset3DAsync, "cudaError_t (struct cudaPitchedPtr, int, struct cudaExtent, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPrefetchAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPrefetchAsync, "cudaError_t (void const *, size_t, int, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemAdvise", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemAdvise, "cudaError_t (void const *, size_t, enum cudaMemoryAdvise, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemRangeGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemRangeGetAttribute, "cudaError_t (void *, size_t, enum cudaMemRangeAttribute, void const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemRangeGetAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemRangeGetAttributes, "cudaError_t (void **, size_t *, enum cudaMemRangeAttribute *, size_t, void const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyToArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyToArray, "cudaError_t (cudaArray_t, size_t, size_t, void const *, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyFromArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyFromArray, "cudaError_t (void *, cudaArray_const_t, size_t, size_t, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyArrayToArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyArrayToArray, "cudaError_t (cudaArray_t, size_t, size_t, cudaArray_const_t, size_t, size_t, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyToArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyToArrayAsync, "cudaError_t (cudaArray_t, size_t, size_t, void const *, size_t, enum cudaMemcpyKind, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyFromArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyFromArrayAsync, "cudaError_t (void *, cudaArray_const_t, size_t, size_t, size_t, enum cudaMemcpyKind, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocAsync, "cudaError_t (void **, size_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFreeAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFreeAsync, "cudaError_t (void *, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolTrimTo", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolTrimTo, "cudaError_t (cudaMemPool_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolSetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolSetAttribute, "cudaError_t (cudaMemPool_t, enum cudaMemPoolAttr, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolGetAttribute, "cudaError_t (cudaMemPool_t, enum cudaMemPoolAttr, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolSetAccess", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolSetAccess, "cudaError_t (cudaMemPool_t, struct cudaMemAccessDesc const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolGetAccess", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolGetAccess, "cudaError_t (enum cudaMemAccessFlags *, cudaMemPool_t, struct cudaMemLocation *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolCreate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolCreate, "cudaError_t (cudaMemPool_t *, struct cudaMemPoolProps const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolDestroy, "cudaError_t (cudaMemPool_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocFromPoolAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocFromPoolAsync, "cudaError_t (void **, size_t, cudaMemPool_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolExportToShareableHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolExportToShareableHandle, "cudaError_t (void *, cudaMemPool_t, enum cudaMemAllocationHandleType, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolImportFromShareableHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolImportFromShareableHandle, "cudaError_t (cudaMemPool_t *, void *, enum cudaMemAllocationHandleType, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolExportPointer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolExportPointer, "cudaError_t (struct cudaMemPoolPtrExportData *, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolImportPointer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolImportPointer, "cudaError_t (void **, cudaMemPool_t, struct cudaMemPoolPtrExportData *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaPointerGetAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaPointerGetAttributes, "cudaError_t (struct cudaPointerAttributes *, void const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceCanAccessPeer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceCanAccessPeer, "cudaError_t (int *, int, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceEnablePeerAccess", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceEnablePeerAccess, "cudaError_t (int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceDisablePeerAccess", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceDisablePeerAccess, "cudaError_t (int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsUnregisterResource", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsUnregisterResource, "cudaError_t (cudaGraphicsResource_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsResourceSetMapFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsResourceSetMapFlags, "cudaError_t (cudaGraphicsResource_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsMapResources", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsMapResources, "cudaError_t (int, cudaGraphicsResource_t *, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsUnmapResources", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsUnmapResources, "cudaError_t (int, cudaGraphicsResource_t *, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsResourceGetMappedPointer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedPointer, "cudaError_t (void **, size_t *, cudaGraphicsResource_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsSubResourceGetMappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsSubResourceGetMappedArray, "cudaError_t (cudaArray_t *, cudaGraphicsResource_t, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsResourceGetMappedMipmappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedMipmappedArray, "cudaError_t (cudaMipmappedArray_t *, cudaGraphicsResource_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetChannelDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetChannelDesc, "cudaError_t (struct cudaChannelFormatDesc *, cudaArray_const_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaCreateChannelDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaCreateChannelDesc, "struct cudaChannelFormatDesc (int, int, int, int, enum cudaChannelFormatKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaCreateTextureObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaCreateTextureObject, "cudaError_t (cudaTextureObject_t *, struct cudaResourceDesc const *, struct cudaTextureDesc const *, struct cudaResourceViewDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaCreateTextureObject_v2", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaCreateTextureObject_v2, "cudaError_t (cudaTextureObject_t *, struct cudaResourceDesc const *, struct cudaTextureDesc_v2 const *, struct cudaResourceViewDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroyTextureObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroyTextureObject, "cudaError_t (cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetTextureObjectResourceDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceDesc, "cudaError_t (struct cudaResourceDesc *, cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetTextureObjectTextureDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc, "cudaError_t (struct cudaTextureDesc *, cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetTextureObjectTextureDesc_v2", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc_v2, "cudaError_t (struct cudaTextureDesc_v2 *, cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetTextureObjectResourceViewDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceViewDesc, "cudaError_t (struct cudaResourceViewDesc *, cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaCreateSurfaceObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaCreateSurfaceObject, "cudaError_t (cudaSurfaceObject_t *, struct cudaResourceDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroySurfaceObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroySurfaceObject, "cudaError_t (cudaSurfaceObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetSurfaceObjectResourceDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetSurfaceObjectResourceDesc, "cudaError_t (struct cudaResourceDesc *, cudaSurfaceObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDriverGetVersion", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDriverGetVersion, "cudaError_t (int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaRuntimeGetVersion", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaRuntimeGetVersion, "cudaError_t (int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphCreate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphCreate, "cudaError_t (cudaGraph_t *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddKernelNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddKernelNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaKernelNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetParams, "cudaError_t (cudaGraphNode_t, struct cudaKernelNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetParams, "cudaError_t (cudaGraphNode_t, struct cudaKernelNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeCopyAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeCopyAttributes, "cudaError_t (cudaGraphNode_t, cudaGraphNode_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetAttribute, "cudaError_t (cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeSetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetAttribute, "cudaError_t (cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemcpyNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemcpyNode1D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode1D, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, void *, void const *, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemcpyNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeGetParams, "cudaError_t (cudaGraphNode_t, struct cudaMemcpy3DParms *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams, "cudaError_t (cudaGraphNode_t, struct cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemcpyNodeSetParams1D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams1D, "cudaError_t (cudaGraphNode_t, void *, void const *, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemsetNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemsetNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaMemsetParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemsetNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeGetParams, "cudaError_t (cudaGraphNode_t, struct cudaMemsetParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeSetParams, "cudaError_t (cudaGraphNode_t, struct cudaMemsetParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddHostNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddHostNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaHostNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphHostNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphHostNodeGetParams, "cudaError_t (cudaGraphNode_t, struct cudaHostNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphHostNodeSetParams, "cudaError_t (cudaGraphNode_t, struct cudaHostNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddChildGraphNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddChildGraphNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphChildGraphNodeGetGraph", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphChildGraphNodeGetGraph, "cudaError_t (cudaGraphNode_t, cudaGraph_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddEmptyNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddEmptyNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddEventRecordNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddEventRecordNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventRecordNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeGetEvent, "cudaError_t (cudaGraphNode_t, cudaEvent_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeSetEvent, "cudaError_t (cudaGraphNode_t, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddEventWaitNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddEventWaitNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventWaitNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeGetEvent, "cudaError_t (cudaGraphNode_t, cudaEvent_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeSetEvent, "cudaError_t (cudaGraphNode_t, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddExternalSemaphoresSignalNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresSignalNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaExternalSemaphoreSignalNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresSignalNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeGetParams, "cudaError_t (cudaGraphNode_t, struct cudaExternalSemaphoreSignalNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeSetParams, "cudaError_t (cudaGraphNode_t, struct cudaExternalSemaphoreSignalNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddExternalSemaphoresWaitNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresWaitNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaExternalSemaphoreWaitNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresWaitNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeGetParams, "cudaError_t (cudaGraphNode_t, struct cudaExternalSemaphoreWaitNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeSetParams, "cudaError_t (cudaGraphNode_t, struct cudaExternalSemaphoreWaitNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemAllocNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemAllocNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, struct cudaMemAllocNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemAllocNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemAllocNodeGetParams, "cudaError_t (cudaGraphNode_t, struct cudaMemAllocNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemFreeNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemFreeNode, "cudaError_t (cudaGraphNode_t *, cudaGraph_t, cudaGraphNode_t const *, size_t, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemFreeNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemFreeNodeGetParams, "cudaError_t (cudaGraphNode_t, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGraphMemTrim", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGraphMemTrim, "cudaError_t (int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetGraphMemAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetGraphMemAttribute, "cudaError_t (int, enum cudaGraphMemAttributeType, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSetGraphMemAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSetGraphMemAttribute, "cudaError_t (int, enum cudaGraphMemAttributeType, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphClone", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphClone, "cudaError_t (cudaGraph_t *, cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeFindInClone", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeFindInClone, "cudaError_t (cudaGraphNode_t *, cudaGraphNode_t, cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeGetType", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeGetType, "cudaError_t (cudaGraphNode_t, enum cudaGraphNodeType *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphGetNodes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphGetNodes, "cudaError_t (cudaGraph_t, cudaGraphNode_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphGetRootNodes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphGetRootNodes, "cudaError_t (cudaGraph_t, cudaGraphNode_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphGetEdges", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphGetEdges, "cudaError_t (cudaGraph_t, cudaGraphNode_t *, cudaGraphNode_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeGetDependencies", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependencies, "cudaError_t (cudaGraphNode_t, cudaGraphNode_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeGetDependentNodes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependentNodes, "cudaError_t (cudaGraphNode_t, cudaGraphNode_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddDependencies", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddDependencies, "cudaError_t (cudaGraph_t, cudaGraphNode_t const *, cudaGraphNode_t const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphRemoveDependencies", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphRemoveDependencies, "cudaError_t (cudaGraph_t, cudaGraphNode_t const *, cudaGraphNode_t const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphDestroyNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphDestroyNode, "cudaError_t (cudaGraphNode_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphInstantiate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphInstantiate, "cudaError_t (cudaGraphExec_t *, cudaGraph_t, cudaGraphNode_t *, char *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphInstantiateWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphInstantiateWithFlags, "cudaError_t (cudaGraphExec_t *, cudaGraph_t, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecKernelNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecKernelNodeSetParams, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, struct cudaKernelNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, struct cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecMemcpyNodeSetParams1D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams1D, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, void *, void const *, size_t, enum cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecMemsetNodeSetParams, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, struct cudaMemsetParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecHostNodeSetParams, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, struct cudaHostNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecChildGraphNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecChildGraphNodeSetParams, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecEventRecordNodeSetEvent, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecEventWaitNodeSetEvent, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresSignalNodeSetParams, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, struct cudaExternalSemaphoreSignalNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresWaitNodeSetParams, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, struct cudaExternalSemaphoreWaitNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeSetEnabled", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeSetEnabled, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeGetEnabled", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeGetEnabled, "cudaError_t (cudaGraphExec_t, cudaGraphNode_t, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecUpdate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecUpdate, "cudaError_t (cudaGraphExec_t, cudaGraph_t, cudaGraphNode_t *, enum cudaGraphExecUpdateResult *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphUpload", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphUpload, "cudaError_t (cudaGraphExec_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphLaunch", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphLaunch, "cudaError_t (cudaGraphExec_t, cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecDestroy, "cudaError_t (cudaGraphExec_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphDestroy, "cudaError_t (cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphDebugDotPrint", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphDebugDotPrint, "cudaError_t (cudaGraph_t, char const *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaUserObjectCreate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaUserObjectCreate, "cudaError_t (cudaUserObject_t *, void *, cudaHostFn_t, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaUserObjectRetain", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaUserObjectRetain, "cudaError_t (cudaUserObject_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaUserObjectRelease", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaUserObjectRelease, "cudaError_t (cudaUserObject_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphRetainUserObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphRetainUserObject, "cudaError_t (cudaGraph_t, cudaUserObject_t, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphReleaseUserObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphReleaseUserObject, "cudaError_t (cudaGraph_t, cudaUserObject_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetDriverEntryPoint", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetDriverEntryPoint, "cudaError_t (char const *, void **, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetExportTable", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetExportTable, "cudaError_t (void const **, cudaUUID_t const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "make_cudaPitchedPtr", (void (**)(void))&__pyx_f_4cuda_7ccudart_make_cudaPitchedPtr, "struct cudaPitchedPtr (void *, size_t, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "make_cudaPos", (void (**)(void))&__pyx_f_4cuda_7ccudart_make_cudaPos, "struct cudaPos (size_t, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "make_cudaExtent", (void (**)(void))&__pyx_f_4cuda_7ccudart_make_cudaExtent, "struct cudaExtent (size_t, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaProfilerInitialize", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaProfilerInitialize, "cudaError_t (char const *, char const *, cudaOutputMode_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaProfilerStart", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaProfilerStart, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaProfilerStop", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaProfilerStop, "cudaError_t (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsEGLRegisterImage", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsEGLRegisterImage, "cudaError_t (cudaGraphicsResource_t *, __pyx_t_4cuda_7ccudart_EGLImageKHR, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamConsumerConnect", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerConnect, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_EGLStreamKHR)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamConsumerConnectWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerConnectWithFlags, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_EGLStreamKHR, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamConsumerDisconnect", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerDisconnect, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamConsumerAcquireFrame", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerAcquireFrame, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, cudaGraphicsResource_t *, cudaStream_t *, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamConsumerReleaseFrame", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamConsumerReleaseFrame, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, cudaGraphicsResource_t, cudaStream_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamProducerConnect", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerConnect, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_EGLStreamKHR, __pyx_t_4cuda_7ccudart_EGLint, __pyx_t_4cuda_7ccudart_EGLint)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamProducerDisconnect", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerDisconnect, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamProducerPresentFrame", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerPresentFrame, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_cudaEglFrame, cudaStream_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEGLStreamProducerReturnFrame", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEGLStreamProducerReturnFrame, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglStreamConnection *, __pyx_t_4cuda_7ccudart_cudaEglFrame *, cudaStream_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsResourceGetMappedEglFrame", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedEglFrame, "cudaError_t (__pyx_t_4cuda_7ccudart_cudaEglFrame *, cudaGraphicsResource_t, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventCreateFromEGLSync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventCreateFromEGLSync, "cudaError_t (cudaEvent_t *, __pyx_t_4cuda_7ccudart_EGLSyncKHR, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}


#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 initcudart(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC initcudart(void)
#else
__Pyx_PyMODINIT_FUNC PyInit_cudart(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_cudart(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;
}
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        if (allow_none || value != Py_None) {
            result = PyDict_SetItemString(moddict, to_name, value);
        }
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    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;
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static CYTHON_SMALL_CODE int __pyx_pymod_exec_cudart(PyObject *__pyx_pyinit_module)
#endif
#endif
{
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module 'cudart' 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
  #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_cudart(void)", 0);
  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 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(0, 1, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_AsyncGen_USED
  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 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
  /*--- 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("cudart", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_b);
  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_cython_runtime);
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 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(0, 1, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_cuda__cudart) {
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_3, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "cuda.cudart")) {
      if (unlikely(PyDict_SetItemString(modules, "cuda.cudart", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 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(0, 1, __pyx_L1_error)
  if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
  (void)__Pyx_modinit_variable_import_code();
  if (unlikely(__Pyx_modinit_function_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_cudart(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "cuda/cudart.pyx":8
 * # this software and related documentation outside the terms of the EULA
 * # is strictly prohibited.
 * from typing import List, Tuple, Any             # <<<<<<<<<<<<<<
 * from enum import IntEnum
 * import cython
 */
  __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_List);
  __Pyx_GIVEREF(__pyx_n_s_List);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_List);
  __Pyx_INCREF(__pyx_n_s_Tuple);
  __Pyx_GIVEREF(__pyx_n_s_Tuple);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_Tuple);
  __Pyx_INCREF(__pyx_n_s_Any);
  __Pyx_GIVEREF(__pyx_n_s_Any);
  PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_Any);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_List, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Tuple); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Tuple, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Any); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9
 * # is strictly prohibited.
 * from typing import List, Tuple, Any
 * from enum import IntEnum             # <<<<<<<<<<<<<<
 * import cython
 * import ctypes
 */
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_IntEnum);
  __Pyx_GIVEREF(__pyx_n_s_IntEnum);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_IntEnum);
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IntEnum, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11
 * from enum import IntEnum
 * import cython
 * import ctypes             # <<<<<<<<<<<<<<
 * from libc.stdlib cimport calloc, free
 * from libc.string cimport memcpy
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_ctypes, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ctypes, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20
 * from cpython.buffer cimport PyObject_CheckBuffer, PyObject_GetBuffer, PyBuffer_Release, PyBUF_SIMPLE, PyBUF_ANY_CONTIGUOUS
 * from cpython.bytes cimport PyBytes_FromStringAndSize
 * import cuda.cuda             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long signed_char_ptr
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_cuda_cuda, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuda, __pyx_t_1) < 0) __PYX_ERR(0, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":45
 * 
 * #: Default page-locked allocation flag
 * cudaHostAllocDefault = ccudart.cudaHostAllocDefault             # <<<<<<<<<<<<<<
 * 
 * #: Pinned memory accessible by all CUDA contexts
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAllocDefault, __pyx_t_1) < 0) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":48
 * 
 * #: Pinned memory accessible by all CUDA contexts
 * cudaHostAllocPortable = ccudart.cudaHostAllocPortable             # <<<<<<<<<<<<<<
 * 
 * #: Map allocation into device space
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocPortable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAllocPortable, __pyx_t_1) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":51
 * 
 * #: Map allocation into device space
 * cudaHostAllocMapped = ccudart.cudaHostAllocMapped             # <<<<<<<<<<<<<<
 * 
 * #: Write-combined memory
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocMapped); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAllocMapped, __pyx_t_1) < 0) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":54
 * 
 * #: Write-combined memory
 * cudaHostAllocWriteCombined = ccudart.cudaHostAllocWriteCombined             # <<<<<<<<<<<<<<
 * 
 * #: Default host memory registration flag
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocWriteCombined); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAllocWriteCombined, __pyx_t_1) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":57
 * 
 * #: Default host memory registration flag
 * cudaHostRegisterDefault = ccudart.cudaHostRegisterDefault             # <<<<<<<<<<<<<<
 * 
 * #: Pinned memory accessible by all CUDA contexts
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterDefault, __pyx_t_1) < 0) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":60
 * 
 * #: Pinned memory accessible by all CUDA contexts
 * cudaHostRegisterPortable = ccudart.cudaHostRegisterPortable             # <<<<<<<<<<<<<<
 * 
 * #: Map registered memory into device space
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterPortable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterPortable, __pyx_t_1) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":63
 * 
 * #: Map registered memory into device space
 * cudaHostRegisterMapped = ccudart.cudaHostRegisterMapped             # <<<<<<<<<<<<<<
 * 
 * #: Memory-mapped I/O space
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterMapped); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterMapped, __pyx_t_1) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":66
 * 
 * #: Memory-mapped I/O space
 * cudaHostRegisterIoMemory = ccudart.cudaHostRegisterIoMemory             # <<<<<<<<<<<<<<
 * 
 * #: Memory-mapped read-only
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterIoMemory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterIoMemory, __pyx_t_1) < 0) __PYX_ERR(0, 66, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":69
 * 
 * #: Memory-mapped read-only
 * cudaHostRegisterReadOnly = ccudart.cudaHostRegisterReadOnly             # <<<<<<<<<<<<<<
 * 
 * #: Default peer addressing enable flag
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterReadOnly); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterReadOnly, __pyx_t_1) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":72
 * 
 * #: Default peer addressing enable flag
 * cudaPeerAccessDefault = ccudart.cudaPeerAccessDefault             # <<<<<<<<<<<<<<
 * 
 * #: Default stream flag
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaPeerAccessDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaPeerAccessDefault, __pyx_t_1) < 0) __PYX_ERR(0, 72, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":75
 * 
 * #: Default stream flag
 * cudaStreamDefault = ccudart.cudaStreamDefault             # <<<<<<<<<<<<<<
 * 
 * #: Stream does not synchronize with stream 0 (the NULL stream)
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamDefault, __pyx_t_1) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":78
 * 
 * #: Stream does not synchronize with stream 0 (the NULL stream)
 * cudaStreamNonBlocking = ccudart.cudaStreamNonBlocking             # <<<<<<<<<<<<<<
 * 
 * #: Legacy stream handle
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamNonBlocking); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamNonBlocking, __pyx_t_1) < 0) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":86
 * #:
 * #: See details of the \link_sync_behavior
 * cudaStreamLegacy = ccudart.cudaStreamLegacy             # <<<<<<<<<<<<<<
 * 
 * #: Per-thread stream handle
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamLegacy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamLegacy, __pyx_t_1) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":94
 * #:
 * #: See details of the \link_sync_behavior
 * cudaStreamPerThread = ccudart.cudaStreamPerThread             # <<<<<<<<<<<<<<
 * 
 * #: Default event flag
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamPerThread); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamPerThread, __pyx_t_1) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":97
 * 
 * #: Default event flag
 * cudaEventDefault = ccudart.cudaEventDefault             # <<<<<<<<<<<<<<
 * 
 * #: Event uses blocking synchronization
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventDefault, __pyx_t_1) < 0) __PYX_ERR(0, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":100
 * 
 * #: Event uses blocking synchronization
 * cudaEventBlockingSync = ccudart.cudaEventBlockingSync             # <<<<<<<<<<<<<<
 * 
 * #: Event will not record timing data
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventBlockingSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventBlockingSync, __pyx_t_1) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":103
 * 
 * #: Event will not record timing data
 * cudaEventDisableTiming = ccudart.cudaEventDisableTiming             # <<<<<<<<<<<<<<
 * 
 * #: Event is suitable for interprocess use. cudaEventDisableTiming must be
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventDisableTiming); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventDisableTiming, __pyx_t_1) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":107
 * #: Event is suitable for interprocess use. cudaEventDisableTiming must be
 * #: set
 * cudaEventInterprocess = ccudart.cudaEventInterprocess             # <<<<<<<<<<<<<<
 * 
 * #: Default event record flag
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventInterprocess); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventInterprocess, __pyx_t_1) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":110
 * 
 * #: Default event record flag
 * cudaEventRecordDefault = ccudart.cudaEventRecordDefault             # <<<<<<<<<<<<<<
 * 
 * #: Event is captured in the graph as an external event node when performing
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventRecordDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecordDefault, __pyx_t_1) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":114
 * #: Event is captured in the graph as an external event node when performing
 * #: stream capture
 * cudaEventRecordExternal = ccudart.cudaEventRecordExternal             # <<<<<<<<<<<<<<
 * 
 * #: Default event wait flag
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventRecordExternal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecordExternal, __pyx_t_1) < 0) __PYX_ERR(0, 114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":117
 * 
 * #: Default event wait flag
 * cudaEventWaitDefault = ccudart.cudaEventWaitDefault             # <<<<<<<<<<<<<<
 * 
 * #: Event is captured in the graph as an external event node when performing
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventWaitDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventWaitDefault, __pyx_t_1) < 0) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":121
 * #: Event is captured in the graph as an external event node when performing
 * #: stream capture
 * cudaEventWaitExternal = ccudart.cudaEventWaitExternal             # <<<<<<<<<<<<<<
 * 
 * #: Device flag - Automatic scheduling
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventWaitExternal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventWaitExternal, __pyx_t_1) < 0) __PYX_ERR(0, 121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":124
 * 
 * #: Device flag - Automatic scheduling
 * cudaDeviceScheduleAuto = ccudart.cudaDeviceScheduleAuto             # <<<<<<<<<<<<<<
 * 
 * #: Device flag - Spin default scheduling
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleAuto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleAuto, __pyx_t_1) < 0) __PYX_ERR(0, 124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":127
 * 
 * #: Device flag - Spin default scheduling
 * cudaDeviceScheduleSpin = ccudart.cudaDeviceScheduleSpin             # <<<<<<<<<<<<<<
 * 
 * #: Device flag - Yield default scheduling
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleSpin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleSpin, __pyx_t_1) < 0) __PYX_ERR(0, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":130
 * 
 * #: Device flag - Yield default scheduling
 * cudaDeviceScheduleYield = ccudart.cudaDeviceScheduleYield             # <<<<<<<<<<<<<<
 * 
 * #: Device flag - Use blocking synchronization
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleYield); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleYield, __pyx_t_1) < 0) __PYX_ERR(0, 130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":133
 * 
 * #: Device flag - Use blocking synchronization
 * cudaDeviceScheduleBlockingSync = ccudart.cudaDeviceScheduleBlockingSync             # <<<<<<<<<<<<<<
 * 
 * #: Device flag - Use blocking synchronization [Deprecated]
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleBlockingSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleBlockingSync, __pyx_t_1) < 0) __PYX_ERR(0, 133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":136
 * 
 * #: Device flag - Use blocking synchronization [Deprecated]
 * cudaDeviceBlockingSync = ccudart.cudaDeviceBlockingSync             # <<<<<<<<<<<<<<
 * 
 * #: Device schedule flags mask
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceBlockingSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceBlockingSync, __pyx_t_1) < 0) __PYX_ERR(0, 136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":139
 * 
 * #: Device schedule flags mask
 * cudaDeviceScheduleMask = ccudart.cudaDeviceScheduleMask             # <<<<<<<<<<<<<<
 * 
 * #: Device flag - Support mapped pinned allocations
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleMask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleMask, __pyx_t_1) < 0) __PYX_ERR(0, 139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":142
 * 
 * #: Device flag - Support mapped pinned allocations
 * cudaDeviceMapHost = ccudart.cudaDeviceMapHost             # <<<<<<<<<<<<<<
 * 
 * #: Device flag - Keep local memory allocation after launch
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceMapHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceMapHost, __pyx_t_1) < 0) __PYX_ERR(0, 142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":145
 * 
 * #: Device flag - Keep local memory allocation after launch
 * cudaDeviceLmemResizeToMax = ccudart.cudaDeviceLmemResizeToMax             # <<<<<<<<<<<<<<
 * 
 * #: Device flags mask
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceLmemResizeToMax); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceLmemResizeToMax, __pyx_t_1) < 0) __PYX_ERR(0, 145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":148
 * 
 * #: Device flags mask
 * cudaDeviceMask = ccudart.cudaDeviceMask             # <<<<<<<<<<<<<<
 * 
 * #: Default CUDA array allocation flag
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceMask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceMask, __pyx_t_1) < 0) __PYX_ERR(0, 148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":151
 * 
 * #: Default CUDA array allocation flag
 * cudaArrayDefault = ccudart.cudaArrayDefault             # <<<<<<<<<<<<<<
 * 
 * #: Must be set in cudaMalloc3DArray to create a layered CUDA array
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayDefault, __pyx_t_1) < 0) __PYX_ERR(0, 151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":154
 * 
 * #: Must be set in cudaMalloc3DArray to create a layered CUDA array
 * cudaArrayLayered = ccudart.cudaArrayLayered             # <<<<<<<<<<<<<<
 * 
 * #: Must be set in cudaMallocArray or cudaMalloc3DArray in order to bind
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayLayered, __pyx_t_1) < 0) __PYX_ERR(0, 154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":158
 * #: Must be set in cudaMallocArray or cudaMalloc3DArray in order to bind
 * #: surfaces to the CUDA array
 * cudaArraySurfaceLoadStore = ccudart.cudaArraySurfaceLoadStore             # <<<<<<<<<<<<<<
 * 
 * #: Must be set in cudaMalloc3DArray to create a cubemap CUDA array
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArraySurfaceLoadStore); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArraySurfaceLoadStore, __pyx_t_1) < 0) __PYX_ERR(0, 158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":161
 * 
 * #: Must be set in cudaMalloc3DArray to create a cubemap CUDA array
 * cudaArrayCubemap = ccudart.cudaArrayCubemap             # <<<<<<<<<<<<<<
 * 
 * #: Must be set in cudaMallocArray or cudaMalloc3DArray in order to perform
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayCubemap, __pyx_t_1) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":165
 * #: Must be set in cudaMallocArray or cudaMalloc3DArray in order to perform
 * #: texture gather operations on the CUDA array
 * cudaArrayTextureGather = ccudart.cudaArrayTextureGather             # <<<<<<<<<<<<<<
 * 
 * #: Must be set in cudaExternalMemoryGetMappedMipmappedArray if the
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayTextureGather); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayTextureGather, __pyx_t_1) < 0) __PYX_ERR(0, 165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":169
 * #: Must be set in cudaExternalMemoryGetMappedMipmappedArray if the
 * #: mipmapped array is used as a color target in a graphics API
 * cudaArrayColorAttachment = ccudart.cudaArrayColorAttachment             # <<<<<<<<<<<<<<
 * 
 * #: Must be set in cudaMallocArray, cudaMalloc3DArray or
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayColorAttachment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayColorAttachment, __pyx_t_1) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":174
 * #: cudaMallocMipmappedArray in order to create a sparse CUDA array or CUDA
 * #: mipmapped array
 * cudaArraySparse = ccudart.cudaArraySparse             # <<<<<<<<<<<<<<
 * 
 * #: Must be set in cudaMallocArray, cudaMalloc3DArray or
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArraySparse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArraySparse, __pyx_t_1) < 0) __PYX_ERR(0, 174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":179
 * #: cudaMallocMipmappedArray in order to create a deferred mapping CUDA
 * #: array or CUDA mipmapped array
 * cudaArrayDeferredMapping = ccudart.cudaArrayDeferredMapping             # <<<<<<<<<<<<<<
 * 
 * #: Automatically enable peer access between remote devices as needed
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayDeferredMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayDeferredMapping, __pyx_t_1) < 0) __PYX_ERR(0, 179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":182
 * 
 * #: Automatically enable peer access between remote devices as needed
 * cudaIpcMemLazyEnablePeerAccess = ccudart.cudaIpcMemLazyEnablePeerAccess             # <<<<<<<<<<<<<<
 * 
 * #: Memory can be accessed by any stream on any device
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaIpcMemLazyEnablePeerAccess); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcMemLazyEnablePeerAccess, __pyx_t_1) < 0) __PYX_ERR(0, 182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":185
 * 
 * #: Memory can be accessed by any stream on any device
 * cudaMemAttachGlobal = ccudart.cudaMemAttachGlobal             # <<<<<<<<<<<<<<
 * 
 * #: Memory cannot be accessed by any stream on any device
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaMemAttachGlobal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAttachGlobal, __pyx_t_1) < 0) __PYX_ERR(0, 185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":188
 * 
 * #: Memory cannot be accessed by any stream on any device
 * cudaMemAttachHost = ccudart.cudaMemAttachHost             # <<<<<<<<<<<<<<
 * 
 * #: Memory can only be accessed by a single stream on the associated device
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaMemAttachHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAttachHost, __pyx_t_1) < 0) __PYX_ERR(0, 188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":191
 * 
 * #: Memory can only be accessed by a single stream on the associated device
 * cudaMemAttachSingle = ccudart.cudaMemAttachSingle             # <<<<<<<<<<<<<<
 * 
 * #: Default behavior
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaMemAttachSingle); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAttachSingle, __pyx_t_1) < 0) __PYX_ERR(0, 191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":194
 * 
 * #: Default behavior
 * cudaOccupancyDefault = ccudart.cudaOccupancyDefault             # <<<<<<<<<<<<<<
 * 
 * #: Assume global caching is enabled and cannot be automatically turned off
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaOccupancyDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyDefault, __pyx_t_1) < 0) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":197
 * 
 * #: Assume global caching is enabled and cannot be automatically turned off
 * cudaOccupancyDisableCachingOverride = ccudart.cudaOccupancyDisableCachingOverride             # <<<<<<<<<<<<<<
 * 
 * #: Device id that represents the CPU
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaOccupancyDisableCachingOverride); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyDisableCachingOverr, __pyx_t_1) < 0) __PYX_ERR(0, 197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":200
 * 
 * #: Device id that represents the CPU
 * cudaCpuDeviceId = ccudart.cudaCpuDeviceId             # <<<<<<<<<<<<<<
 * 
 * #: Device id that represents an invalid device
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaCpuDeviceId); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCpuDeviceId, __pyx_t_1) < 0) __PYX_ERR(0, 200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":203
 * 
 * #: Device id that represents an invalid device
 * cudaInvalidDeviceId = ccudart.cudaInvalidDeviceId             # <<<<<<<<<<<<<<
 * 
 * #: If set, each kernel launched as part of
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaInvalidDeviceId); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaInvalidDeviceId, __pyx_t_1) < 0) __PYX_ERR(0, 203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":209
 * #: work in the stream corresponding to that GPU to complete before the
 * #: kernel begins execution.
 * cudaCooperativeLaunchMultiDeviceNoPreSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPreSync             # <<<<<<<<<<<<<<
 * 
 * #: If set, any subsequent work pushed in a stream that participated in a
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPreSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCooperativeLaunchMultiDevice, __pyx_t_1) < 0) __PYX_ERR(0, 209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":215
 * #: wait for the kernel launched on the GPU corresponding to that stream to
 * #: complete before it begins execution.
 * cudaCooperativeLaunchMultiDeviceNoPostSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPostSync             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that the layered sparse CUDA array or CUDA mipmapped array has
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPostSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCooperativeLaunchMultiDevice_2, __pyx_t_1) < 0) __PYX_ERR(0, 215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":219
 * #: Indicates that the layered sparse CUDA array or CUDA mipmapped array has
 * #: a single mip tail region for all layers
 * cudaArraySparsePropertiesSingleMipTail = ccudart.cudaArraySparsePropertiesSingleMipTail             # <<<<<<<<<<<<<<
 * 
 * #: CUDA IPC Handle Size
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArraySparsePropertiesSingleMipTail); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArraySparsePropertiesSingleM, __pyx_t_1) < 0) __PYX_ERR(0, 219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":222
 * 
 * #: CUDA IPC Handle Size
 * CUDA_IPC_HANDLE_SIZE = ccudart.CUDA_IPC_HANDLE_SIZE             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that the external memory object is a dedicated resource
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_CUDA_IPC_HANDLE_SIZE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_IPC_HANDLE_SIZE, __pyx_t_1) < 0) __PYX_ERR(0, 222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":225
 * 
 * #: Indicates that the external memory object is a dedicated resource
 * cudaExternalMemoryDedicated = ccudart.cudaExternalMemoryDedicated             # <<<<<<<<<<<<<<
 * 
 * #: When the /p flags parameter of
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaExternalMemoryDedicated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalMemoryDedicated, __pyx_t_1) < 0) __PYX_ERR(0, 225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":235
 * #: performed by default to ensure data coherency with other importers of
 * #: the same NvSciBuf memory objects.
 * cudaExternalSemaphoreSignalSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreSignalSkipNvSciBufMemSync             # <<<<<<<<<<<<<<
 * 
 * #: When the /p flags parameter of
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreSignalSkipNvSciBufMemSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalSemaphoreSignalSkipN, __pyx_t_1) < 0) __PYX_ERR(0, 235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":245
 * #: performed by default to ensure data coherency with other importers of
 * #: the same NvSciBuf memory objects.
 * cudaExternalSemaphoreWaitSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreWaitSkipNvSciBufMemSync             # <<<<<<<<<<<<<<
 * 
 * #: When /p flags of :py:obj:`~.cudaDeviceGetNvSciSyncAttributes` is set to
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreWaitSkipNvSciBufMemSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalSemaphoreWaitSkipNvS, __pyx_t_1) < 0) __PYX_ERR(0, 245, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":250
 * #: this, it indicates that application need signaler specific NvSciSyncAttr
 * #: to be filled by :py:obj:`~.cudaDeviceGetNvSciSyncAttributes`.
 * cudaNvSciSyncAttrSignal = ccudart.cudaNvSciSyncAttrSignal             # <<<<<<<<<<<<<<
 * 
 * #: When /p flags of :py:obj:`~.cudaDeviceGetNvSciSyncAttributes` is set to
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrSignal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaNvSciSyncAttrSignal, __pyx_t_1) < 0) __PYX_ERR(0, 250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":255
 * #: this, it indicates that application need waiter specific NvSciSyncAttr
 * #: to be filled by :py:obj:`~.cudaDeviceGetNvSciSyncAttributes`.
 * cudaNvSciSyncAttrWait = ccudart.cudaNvSciSyncAttrWait             # <<<<<<<<<<<<<<
 * 
 * cudaKernelNodeAttributeClusterDimension = ccudart.cudaKernelNodeAttributeClusterDimension
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrWait); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaNvSciSyncAttrWait, __pyx_t_1) < 0) __PYX_ERR(0, 255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":257
 * cudaNvSciSyncAttrWait = ccudart.cudaNvSciSyncAttrWait
 * 
 * cudaKernelNodeAttributeClusterDimension = ccudart.cudaKernelNodeAttributeClusterDimension             # <<<<<<<<<<<<<<
 * 
 * cudaKernelNodeAttributeClusterSchedulingPolicyPreference = ccudart.cudaKernelNodeAttributeClusterSchedulingPolicyPreference
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeClusterDimension); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaKernelNodeAttributeClusterDi, __pyx_t_1) < 0) __PYX_ERR(0, 257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":259
 * cudaKernelNodeAttributeClusterDimension = ccudart.cudaKernelNodeAttributeClusterDimension
 * 
 * cudaKernelNodeAttributeClusterSchedulingPolicyPreference = ccudart.cudaKernelNodeAttributeClusterSchedulingPolicyPreference             # <<<<<<<<<<<<<<
 * 
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeClusterSchedulingPolicyPreference); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaKernelNodeAttributeClusterSc, __pyx_t_1) < 0) __PYX_ERR(0, 259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":261
 * cudaKernelNodeAttributeClusterSchedulingPolicyPreference = ccudart.cudaKernelNodeAttributeClusterSchedulingPolicyPreference
 * 
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D             # <<<<<<<<<<<<<<
 * 
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType1D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType1D, __pyx_t_1) < 0) __PYX_ERR(0, 261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":263
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D
 * 
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D             # <<<<<<<<<<<<<<
 * 
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType2D, __pyx_t_1) < 0) __PYX_ERR(0, 263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":265
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D
 * 
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D             # <<<<<<<<<<<<<<
 * 
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType3D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType3D, __pyx_t_1) < 0) __PYX_ERR(0, 265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":267
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D
 * 
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap             # <<<<<<<<<<<<<<
 * 
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceTypeCubemap, __pyx_t_1) < 0) __PYX_ERR(0, 267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":269
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap
 * 
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered             # <<<<<<<<<<<<<<
 * 
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType1DLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType1DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":271
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered
 * 
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered             # <<<<<<<<<<<<<<
 * 
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType2DLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType2DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":273
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered
 * 
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered             # <<<<<<<<<<<<<<
 * 
 * cudaTextureType1D = ccudart.cudaTextureType1D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemapLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceTypeCubemapLayered, __pyx_t_1) < 0) __PYX_ERR(0, 273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":275
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered
 * 
 * cudaTextureType1D = ccudart.cudaTextureType1D             # <<<<<<<<<<<<<<
 * 
 * cudaTextureType2D = ccudart.cudaTextureType2D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType1D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType1D, __pyx_t_1) < 0) __PYX_ERR(0, 275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":277
 * cudaTextureType1D = ccudart.cudaTextureType1D
 * 
 * cudaTextureType2D = ccudart.cudaTextureType2D             # <<<<<<<<<<<<<<
 * 
 * cudaTextureType3D = ccudart.cudaTextureType3D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType2D, __pyx_t_1) < 0) __PYX_ERR(0, 277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":279
 * cudaTextureType2D = ccudart.cudaTextureType2D
 * 
 * cudaTextureType3D = ccudart.cudaTextureType3D             # <<<<<<<<<<<<<<
 * 
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType3D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType3D, __pyx_t_1) < 0) __PYX_ERR(0, 279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":281
 * cudaTextureType3D = ccudart.cudaTextureType3D
 * 
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap             # <<<<<<<<<<<<<<
 * 
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureTypeCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureTypeCubemap, __pyx_t_1) < 0) __PYX_ERR(0, 281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":283
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap
 * 
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered             # <<<<<<<<<<<<<<
 * 
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType1DLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType1DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":285
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered
 * 
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered             # <<<<<<<<<<<<<<
 * 
 * cudaTextureTypeCubemapLayered = ccudart.cudaTextureTypeCubemapLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType2DLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType2DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":287
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered
 * 
 * cudaTextureTypeCubemapLayered = ccudart.cudaTextureTypeCubemapLayered             # <<<<<<<<<<<<<<
 * 
 * #: CUDA Runtime API Version
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureTypeCubemapLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureTypeCubemapLayered, __pyx_t_1) < 0) __PYX_ERR(0, 287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":290
 * 
 * #: CUDA Runtime API Version
 * CUDART_VERSION = ccudart.CUDART_VERSION             # <<<<<<<<<<<<<<
 * 
 * __CUDART_API_VERSION = ccudart.__CUDART_API_VERSION
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_CUDART_VERSION); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDART_VERSION, __pyx_t_1) < 0) __PYX_ERR(0, 290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":292
 * CUDART_VERSION = ccudart.CUDART_VERSION
 * 
 * __CUDART_API_VERSION = ccudart.__CUDART_API_VERSION             # <<<<<<<<<<<<<<
 * 
 * #: Maximum number of planes per frame
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart___CUDART_API_VERSION); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDART_API_VERSION, __pyx_t_1) < 0) __PYX_ERR(0, 292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":295
 * 
 * #: Maximum number of planes per frame
 * CUDA_EGL_MAX_PLANES = ccudart.CUDA_EGL_MAX_PLANES             # <<<<<<<<<<<<<<
 * 
 * class cudaError_t(IntEnum):
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_CUDA_EGL_MAX_PLANES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_EGL_MAX_PLANES, __pyx_t_1) < 0) __PYX_ERR(0, 295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":297
 * CUDA_EGL_MAX_PLANES = ccudart.CUDA_EGL_MAX_PLANES
 * 
 * class cudaError_t(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     impl_private CUDA error types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaError_t, __pyx_n_s_cudaError_t, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_impl_private_CUDA_error_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":305
 *     #: this also means that the operation being queried is complete (see
 *     #: :py:obj:`~.cudaEventQuery()` and :py:obj:`~.cudaStreamQuery()`).
 *     cudaSuccess = ccudart.cudaError.cudaSuccess             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that one or more of the parameters passed to the API
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaSuccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSuccess, __pyx_t_4) < 0) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":309
 *     #: This indicates that one or more of the parameters passed to the API
 *     #: call is not within an acceptable range of values.
 *     cudaErrorInvalidValue = ccudart.cudaError.cudaErrorInvalidValue             # <<<<<<<<<<<<<<
 * 
 *     #: The API call failed because it was unable to allocate enough memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidValue); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidValue, __pyx_t_4) < 0) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":313
 *     #: The API call failed because it was unable to allocate enough memory
 *     #: to perform the requested operation.
 *     cudaErrorMemoryAllocation = ccudart.cudaError.cudaErrorMemoryAllocation             # <<<<<<<<<<<<<<
 * 
 *     #: The API call failed because the CUDA driver and runtime could not be
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMemoryAllocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMemoryAllocation, __pyx_t_4) < 0) __PYX_ERR(0, 313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":317
 *     #: The API call failed because the CUDA driver and runtime could not be
 *     #: initialized.
 *     cudaErrorInitializationError = ccudart.cudaError.cudaErrorInitializationError             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a CUDA Runtime API call cannot be executed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInitializationError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInitializationError, __pyx_t_4) < 0) __PYX_ERR(0, 317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":322
 *     #: because it is being called during process shut down, at a point in
 *     #: time after CUDA driver has been unloaded.
 *     cudaErrorCudartUnloading = ccudart.cudaError.cudaErrorCudartUnloading             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates profiler is not initialized for this run. This can
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorCudartUnloading); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorCudartUnloading, __pyx_t_4) < 0) __PYX_ERR(0, 322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":327
 *     #: happen when the application is running with external profiling tools
 *     #: like visual profiler.
 *     cudaErrorProfilerDisabled = ccudart.cudaError.cudaErrorProfilerDisabled             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorProfilerDisabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorProfilerDisabled, __pyx_t_4) < 0) __PYX_ERR(0, 327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":330
 * 
 *     #: [Deprecated]
 *     cudaErrorProfilerNotInitialized = ccudart.cudaError.cudaErrorProfilerNotInitialized             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorProfilerNotInitialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorProfilerNotInitialized, __pyx_t_4) < 0) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":333
 * 
 *     #: [Deprecated]
 *     cudaErrorProfilerAlreadyStarted = ccudart.cudaError.cudaErrorProfilerAlreadyStarted             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorProfilerAlreadyStarted); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorProfilerAlreadyStarted, __pyx_t_4) < 0) __PYX_ERR(0, 333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":336
 * 
 *     #: [Deprecated]
 *     cudaErrorProfilerAlreadyStopped = ccudart.cudaError.cudaErrorProfilerAlreadyStopped             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a kernel launch is requesting resources that can
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorProfilerAlreadyStopped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorProfilerAlreadyStopped, __pyx_t_4) < 0) __PYX_ERR(0, 336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":343
 *     #: as will requesting too many threads or blocks. See
 *     #: :py:obj:`~.cudaDeviceProp` for more device limitations.
 *     cudaErrorInvalidConfiguration = ccudart.cudaError.cudaErrorInvalidConfiguration             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that one or more of the pitch-related parameters
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidConfiguration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidConfiguration, __pyx_t_4) < 0) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":347
 *     #: This indicates that one or more of the pitch-related parameters
 *     #: passed to the API call is not within the acceptable range for pitch.
 *     cudaErrorInvalidPitchValue = ccudart.cudaError.cudaErrorInvalidPitchValue             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the symbol name/identifier passed to the API
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidPitchValue); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidPitchValue, __pyx_t_4) < 0) __PYX_ERR(0, 347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":351
 *     #: This indicates that the symbol name/identifier passed to the API
 *     #: call is not a valid name or identifier.
 *     cudaErrorInvalidSymbol = ccudart.cudaError.cudaErrorInvalidSymbol             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that at least one host pointer passed to the API call
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidSymbol); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidSymbol, __pyx_t_4) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":355
 *     #: This indicates that at least one host pointer passed to the API call
 *     #: is not a valid host pointer. [Deprecated]
 *     cudaErrorInvalidHostPointer = ccudart.cudaError.cudaErrorInvalidHostPointer             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that at least one device pointer passed to the API
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidHostPointer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidHostPointer, __pyx_t_4) < 0) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":359
 *     #: This indicates that at least one device pointer passed to the API
 *     #: call is not a valid device pointer. [Deprecated]
 *     cudaErrorInvalidDevicePointer = ccudart.cudaError.cudaErrorInvalidDevicePointer             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the texture passed to the API call is not a
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidDevicePointer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidDevicePointer, __pyx_t_4) < 0) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":363
 *     #: This indicates that the texture passed to the API call is not a
 *     #: valid texture.
 *     cudaErrorInvalidTexture = ccudart.cudaError.cudaErrorInvalidTexture             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the texture binding is not valid. This occurs if
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidTexture); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidTexture, __pyx_t_4) < 0) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":368
 *     #: you call :py:obj:`~.cudaGetTextureAlignmentOffset()` with an unbound
 *     #: texture.
 *     cudaErrorInvalidTextureBinding = ccudart.cudaError.cudaErrorInvalidTextureBinding             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the channel descriptor passed to the API call is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidTextureBinding); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidTextureBinding, __pyx_t_4) < 0) __PYX_ERR(0, 368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":374
 *     #: specified by :py:obj:`~.cudaChannelFormatKind`, or if one of the
 *     #: dimensions is invalid.
 *     cudaErrorInvalidChannelDescriptor = ccudart.cudaError.cudaErrorInvalidChannelDescriptor             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the direction of the memcpy passed to the API
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidChannelDescriptor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidChannelDescripto, __pyx_t_4) < 0) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":379
 *     #: call is not one of the types specified by
 *     #: :py:obj:`~.cudaMemcpyKind`.
 *     cudaErrorInvalidMemcpyDirection = ccudart.cudaError.cudaErrorInvalidMemcpyDirection             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that the user has taken the address of a constant
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidMemcpyDirection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidMemcpyDirection, __pyx_t_4) < 0) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":384
 *     #: variable, which was forbidden up until the CUDA 3.1 release.
 *     #: [Deprecated]
 *     cudaErrorAddressOfConstant = ccudart.cudaError.cudaErrorAddressOfConstant             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that a texture fetch was not able to be performed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorAddressOfConstant); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorAddressOfConstant, __pyx_t_4) < 0) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":389
 *     #: This was previously used for device emulation of texture operations.
 *     #: [Deprecated]
 *     cudaErrorTextureFetchFailed = ccudart.cudaError.cudaErrorTextureFetchFailed             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that a texture was not bound for access. This was
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorTextureFetchFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorTextureFetchFailed, __pyx_t_4) < 0) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":394
 *     #: previously used for device emulation of texture operations.
 *     #: [Deprecated]
 *     cudaErrorTextureNotBound = ccudart.cudaError.cudaErrorTextureNotBound             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that a synchronization operation had failed. This was
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorTextureNotBound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorTextureNotBound, __pyx_t_4) < 0) __PYX_ERR(0, 394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":398
 *     #: This indicated that a synchronization operation had failed. This was
 *     #: previously used for some device emulation functions. [Deprecated]
 *     cudaErrorSynchronizationError = ccudart.cudaError.cudaErrorSynchronizationError             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a non-float texture was being accessed with
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSynchronizationError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSynchronizationError, __pyx_t_4) < 0) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":402
 *     #: This indicates that a non-float texture was being accessed with
 *     #: linear filtering. This is not supported by CUDA.
 *     cudaErrorInvalidFilterSetting = ccudart.cudaError.cudaErrorInvalidFilterSetting             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an attempt was made to read a non-float texture
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidFilterSetting); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidFilterSetting, __pyx_t_4) < 0) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":406
 *     #: This indicates that an attempt was made to read a non-float texture
 *     #: as a normalized float. This is not supported by CUDA.
 *     cudaErrorInvalidNormSetting = ccudart.cudaError.cudaErrorInvalidNormSetting             # <<<<<<<<<<<<<<
 * 
 *     #: Mixing of device and device emulation code was not allowed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidNormSetting); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidNormSetting, __pyx_t_4) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":410
 *     #: Mixing of device and device emulation code was not allowed.
 *     #: [Deprecated]
 *     cudaErrorMixedDeviceExecution = ccudart.cudaError.cudaErrorMixedDeviceExecution             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the API call is not yet implemented. Production
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMixedDeviceExecution); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMixedDeviceExecution, __pyx_t_4) < 0) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":414
 *     #: This indicates that the API call is not yet implemented. Production
 *     #: releases of CUDA will never return this error. [Deprecated]
 *     cudaErrorNotYetImplemented = ccudart.cudaError.cudaErrorNotYetImplemented             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that an emulated device pointer exceeded the 32-bit
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNotYetImplemented); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNotYetImplemented, __pyx_t_4) < 0) __PYX_ERR(0, 414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":418
 *     #: This indicated that an emulated device pointer exceeded the 32-bit
 *     #: address range. [Deprecated]
 *     cudaErrorMemoryValueTooLarge = ccudart.cudaError.cudaErrorMemoryValueTooLarge             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the CUDA driver that the application has loaded
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMemoryValueTooLarge); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMemoryValueTooLarge, __pyx_t_4) < 0) __PYX_ERR(0, 418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":423
 *     #: is a stub library. Applications that run with the stub rather than a
 *     #: real driver loaded will result in CUDA API returning this error.
 *     cudaErrorStubLibrary = ccudart.cudaError.cudaErrorStubLibrary             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the installed NVIDIA CUDA driver is older than
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStubLibrary); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStubLibrary, __pyx_t_4) < 0) __PYX_ERR(0, 423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":429
 *     #: Users should install an updated NVIDIA display driver to allow the
 *     #: application to run.
 *     cudaErrorInsufficientDriver = ccudart.cudaError.cudaErrorInsufficientDriver             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the API call requires a newer CUDA driver than
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInsufficientDriver); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInsufficientDriver, __pyx_t_4) < 0) __PYX_ERR(0, 429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":434
 *     #: the one currently installed. Users should install an updated NVIDIA
 *     #: CUDA driver to allow the API call to succeed.
 *     cudaErrorCallRequiresNewerDriver = ccudart.cudaError.cudaErrorCallRequiresNewerDriver             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the surface passed to the API call is not a
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorCallRequiresNewerDriver); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorCallRequiresNewerDriver, __pyx_t_4) < 0) __PYX_ERR(0, 434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":438
 *     #: This indicates that the surface passed to the API call is not a
 *     #: valid surface.
 *     cudaErrorInvalidSurface = ccudart.cudaError.cudaErrorInvalidSurface             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that multiple global or constant variables (across
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidSurface); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidSurface, __pyx_t_4) < 0) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":443
 *     #: separate CUDA source files in the application) share the same string
 *     #: name.
 *     cudaErrorDuplicateVariableName = ccudart.cudaError.cudaErrorDuplicateVariableName             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that multiple textures (across separate CUDA source
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorDuplicateVariableName); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorDuplicateVariableName, __pyx_t_4) < 0) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":447
 *     #: This indicates that multiple textures (across separate CUDA source
 *     #: files in the application) share the same string name.
 *     cudaErrorDuplicateTextureName = ccudart.cudaError.cudaErrorDuplicateTextureName             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that multiple surfaces (across separate CUDA source
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorDuplicateTextureName); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorDuplicateTextureName, __pyx_t_4) < 0) __PYX_ERR(0, 447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":451
 *     #: This indicates that multiple surfaces (across separate CUDA source
 *     #: files in the application) share the same string name.
 *     cudaErrorDuplicateSurfaceName = ccudart.cudaError.cudaErrorDuplicateSurfaceName             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that all CUDA devices are busy or unavailable at the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorDuplicateSurfaceName); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorDuplicateSurfaceName, __pyx_t_4) < 0) __PYX_ERR(0, 451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":460
 *     #: starting. They can also be unavailable due to memory constraints on
 *     #: a device that already has active CUDA work being performed.
 *     cudaErrorDevicesUnavailable = ccudart.cudaError.cudaErrorDevicesUnavailable             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the current context is not compatible with this
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorDevicesUnavailable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorDevicesUnavailable, __pyx_t_4) < 0) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":471
 *     #: context has been destroyed. Please see :py:obj:`~.Interactions`with
 *     #: the CUDA Driver API" for more information.
 *     cudaErrorIncompatibleDriverContext = ccudart.cudaError.cudaErrorIncompatibleDriverContext             # <<<<<<<<<<<<<<
 * 
 *     #: The device function being invoked (usually via
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorIncompatibleDriverContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorIncompatibleDriverConte, __pyx_t_4) < 0) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":476
 *     #: :py:obj:`~.cudaLaunchKernel()`) was not previously configured via
 *     #: the :py:obj:`~.cudaConfigureCall()` function.
 *     cudaErrorMissingConfiguration = ccudart.cudaError.cudaErrorMissingConfiguration             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that a previous kernel launch failed. This was
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMissingConfiguration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMissingConfiguration, __pyx_t_4) < 0) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":481
 *     #: previously used for device emulation of kernel launches.
 *     #: [Deprecated]
 *     cudaErrorPriorLaunchFailure = ccudart.cudaError.cudaErrorPriorLaunchFailure             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a device runtime grid launch did not occur
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorPriorLaunchFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorPriorLaunchFailure, __pyx_t_4) < 0) __PYX_ERR(0, 481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":486
 *     #: because the depth of the child grid would exceed the maximum
 *     #: supported number of nested grid launches.
 *     cudaErrorLaunchMaxDepthExceeded = ccudart.cudaError.cudaErrorLaunchMaxDepthExceeded             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a grid launch did not occur because the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchMaxDepthExceeded); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchMaxDepthExceeded, __pyx_t_4) < 0) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":492
 *     #: runtime. Kernels launched via the device runtime only support
 *     #: textures created with the Texture Object API's.
 *     cudaErrorLaunchFileScopedTex = ccudart.cudaError.cudaErrorLaunchFileScopedTex             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a grid launch did not occur because the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchFileScopedTex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchFileScopedTex, __pyx_t_4) < 0) __PYX_ERR(0, 492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":498
 *     #: runtime. Kernels launched via the device runtime only support
 *     #: surfaces created with the Surface Object API's.
 *     cudaErrorLaunchFileScopedSurf = ccudart.cudaError.cudaErrorLaunchFileScopedSurf             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a call to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchFileScopedSurf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchFileScopedSurf, __pyx_t_4) < 0) __PYX_ERR(0, 498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":513
 *     #: of sync depth require the runtime to reserve large amounts of device
 *     #: memory that cannot be used for user allocations.
 *     cudaErrorSyncDepthExceeded = ccudart.cudaError.cudaErrorSyncDepthExceeded             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a device runtime grid launch failed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSyncDepthExceeded); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSyncDepthExceeded, __pyx_t_4) < 0) __PYX_ERR(0, 513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":524
 *     #: of pending device runtime launches will require the runtime to
 *     #: reserve device memory that cannot be used for user allocations.
 *     cudaErrorLaunchPendingCountExceeded = ccudart.cudaError.cudaErrorLaunchPendingCountExceeded             # <<<<<<<<<<<<<<
 * 
 *     #: The requested device function does not exist or is not compiled for
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchPendingCountExceeded); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchPendingCountExcee, __pyx_t_4) < 0) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":528
 *     #: The requested device function does not exist or is not compiled for
 *     #: the proper device architecture.
 *     cudaErrorInvalidDeviceFunction = ccudart.cudaError.cudaErrorInvalidDeviceFunction             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that no CUDA-capable devices were detected by the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidDeviceFunction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidDeviceFunction, __pyx_t_4) < 0) __PYX_ERR(0, 528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":532
 *     #: This indicates that no CUDA-capable devices were detected by the
 *     #: installed CUDA driver.
 *     cudaErrorNoDevice = ccudart.cudaError.cudaErrorNoDevice             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device ordinal supplied by the user does not
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNoDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNoDevice, __pyx_t_4) < 0) __PYX_ERR(0, 532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":537
 *     #: correspond to a valid CUDA device or that the action requested is
 *     #: invalid for the specified device.
 *     cudaErrorInvalidDevice = ccudart.cudaError.cudaErrorInvalidDevice             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device doesn't have a valid Grid License.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidDevice, __pyx_t_4) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":540
 * 
 *     #: This indicates that the device doesn't have a valid Grid License.
 *     cudaErrorDeviceNotLicensed = ccudart.cudaError.cudaErrorDeviceNotLicensed             # <<<<<<<<<<<<<<
 * 
 *     #: By default, the CUDA runtime may perform a minimal set of self-
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorDeviceNotLicensed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorDeviceNotLicensed, __pyx_t_4) < 0) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":547
 *     #: least one of these tests has failed and the validity of either the
 *     #: runtime or the driver could not be established.
 *     cudaErrorSoftwareValidityNotEstablished = ccudart.cudaError.cudaErrorSoftwareValidityNotEstablished             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates an internal startup failure in the CUDA runtime.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSoftwareValidityNotEstablished); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSoftwareValidityNotEsta, __pyx_t_4) < 0) __PYX_ERR(0, 547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":550
 * 
 *     #: This indicates an internal startup failure in the CUDA runtime.
 *     cudaErrorStartupFailure = ccudart.cudaError.cudaErrorStartupFailure             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel image is invalid.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStartupFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStartupFailure, __pyx_t_4) < 0) __PYX_ERR(0, 550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":553
 * 
 *     #: This indicates that the device kernel image is invalid.
 *     cudaErrorInvalidKernelImage = ccudart.cudaError.cudaErrorInvalidKernelImage             # <<<<<<<<<<<<<<
 * 
 *     #: This most frequently indicates that there is no context bound to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidKernelImage); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidKernelImage, __pyx_t_4) < 0) __PYX_ERR(0, 553, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":561
 *     #: if a user mixes different API versions (i.e. 3010 context with 3020
 *     #: API calls). See :py:obj:`~.cuCtxGetApiVersion()` for more details.
 *     cudaErrorDeviceUninitialized = ccudart.cudaError.cudaErrorDeviceUninitialized             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the buffer object could not be mapped.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorDeviceUninitialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorDeviceUninitialized, __pyx_t_4) < 0) __PYX_ERR(0, 561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":564
 * 
 *     #: This indicates that the buffer object could not be mapped.
 *     cudaErrorMapBufferObjectFailed = ccudart.cudaError.cudaErrorMapBufferObjectFailed             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the buffer object could not be unmapped.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMapBufferObjectFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMapBufferObjectFailed, __pyx_t_4) < 0) __PYX_ERR(0, 564, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":567
 * 
 *     #: This indicates that the buffer object could not be unmapped.
 *     cudaErrorUnmapBufferObjectFailed = ccudart.cudaError.cudaErrorUnmapBufferObjectFailed             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the specified array is currently mapped and thus
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorUnmapBufferObjectFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorUnmapBufferObjectFailed, __pyx_t_4) < 0) __PYX_ERR(0, 567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":571
 *     #: This indicates that the specified array is currently mapped and thus
 *     #: cannot be destroyed.
 *     cudaErrorArrayIsMapped = ccudart.cudaError.cudaErrorArrayIsMapped             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the resource is already mapped.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorArrayIsMapped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorArrayIsMapped, __pyx_t_4) < 0) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":574
 * 
 *     #: This indicates that the resource is already mapped.
 *     cudaErrorAlreadyMapped = ccudart.cudaError.cudaErrorAlreadyMapped             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that there is no kernel image available that is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorAlreadyMapped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorAlreadyMapped, __pyx_t_4) < 0) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":580
 *     #: generation options for a particular CUDA source file that do not
 *     #: include the corresponding device configuration.
 *     cudaErrorNoKernelImageForDevice = ccudart.cudaError.cudaErrorNoKernelImageForDevice             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource has already been acquired.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNoKernelImageForDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNoKernelImageForDevice, __pyx_t_4) < 0) __PYX_ERR(0, 580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":583
 * 
 *     #: This indicates that a resource has already been acquired.
 *     cudaErrorAlreadyAcquired = ccudart.cudaError.cudaErrorAlreadyAcquired             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource is not mapped.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorAlreadyAcquired); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorAlreadyAcquired, __pyx_t_4) < 0) __PYX_ERR(0, 583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":586
 * 
 *     #: This indicates that a resource is not mapped.
 *     cudaErrorNotMapped = ccudart.cudaError.cudaErrorNotMapped             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a mapped resource is not available for access as
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNotMapped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNotMapped, __pyx_t_4) < 0) __PYX_ERR(0, 586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":590
 *     #: This indicates that a mapped resource is not available for access as
 *     #: an array.
 *     cudaErrorNotMappedAsArray = ccudart.cudaError.cudaErrorNotMappedAsArray             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a mapped resource is not available for access as
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNotMappedAsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNotMappedAsArray, __pyx_t_4) < 0) __PYX_ERR(0, 590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":594
 *     #: This indicates that a mapped resource is not available for access as
 *     #: a pointer.
 *     cudaErrorNotMappedAsPointer = ccudart.cudaError.cudaErrorNotMappedAsPointer             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an uncorrectable ECC error was detected during
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNotMappedAsPointer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNotMappedAsPointer, __pyx_t_4) < 0) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":598
 *     #: This indicates that an uncorrectable ECC error was detected during
 *     #: execution.
 *     cudaErrorECCUncorrectable = ccudart.cudaError.cudaErrorECCUncorrectable             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the :py:obj:`~.cudaLimit` passed to the API call
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorECCUncorrectable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorECCUncorrectable, __pyx_t_4) < 0) __PYX_ERR(0, 598, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":602
 *     #: This indicates that the :py:obj:`~.cudaLimit` passed to the API call
 *     #: is not supported by the active device.
 *     cudaErrorUnsupportedLimit = ccudart.cudaError.cudaErrorUnsupportedLimit             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a call tried to access an exclusive-thread
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorUnsupportedLimit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorUnsupportedLimit, __pyx_t_4) < 0) __PYX_ERR(0, 602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":606
 *     #: This indicates that a call tried to access an exclusive-thread
 *     #: device that is already in use by a different thread.
 *     cudaErrorDeviceAlreadyInUse = ccudart.cudaError.cudaErrorDeviceAlreadyInUse             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that P2P access is not supported across the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorDeviceAlreadyInUse); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorDeviceAlreadyInUse, __pyx_t_4) < 0) __PYX_ERR(0, 606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":610
 *     #: This error indicates that P2P access is not supported across the
 *     #: given devices.
 *     cudaErrorPeerAccessUnsupported = ccudart.cudaError.cudaErrorPeerAccessUnsupported             # <<<<<<<<<<<<<<
 * 
 *     #: A PTX compilation failed. The runtime may fall back to compiling PTX
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorPeerAccessUnsupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorPeerAccessUnsupported, __pyx_t_4) < 0) __PYX_ERR(0, 610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":615
 *     #: if an application does not contain a suitable binary for the current
 *     #: device.
 *     cudaErrorInvalidPtx = ccudart.cudaError.cudaErrorInvalidPtx             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates an error with the OpenGL or DirectX context.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidPtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidPtx, __pyx_t_4) < 0) __PYX_ERR(0, 615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":618
 * 
 *     #: This indicates an error with the OpenGL or DirectX context.
 *     cudaErrorInvalidGraphicsContext = ccudart.cudaError.cudaErrorInvalidGraphicsContext             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an uncorrectable NVLink error was detected
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidGraphicsContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidGraphicsContext, __pyx_t_4) < 0) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":622
 *     #: This indicates that an uncorrectable NVLink error was detected
 *     #: during the execution.
 *     cudaErrorNvlinkUncorrectable = ccudart.cudaError.cudaErrorNvlinkUncorrectable             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the PTX JIT compiler library was not found. The
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNvlinkUncorrectable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNvlinkUncorrectable, __pyx_t_4) < 0) __PYX_ERR(0, 622, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":628
 *     #: fall back to compiling PTX if an application does not contain a
 *     #: suitable binary for the current device.
 *     cudaErrorJitCompilerNotFound = ccudart.cudaError.cudaErrorJitCompilerNotFound             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the provided PTX was compiled with an
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorJitCompilerNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorJitCompilerNotFound, __pyx_t_4) < 0) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":634
 *     #: was generated by a compiler newer than what is supported by the CUDA
 *     #: driver and PTX JIT compiler.
 *     cudaErrorUnsupportedPtxVersion = ccudart.cudaError.cudaErrorUnsupportedPtxVersion             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the JIT compilation was disabled. The JIT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorUnsupportedPtxVersion); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorUnsupportedPtxVersion, __pyx_t_4) < 0) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":640
 *     #: if an application does not contain a suitable binary for the current
 *     #: device.
 *     cudaErrorJitCompilationDisabled = ccudart.cudaError.cudaErrorJitCompilationDisabled             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the provided execution affinity is not supported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorJitCompilationDisabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorJitCompilationDisabled, __pyx_t_4) < 0) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":644
 *     #: This indicates that the provided execution affinity is not supported
 *     #: by the device.
 *     cudaErrorUnsupportedExecAffinity = ccudart.cudaError.cudaErrorUnsupportedExecAffinity             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel source is invalid.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorUnsupportedExecAffinity); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorUnsupportedExecAffinity, __pyx_t_4) < 0) __PYX_ERR(0, 644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":647
 * 
 *     #: This indicates that the device kernel source is invalid.
 *     cudaErrorInvalidSource = ccudart.cudaError.cudaErrorInvalidSource             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the file specified was not found.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidSource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidSource, __pyx_t_4) < 0) __PYX_ERR(0, 647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":650
 * 
 *     #: This indicates that the file specified was not found.
 *     cudaErrorFileNotFound = ccudart.cudaError.cudaErrorFileNotFound             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a link to a shared object failed to resolve.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorFileNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorFileNotFound, __pyx_t_4) < 0) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":653
 * 
 *     #: This indicates that a link to a shared object failed to resolve.
 *     cudaErrorSharedObjectSymbolNotFound = ccudart.cudaError.cudaErrorSharedObjectSymbolNotFound             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that initialization of a shared object failed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSharedObjectSymbolNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSharedObjectSymbolNotFo, __pyx_t_4) < 0) __PYX_ERR(0, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":656
 * 
 *     #: This indicates that initialization of a shared object failed.
 *     cudaErrorSharedObjectInitFailed = ccudart.cudaError.cudaErrorSharedObjectInitFailed             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that an OS call failed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSharedObjectInitFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSharedObjectInitFailed, __pyx_t_4) < 0) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":659
 * 
 *     #: This error indicates that an OS call failed.
 *     cudaErrorOperatingSystem = ccudart.cudaError.cudaErrorOperatingSystem             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource handle passed to the API call was not
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorOperatingSystem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorOperatingSystem, __pyx_t_4) < 0) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":664
 *     #: valid. Resource handles are opaque types like
 *     #: :py:obj:`~.cudaStream_t` and :py:obj:`~.cudaEvent_t`.
 *     cudaErrorInvalidResourceHandle = ccudart.cudaError.cudaErrorInvalidResourceHandle             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource required by the API call is not in a
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidResourceHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidResourceHandle, __pyx_t_4) < 0) __PYX_ERR(0, 664, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":668
 *     #: This indicates that a resource required by the API call is not in a
 *     #: valid state to perform the requested operation.
 *     cudaErrorIllegalState = ccudart.cudaError.cudaErrorIllegalState             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a named symbol was not found. Examples of
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorIllegalState); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorIllegalState, __pyx_t_4) < 0) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":673
 *     #: symbols are global/constant variable names, driver function names,
 *     #: texture names, and surface names.
 *     cudaErrorSymbolNotFound = ccudart.cudaError.cudaErrorSymbolNotFound             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that asynchronous operations issued previously have
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSymbolNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSymbolNotFound, __pyx_t_4) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":680
 *     #: completion). Calls that may return this value include
 *     #: :py:obj:`~.cudaEventQuery()` and :py:obj:`~.cudaStreamQuery()`.
 *     cudaErrorNotReady = ccudart.cudaError.cudaErrorNotReady             # <<<<<<<<<<<<<<
 * 
 *     #: The device encountered a load or store instruction on an invalid
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNotReady); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNotReady, __pyx_t_4) < 0) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":686
 *     #: any further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     cudaErrorIllegalAddress = ccudart.cudaError.cudaErrorIllegalAddress             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a launch did not occur because it did not have
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorIllegalAddress); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorIllegalAddress, __pyx_t_4) < 0) __PYX_ERR(0, 686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":694
 *     #: the device kernel, or the kernel launch specifies too many threads
 *     #: for the kernel's register count.
 *     cudaErrorLaunchOutOfResources = ccudart.cudaError.cudaErrorLaunchOutOfResources             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel took too long to execute. This
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchOutOfResources); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchOutOfResources, __pyx_t_4) < 0) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":702
 *     #: work will return the same error. To continue using CUDA, the process
 *     #: must be terminated and relaunched.
 *     cudaErrorLaunchTimeout = ccudart.cudaError.cudaErrorLaunchTimeout             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates a kernel launch that uses an incompatible
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchTimeout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchTimeout, __pyx_t_4) < 0) __PYX_ERR(0, 702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":706
 *     #: This error indicates a kernel launch that uses an incompatible
 *     #: texturing mode.
 *     cudaErrorLaunchIncompatibleTexturing = ccudart.cudaError.cudaErrorLaunchIncompatibleTexturing             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a call to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchIncompatibleTexturing); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchIncompatibleTextu, __pyx_t_4) < 0) __PYX_ERR(0, 706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":712
 *     #: addressing on from a context which has already had peer addressing
 *     #: enabled.
 *     cudaErrorPeerAccessAlreadyEnabled = ccudart.cudaError.cudaErrorPeerAccessAlreadyEnabled             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that :py:obj:`~.cudaDeviceDisablePeerAccess()`
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorPeerAccessAlreadyEnabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorPeerAccessAlreadyEnable, __pyx_t_4) < 0) __PYX_ERR(0, 712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":717
 *     #: is trying to disable peer addressing which has not been enabled yet
 *     #: via :py:obj:`~.cudaDeviceEnablePeerAccess()`.
 *     cudaErrorPeerAccessNotEnabled = ccudart.cudaError.cudaErrorPeerAccessNotEnabled             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the user has called
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorPeerAccessNotEnabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorPeerAccessNotEnabled, __pyx_t_4) < 0) __PYX_ERR(0, 717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":730
 *     #: interoperability and there is an existing :py:obj:`~.CUcontext`
 *     #: active on the host thread.
 *     cudaErrorSetOnActiveProcess = ccudart.cudaError.cudaErrorSetOnActiveProcess             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the context current to the calling thread
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSetOnActiveProcess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSetOnActiveProcess, __pyx_t_4) < 0) __PYX_ERR(0, 730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":735
 *     #: has been destroyed using :py:obj:`~.cuCtxDestroy`, or is a primary
 *     #: context which has not yet been initialized.
 *     cudaErrorContextIsDestroyed = ccudart.cudaError.cudaErrorContextIsDestroyed             # <<<<<<<<<<<<<<
 * 
 *     #: An assert triggered in device code during kernel execution. The
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorContextIsDestroyed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorContextIsDestroyed, __pyx_t_4) < 0) __PYX_ERR(0, 735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":741
 *     #: To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     cudaErrorAssert = ccudart.cudaError.cudaErrorAssert             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the hardware resources required to enable
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorAssert); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorAssert, __pyx_t_4) < 0) __PYX_ERR(0, 741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":746
 *     #: peer access have been exhausted for one or more of the devices
 *     #: passed to :py:obj:`~.cudaEnablePeerAccess()`.
 *     cudaErrorTooManyPeers = ccudart.cudaError.cudaErrorTooManyPeers             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the memory range passed to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorTooManyPeers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorTooManyPeers, __pyx_t_4) < 0) __PYX_ERR(0, 746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":750
 *     #: This error indicates that the memory range passed to
 *     #: :py:obj:`~.cudaHostRegister()` has already been registered.
 *     cudaErrorHostMemoryAlreadyRegistered = ccudart.cudaError.cudaErrorHostMemoryAlreadyRegistered             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the pointer passed to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorHostMemoryAlreadyRegistered); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorHostMemoryAlreadyRegist, __pyx_t_4) < 0) __PYX_ERR(0, 750, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":755
 *     #: :py:obj:`~.cudaHostUnregister()` does not correspond to any
 *     #: currently registered memory region.
 *     cudaErrorHostMemoryNotRegistered = ccudart.cudaError.cudaErrorHostMemoryNotRegistered             # <<<<<<<<<<<<<<
 * 
 *     #: Device encountered an error in the call stack during kernel
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorHostMemoryNotRegistered); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorHostMemoryNotRegistered, __pyx_t_4) < 0) __PYX_ERR(0, 755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":762
 *     #: further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     cudaErrorHardwareStackError = ccudart.cudaError.cudaErrorHardwareStackError             # <<<<<<<<<<<<<<
 * 
 *     #: The device encountered an illegal instruction during kernel
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorHardwareStackError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorHardwareStackError, __pyx_t_4) < 0) __PYX_ERR(0, 762, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":768
 *     #: further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     cudaErrorIllegalInstruction = ccudart.cudaError.cudaErrorIllegalInstruction             # <<<<<<<<<<<<<<
 * 
 *     #: The device encountered a load or store instruction on a memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorIllegalInstruction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorIllegalInstruction, __pyx_t_4) < 0) __PYX_ERR(0, 768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":775
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     cudaErrorMisalignedAddress = ccudart.cudaError.cudaErrorMisalignedAddress             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered an instruction
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMisalignedAddress); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMisalignedAddress, __pyx_t_4) < 0) __PYX_ERR(0, 775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":784
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     cudaErrorInvalidAddressSpace = ccudart.cudaError.cudaErrorInvalidAddressSpace             # <<<<<<<<<<<<<<
 * 
 *     #: The device encountered an invalid program counter. This leaves the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidAddressSpace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidAddressSpace, __pyx_t_4) < 0) __PYX_ERR(0, 784, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":790
 *     #: return the same error. To continue using CUDA, the process must be
 *     #: terminated and relaunched.
 *     cudaErrorInvalidPc = ccudart.cudaError.cudaErrorInvalidPc             # <<<<<<<<<<<<<<
 * 
 *     #: An exception occurred on the device while executing a kernel. Common
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidPc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidPc, __pyx_t_4) < 0) __PYX_ERR(0, 790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":800
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     cudaErrorLaunchFailure = ccudart.cudaError.cudaErrorLaunchFailure             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the number of blocks launched per grid for
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorLaunchFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorLaunchFailure, __pyx_t_4) < 0) __PYX_ERR(0, 800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":811
 *     #: times the number of multiprocessors as specified by the device
 *     #: attribute :py:obj:`~.cudaDevAttrMultiProcessorCount`.
 *     cudaErrorCooperativeLaunchTooLarge = ccudart.cudaError.cudaErrorCooperativeLaunchTooLarge             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates the attempted operation is not permitted.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorCooperativeLaunchTooLarge); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorCooperativeLaunchTooLar, __pyx_t_4) < 0) __PYX_ERR(0, 811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":814
 * 
 *     #: This error indicates the attempted operation is not permitted.
 *     cudaErrorNotPermitted = ccudart.cudaError.cudaErrorNotPermitted             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates the attempted operation is not supported on the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNotPermitted); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNotPermitted, __pyx_t_4) < 0) __PYX_ERR(0, 814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":818
 *     #: This error indicates the attempted operation is not supported on the
 *     #: current system or device.
 *     cudaErrorNotSupported = ccudart.cudaError.cudaErrorNotSupported             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the system is not yet ready to start any
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorNotSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorNotSupported, __pyx_t_4) < 0) __PYX_ERR(0, 818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":825
 *     #: running. More information about this error can be found in the
 *     #: system specific user guide.
 *     cudaErrorSystemNotReady = ccudart.cudaError.cudaErrorSystemNotReady             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that there is a mismatch between the versions
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSystemNotReady); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSystemNotReady, __pyx_t_4) < 0) __PYX_ERR(0, 825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":830
 *     #: of the display driver and the CUDA driver. Refer to the
 *     #: compatibility documentation for supported versions.
 *     cudaErrorSystemDriverMismatch = ccudart.cudaError.cudaErrorSystemDriverMismatch             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the system was upgraded to run with
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorSystemDriverMismatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorSystemDriverMismatch, __pyx_t_4) < 0) __PYX_ERR(0, 830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":838
 *     #: supported hardware is visible during initialization via the
 *     #: CUDA_VISIBLE_DEVICES environment variable.
 *     cudaErrorCompatNotSupportedOnDevice = ccudart.cudaError.cudaErrorCompatNotSupportedOnDevice             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS client failed to connect to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorCompatNotSupportedOnDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorCompatNotSupportedOnDev, __pyx_t_4) < 0) __PYX_ERR(0, 838, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":842
 *     #: This error indicates that the MPS client failed to connect to the
 *     #: MPS control daemon or the MPS server.
 *     cudaErrorMpsConnectionFailed = ccudart.cudaError.cudaErrorMpsConnectionFailed             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the remote procedural call between the MPS
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMpsConnectionFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMpsConnectionFailed, __pyx_t_4) < 0) __PYX_ERR(0, 842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":846
 *     #: This error indicates that the remote procedural call between the MPS
 *     #: server and the MPS client failed.
 *     cudaErrorMpsRpcFailure = ccudart.cudaError.cudaErrorMpsRpcFailure             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS server is not ready to accept new
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMpsRpcFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMpsRpcFailure, __pyx_t_4) < 0) __PYX_ERR(0, 846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":851
 *     #: MPS client requests. This error can be returned when the MPS server
 *     #: is in the process of recovering from a fatal failure.
 *     cudaErrorMpsServerNotReady = ccudart.cudaError.cudaErrorMpsServerNotReady             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the hardware resources required to create
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMpsServerNotReady); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMpsServerNotReady, __pyx_t_4) < 0) __PYX_ERR(0, 851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":855
 *     #: This error indicates that the hardware resources required to create
 *     #: MPS client have been exhausted.
 *     cudaErrorMpsMaxClientsReached = ccudart.cudaError.cudaErrorMpsMaxClientsReached             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates the the hardware resources required to device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMpsMaxClientsReached); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMpsMaxClientsReached, __pyx_t_4) < 0) __PYX_ERR(0, 855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":859
 *     #: This error indicates the the hardware resources required to device
 *     #: connections have been exhausted.
 *     cudaErrorMpsMaxConnectionsReached = ccudart.cudaError.cudaErrorMpsMaxConnectionsReached             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS client has been terminated by the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMpsMaxConnectionsReached); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMpsMaxConnectionsReache, __pyx_t_4) < 0) __PYX_ERR(0, 859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":864
 *     #: server. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     cudaErrorMpsClientTerminated = ccudart.cudaError.cudaErrorMpsClientTerminated             # <<<<<<<<<<<<<<
 * 
 *     #: The operation is not permitted when the stream is capturing.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorMpsClientTerminated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorMpsClientTerminated, __pyx_t_4) < 0) __PYX_ERR(0, 864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":867
 * 
 *     #: The operation is not permitted when the stream is capturing.
 *     cudaErrorStreamCaptureUnsupported = ccudart.cudaError.cudaErrorStreamCaptureUnsupported             # <<<<<<<<<<<<<<
 * 
 *     #: The current capture sequence on the stream has been invalidated due
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureUnsupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureUnsupporte, __pyx_t_4) < 0) __PYX_ERR(0, 867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":871
 *     #: The current capture sequence on the stream has been invalidated due
 *     #: to a previous error.
 *     cudaErrorStreamCaptureInvalidated = ccudart.cudaError.cudaErrorStreamCaptureInvalidated             # <<<<<<<<<<<<<<
 * 
 *     #: The operation would have resulted in a merge of two independent
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureInvalidated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureInvalidate, __pyx_t_4) < 0) __PYX_ERR(0, 871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":875
 *     #: The operation would have resulted in a merge of two independent
 *     #: capture sequences.
 *     cudaErrorStreamCaptureMerge = ccudart.cudaError.cudaErrorStreamCaptureMerge             # <<<<<<<<<<<<<<
 * 
 *     #: The capture was not initiated in this stream.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureMerge); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureMerge, __pyx_t_4) < 0) __PYX_ERR(0, 875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":878
 * 
 *     #: The capture was not initiated in this stream.
 *     cudaErrorStreamCaptureUnmatched = ccudart.cudaError.cudaErrorStreamCaptureUnmatched             # <<<<<<<<<<<<<<
 * 
 *     #: The capture sequence contains a fork that was not joined to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureUnmatched); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureUnmatched, __pyx_t_4) < 0) __PYX_ERR(0, 878, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":882
 *     #: The capture sequence contains a fork that was not joined to the
 *     #: primary stream.
 *     cudaErrorStreamCaptureUnjoined = ccudart.cudaError.cudaErrorStreamCaptureUnjoined             # <<<<<<<<<<<<<<
 * 
 *     #: A dependency would have been created which crosses the capture
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureUnjoined); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureUnjoined, __pyx_t_4) < 0) __PYX_ERR(0, 882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":887
 *     #: sequence boundary. Only implicit in-stream ordering dependencies are
 *     #: allowed to cross the boundary.
 *     cudaErrorStreamCaptureIsolation = ccudart.cudaError.cudaErrorStreamCaptureIsolation             # <<<<<<<<<<<<<<
 * 
 *     #: The operation would have resulted in a disallowed implicit
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureIsolation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureIsolation, __pyx_t_4) < 0) __PYX_ERR(0, 887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":891
 *     #: The operation would have resulted in a disallowed implicit
 *     #: dependency on a current capture sequence from cudaStreamLegacy.
 *     cudaErrorStreamCaptureImplicit = ccudart.cudaError.cudaErrorStreamCaptureImplicit             # <<<<<<<<<<<<<<
 * 
 *     #: The operation is not permitted on an event which was last recorded
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureImplicit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureImplicit, __pyx_t_4) < 0) __PYX_ERR(0, 891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":895
 *     #: The operation is not permitted on an event which was last recorded
 *     #: in a capturing stream.
 *     cudaErrorCapturedEvent = ccudart.cudaError.cudaErrorCapturedEvent             # <<<<<<<<<<<<<<
 * 
 *     #: A stream capture sequence not initiated with the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorCapturedEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorCapturedEvent, __pyx_t_4) < 0) __PYX_ERR(0, 895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":901
 *     #: :py:obj:`~.cudaStreamBeginCapture` was passed to
 *     #: :py:obj:`~.cudaStreamEndCapture` in a different thread.
 *     cudaErrorStreamCaptureWrongThread = ccudart.cudaError.cudaErrorStreamCaptureWrongThread             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the wait operation has timed out.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorStreamCaptureWrongThread); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorStreamCaptureWrongThrea, __pyx_t_4) < 0) __PYX_ERR(0, 901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":904
 * 
 *     #: This indicates that the wait operation has timed out.
 *     cudaErrorTimeout = ccudart.cudaError.cudaErrorTimeout             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the graph update was not performed because
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorTimeout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorTimeout, __pyx_t_4) < 0) __PYX_ERR(0, 904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":909
 *     #: it included changes which violated constraints specific to
 *     #: instantiated graph update.
 *     cudaErrorGraphExecUpdateFailure = ccudart.cudaError.cudaErrorGraphExecUpdateFailure             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an async error has occurred in a device outside
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorGraphExecUpdateFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorGraphExecUpdateFailure, __pyx_t_4) < 0) __PYX_ERR(0, 909, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":918
 *     #: return the same error. To continue using CUDA, the process must be
 *     #: terminated and relaunched.
 *     cudaErrorExternalDevice = ccudart.cudaError.cudaErrorExternalDevice             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a kernel launch error has occurred due to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorExternalDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorExternalDevice, __pyx_t_4) < 0) __PYX_ERR(0, 918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":922
 *     #: This indicates that a kernel launch error has occurred due to
 *     #: cluster misconfiguration.
 *     cudaErrorInvalidClusterSize = ccudart.cudaError.cudaErrorInvalidClusterSize             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an unknown internal error has occurred.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorInvalidClusterSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorInvalidClusterSize, __pyx_t_4) < 0) __PYX_ERR(0, 922, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":925
 * 
 *     #: This indicates that an unknown internal error has occurred.
 *     cudaErrorUnknown = ccudart.cudaError.cudaErrorUnknown             # <<<<<<<<<<<<<<
 * 
 *     #: Any unhandled CUDA driver error is added to this value and returned
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorUnknown); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorUnknown, __pyx_t_4) < 0) __PYX_ERR(0, 925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":930
 *     #: via the runtime. Production releases of CUDA should not return such
 *     #: errors. [Deprecated]
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase             # <<<<<<<<<<<<<<
 * 
 * class cudaChannelFormatKind(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError(cudaErrorApiFailureBase); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaErrorApiFailureBase, __pyx_t_4) < 0) __PYX_ERR(0, 930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":297
 * CUDA_EGL_MAX_PLANES = ccudart.CUDA_EGL_MAX_PLANES
 * 
 * class cudaError_t(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     impl_private CUDA error types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaError_t, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaError_t, __pyx_t_4) < 0) __PYX_ERR(0, 297, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":932
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase
 * 
 * class cudaChannelFormatKind(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Channel format kind
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaChannelFormatKind, __pyx_n_s_cudaChannelFormatKind, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Channel_format_kind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":938
 * 
 *     #: Signed channel format
 *     cudaChannelFormatKindSigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSigned             # <<<<<<<<<<<<<<
 * 
 *     #: Unsigned channel format
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSigned); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSigned, __pyx_t_4) < 0) __PYX_ERR(0, 938, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":941
 * 
 *     #: Unsigned channel format
 *     cudaChannelFormatKindUnsigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsigned             # <<<<<<<<<<<<<<
 * 
 *     #: Float channel format
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsigned); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsigned, __pyx_t_4) < 0) __PYX_ERR(0, 941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":944
 * 
 *     #: Float channel format
 *     cudaChannelFormatKindFloat = ccudart.cudaChannelFormatKind.cudaChannelFormatKindFloat             # <<<<<<<<<<<<<<
 * 
 *     #: No channel format
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindFloat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindFloat, __pyx_t_4) < 0) __PYX_ERR(0, 944, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":947
 * 
 *     #: No channel format
 *     cudaChannelFormatKindNone = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNone             # <<<<<<<<<<<<<<
 * 
 *     #: Unsigned 8-bit integers, planar 4:2:0 YUV format
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindNone, __pyx_t_4) < 0) __PYX_ERR(0, 947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":950
 * 
 *     #: Unsigned 8-bit integers, planar 4:2:0 YUV format
 *     cudaChannelFormatKindNV12 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNV12             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 8-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindNV12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindNV12, __pyx_t_4) < 0) __PYX_ERR(0, 950, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":953
 * 
 *     #: 1 channel unsigned 8-bit normalized integer
 *     cudaChannelFormatKindUnsignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 8-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedNormalized8X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedNor, __pyx_t_4) < 0) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":956
 * 
 *     #: 2 channel unsigned 8-bit normalized integer
 *     cudaChannelFormatKindUnsignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 8-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedNormalized8X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedNor_2, __pyx_t_4) < 0) __PYX_ERR(0, 956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":959
 * 
 *     #: 4 channel unsigned 8-bit normalized integer
 *     cudaChannelFormatKindUnsignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 16-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedNormalized8X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedNor_3, __pyx_t_4) < 0) __PYX_ERR(0, 959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":962
 * 
 *     #: 1 channel unsigned 16-bit normalized integer
 *     cudaChannelFormatKindUnsignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 16-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedNormalized16X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedNor_4, __pyx_t_4) < 0) __PYX_ERR(0, 962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":965
 * 
 *     #: 2 channel unsigned 16-bit normalized integer
 *     cudaChannelFormatKindUnsignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 16-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedNormalized16X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedNor_5, __pyx_t_4) < 0) __PYX_ERR(0, 965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":968
 * 
 *     #: 4 channel unsigned 16-bit normalized integer
 *     cudaChannelFormatKindUnsignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 8-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedNormalized16X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedNor_6, __pyx_t_4) < 0) __PYX_ERR(0, 968, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":971
 * 
 *     #: 1 channel signed 8-bit normalized integer
 *     cudaChannelFormatKindSignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 8-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedNormalized8X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedNorma, __pyx_t_4) < 0) __PYX_ERR(0, 971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":974
 * 
 *     #: 2 channel signed 8-bit normalized integer
 *     cudaChannelFormatKindSignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 8-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedNormalized8X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedNorma_2, __pyx_t_4) < 0) __PYX_ERR(0, 974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":977
 * 
 *     #: 4 channel signed 8-bit normalized integer
 *     cudaChannelFormatKindSignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 16-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedNormalized8X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedNorma_3, __pyx_t_4) < 0) __PYX_ERR(0, 977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":980
 * 
 *     #: 1 channel signed 16-bit normalized integer
 *     cudaChannelFormatKindSignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 16-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedNormalized16X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedNorma_4, __pyx_t_4) < 0) __PYX_ERR(0, 980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":983
 * 
 *     #: 2 channel signed 16-bit normalized integer
 *     cudaChannelFormatKindSignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 16-bit normalized integer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedNormalized16X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedNorma_5, __pyx_t_4) < 0) __PYX_ERR(0, 983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":986
 * 
 *     #: 4 channel signed 16-bit normalized integer
 *     cudaChannelFormatKindSignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X4             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedNormalized16X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedNorma_6, __pyx_t_4) < 0) __PYX_ERR(0, 986, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":990
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 *     #: format
 *     cudaChannelFormatKindUnsignedBlockCompressed1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo, __pyx_t_4) < 0) __PYX_ERR(0, 990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":994
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 *     #: format with sRGB encoding
 *     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed1SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_2, __pyx_t_4) < 0) __PYX_ERR(0, 994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":998
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 *     #: format
 *     cudaChannelFormatKindUnsignedBlockCompressed2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_3, __pyx_t_4) < 0) __PYX_ERR(0, 998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1002
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 *     #: format with sRGB encoding
 *     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed2SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_4, __pyx_t_4) < 0) __PYX_ERR(0, 1002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1006
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 *     #: format
 *     cudaChannelFormatKindUnsignedBlockCompressed3 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_5, __pyx_t_4) < 0) __PYX_ERR(0, 1006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1010
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 *     #: format with sRGB encoding
 *     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned normalized block-compressed (BC4 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed3SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_6, __pyx_t_4) < 0) __PYX_ERR(0, 1010, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1014
 *     #: 1 channel unsigned normalized block-compressed (BC4 compression)
 *     #: format
 *     cudaChannelFormatKindUnsignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed normalized block-compressed (BC4 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_7, __pyx_t_4) < 0) __PYX_ERR(0, 1014, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1018
 *     #: 1 channel signed normalized block-compressed (BC4 compression)
 *     #: format
 *     cudaChannelFormatKindSignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed4             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned normalized block-compressed (BC5 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedBlock, __pyx_t_4) < 0) __PYX_ERR(0, 1018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1022
 *     #: 2 channel unsigned normalized block-compressed (BC5 compression)
 *     #: format
 *     cudaChannelFormatKindUnsignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed5             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed normalized block-compressed (BC5 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_8, __pyx_t_4) < 0) __PYX_ERR(0, 1022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1026
 *     #: 2 channel signed normalized block-compressed (BC5 compression)
 *     #: format
 *     cudaChannelFormatKindSignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed5             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel unsigned half-float block-compressed (BC6H compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedBlock_2, __pyx_t_4) < 0) __PYX_ERR(0, 1026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1030
 *     #: 3 channel unsigned half-float block-compressed (BC6H compression)
 *     #: format
 *     cudaChannelFormatKindUnsignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed6H             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel signed half-float block-compressed (BC6H compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed6H); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_9, __pyx_t_4) < 0) __PYX_ERR(0, 1030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1034
 *     #: 3 channel signed half-float block-compressed (BC6H compression)
 *     #: format
 *     cudaChannelFormatKindSignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed6H             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindSignedBlockCompressed6H); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindSignedBlock_3, __pyx_t_4) < 0) __PYX_ERR(0, 1034, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1038
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 *     #: format
 *     cudaChannelFormatKindUnsignedBlockCompressed7 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_10, __pyx_t_4) < 0) __PYX_ERR(0, 1038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1042
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 *     #: format with sRGB encoding
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB             # <<<<<<<<<<<<<<
 * 
 * class cudaMemoryType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaChannelFormatKind(cudaChannelFormatKindUnsignedBlockCompressed7SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaChannelFormatKindUnsignedBlo_11, __pyx_t_4) < 0) __PYX_ERR(0, 1042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":932
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase
 * 
 * class cudaChannelFormatKind(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Channel format kind
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaChannelFormatKind, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaChannelFormatKind, __pyx_t_4) < 0) __PYX_ERR(0, 932, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1044
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB
 * 
 * class cudaMemoryType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaMemoryType, __pyx_n_s_cudaMemoryType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_memory_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1050
 * 
 *     #: Unregistered memory
 *     cudaMemoryTypeUnregistered = ccudart.cudaMemoryType.cudaMemoryTypeUnregistered             # <<<<<<<<<<<<<<
 * 
 *     #: Host memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryType(cudaMemoryTypeUnregistered); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemoryTypeUnregistered, __pyx_t_4) < 0) __PYX_ERR(0, 1050, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1053
 * 
 *     #: Host memory
 *     cudaMemoryTypeHost = ccudart.cudaMemoryType.cudaMemoryTypeHost             # <<<<<<<<<<<<<<
 * 
 *     #: Device memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryType(cudaMemoryTypeHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemoryTypeHost, __pyx_t_4) < 0) __PYX_ERR(0, 1053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1056
 * 
 *     #: Device memory
 *     cudaMemoryTypeDevice = ccudart.cudaMemoryType.cudaMemoryTypeDevice             # <<<<<<<<<<<<<<
 * 
 *     #: Managed memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryType(cudaMemoryTypeDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemoryTypeDevice, __pyx_t_4) < 0) __PYX_ERR(0, 1056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1059
 * 
 *     #: Managed memory
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged             # <<<<<<<<<<<<<<
 * 
 * class cudaMemcpyKind(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryType(cudaMemoryTypeManaged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemoryTypeManaged, __pyx_t_4) < 0) __PYX_ERR(0, 1059, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1044
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB
 * 
 * class cudaMemoryType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaMemoryType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemoryType, __pyx_t_4) < 0) __PYX_ERR(0, 1044, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1061
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged
 * 
 * class cudaMemcpyKind(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory copy types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaMemcpyKind, __pyx_n_s_cudaMemcpyKind, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_memory_copy_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1067
 * 
 *     #: Host -> Host
 *     cudaMemcpyHostToHost = ccudart.cudaMemcpyKind.cudaMemcpyHostToHost             # <<<<<<<<<<<<<<
 * 
 *     #: Host -> Device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemcpyKind(cudaMemcpyHostToHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemcpyHostToHost, __pyx_t_4) < 0) __PYX_ERR(0, 1067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1070
 * 
 *     #: Host -> Device
 *     cudaMemcpyHostToDevice = ccudart.cudaMemcpyKind.cudaMemcpyHostToDevice             # <<<<<<<<<<<<<<
 * 
 *     #: Device -> Host
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemcpyKind(cudaMemcpyHostToDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemcpyHostToDevice, __pyx_t_4) < 0) __PYX_ERR(0, 1070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1073
 * 
 *     #: Device -> Host
 *     cudaMemcpyDeviceToHost = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToHost             # <<<<<<<<<<<<<<
 * 
 *     #: Device -> Device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemcpyKind(cudaMemcpyDeviceToHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemcpyDeviceToHost, __pyx_t_4) < 0) __PYX_ERR(0, 1073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1076
 * 
 *     #: Device -> Device
 *     cudaMemcpyDeviceToDevice = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToDevice             # <<<<<<<<<<<<<<
 * 
 *     #: Direction of the transfer is inferred from the pointer values.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemcpyKind(cudaMemcpyDeviceToDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemcpyDeviceToDevice, __pyx_t_4) < 0) __PYX_ERR(0, 1076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1080
 *     #: Direction of the transfer is inferred from the pointer values.
 *     #: Requires unified virtual addressing
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault             # <<<<<<<<<<<<<<
 * 
 * class cudaAccessProperty(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemcpyKind(cudaMemcpyDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemcpyDefault, __pyx_t_4) < 0) __PYX_ERR(0, 1080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1061
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged
 * 
 * class cudaMemcpyKind(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory copy types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaMemcpyKind, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyKind, __pyx_t_4) < 0) __PYX_ERR(0, 1061, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1082
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault
 * 
 * class cudaAccessProperty(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies performance hint with :py:obj:`~.cudaAccessPolicyWindow`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaAccessProperty, __pyx_n_s_cudaAccessProperty, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Specifies_performance_hint_with); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1089
 * 
 *     #: Normal cache persistence.
 *     cudaAccessPropertyNormal = ccudart.cudaAccessProperty.cudaAccessPropertyNormal             # <<<<<<<<<<<<<<
 * 
 *     #: Streaming access is less likely to persit from cache.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaAccessProperty(cudaAccessPropertyNormal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaAccessPropertyNormal, __pyx_t_4) < 0) __PYX_ERR(0, 1089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1092
 * 
 *     #: Streaming access is less likely to persit from cache.
 *     cudaAccessPropertyStreaming = ccudart.cudaAccessProperty.cudaAccessPropertyStreaming             # <<<<<<<<<<<<<<
 * 
 *     #: Persisting access is more likely to persist in cache.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaAccessProperty(cudaAccessPropertyStreaming); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaAccessPropertyStreaming, __pyx_t_4) < 0) __PYX_ERR(0, 1092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1095
 * 
 *     #: Persisting access is more likely to persist in cache.
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamCaptureStatus(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaAccessProperty(cudaAccessPropertyPersisting); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaAccessPropertyPersisting, __pyx_t_4) < 0) __PYX_ERR(0, 1095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1082
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault
 * 
 * class cudaAccessProperty(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies performance hint with :py:obj:`~.cudaAccessPolicyWindow`
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaAccessProperty, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaAccessProperty, __pyx_t_4) < 0) __PYX_ERR(0, 1082, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1097
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting
 * 
 * class cudaStreamCaptureStatus(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible stream capture statuses returned by
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaStreamCaptureStatus, __pyx_n_s_cudaStreamCaptureStatus, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Possible_stream_capture_statuse); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1104
 * 
 *     #: Stream is not capturing
 *     cudaStreamCaptureStatusNone = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusNone             # <<<<<<<<<<<<<<
 * 
 *     #: Stream is actively capturing
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(cudaStreamCaptureStatusNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamCaptureStatusNone, __pyx_t_4) < 0) __PYX_ERR(0, 1104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1107
 * 
 *     #: Stream is actively capturing
 *     cudaStreamCaptureStatusActive = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusActive             # <<<<<<<<<<<<<<
 * 
 *     #: Stream is part of a capture sequence that has been invalidated, but
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(cudaStreamCaptureStatusActive); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamCaptureStatusActive, __pyx_t_4) < 0) __PYX_ERR(0, 1107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1111
 *     #: Stream is part of a capture sequence that has been invalidated, but
 *     #: not terminated
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamCaptureMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(cudaStreamCaptureStatusInvalidated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamCaptureStatusInvalidat, __pyx_t_4) < 0) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1097
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting
 * 
 * class cudaStreamCaptureStatus(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible stream capture statuses returned by
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaStreamCaptureStatus, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCaptureStatus, __pyx_t_4) < 0) __PYX_ERR(0, 1097, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1113
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated
 * 
 * class cudaStreamCaptureMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible modes for stream capture thread interactions. For more
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaStreamCaptureMode, __pyx_n_s_cudaStreamCaptureMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Possible_modes_for_stream_captu); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1119
 *     :py:obj:`~.cudaThreadExchangeStreamCaptureMode`
 *     """
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamCaptureMode(cudaStreamCaptureModeGlobal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamCaptureModeGlobal, __pyx_t_4) < 0) __PYX_ERR(0, 1119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1120
 *     """
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamCaptureMode(cudaStreamCaptureModeThreadLocal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamCaptureModeThreadLocal, __pyx_t_4) < 0) __PYX_ERR(0, 1120, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1121
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed             # <<<<<<<<<<<<<<
 * 
 * class cudaSynchronizationPolicy(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamCaptureMode(cudaStreamCaptureModeRelaxed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamCaptureModeRelaxed, __pyx_t_4) < 0) __PYX_ERR(0, 1121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1113
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated
 * 
 * class cudaStreamCaptureMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible modes for stream capture thread interactions. For more
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaStreamCaptureMode, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCaptureMode, __pyx_t_4) < 0) __PYX_ERR(0, 1113, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1123
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 * 
 * class cudaSynchronizationPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaSynchronizationPolicy, __pyx_n_s_cudaSynchronizationPolicy, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s__713); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1127
 * 
 *     """
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto             # <<<<<<<<<<<<<<
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSynchronizationPolicy(cudaSyncPolicyAuto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSyncPolicyAuto, __pyx_t_4) < 0) __PYX_ERR(0, 1127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1128
 *     """
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin             # <<<<<<<<<<<<<<
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSynchronizationPolicy(cudaSyncPolicySpin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSyncPolicySpin, __pyx_t_4) < 0) __PYX_ERR(0, 1128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1129
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield             # <<<<<<<<<<<<<<
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSynchronizationPolicy(cudaSyncPolicyYield); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSyncPolicyYield, __pyx_t_4) < 0) __PYX_ERR(0, 1129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1130
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync             # <<<<<<<<<<<<<<
 * 
 * class cudaClusterSchedulingPolicy(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSynchronizationPolicy(cudaSyncPolicyBlockingSync); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSyncPolicyBlockingSync, __pyx_t_4) < 0) __PYX_ERR(0, 1130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1123
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 * 
 * class cudaSynchronizationPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaSynchronizationPolicy, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSynchronizationPolicy, __pyx_t_4) < 0) __PYX_ERR(0, 1123, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1132
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 * 
 * class cudaClusterSchedulingPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cluster scheduling policies. These may be passed to
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaClusterSchedulingPolicy, __pyx_n_s_cudaClusterSchedulingPolicy, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Cluster_scheduling_policies_The); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1139
 * 
 *     #: the default policy
 *     cudaClusterSchedulingPolicyDefault = ccudart.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicyDefault             # <<<<<<<<<<<<<<
 * 
 *     #: spread the blocks within a cluster to the SMs
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaClusterSchedulingPolicy(cudaClusterSchedulingPolicyDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaClusterSchedulingPolicyDefau, __pyx_t_4) < 0) __PYX_ERR(0, 1139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1142
 * 
 *     #: spread the blocks within a cluster to the SMs
 *     cudaClusterSchedulingPolicySpread = ccudart.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicySpread             # <<<<<<<<<<<<<<
 * 
 *     #: allow the hardware to load-balance the blocks in a cluster to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaClusterSchedulingPolicy(cudaClusterSchedulingPolicySpread); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaClusterSchedulingPolicySprea, __pyx_t_4) < 0) __PYX_ERR(0, 1142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1146
 *     #: allow the hardware to load-balance the blocks in a cluster to the
 *     #: SMs
 *     cudaClusterSchedulingPolicyLoadBalancing = ccudart.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicyLoadBalancing             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamUpdateCaptureDependenciesFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaClusterSchedulingPolicy(cudaClusterSchedulingPolicyLoadBalancing); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaClusterSchedulingPolicyLoadB, __pyx_t_4) < 0) __PYX_ERR(0, 1146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1132
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 * 
 * class cudaClusterSchedulingPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cluster scheduling policies. These may be passed to
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaClusterSchedulingPolicy, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaClusterSchedulingPolicy, __pyx_t_4) < 0) __PYX_ERR(0, 1132, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1148
 *     cudaClusterSchedulingPolicyLoadBalancing = ccudart.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicyLoadBalancing
 * 
 * class cudaStreamUpdateCaptureDependenciesFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cudaStreamUpdateCaptureDependencies`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaStreamUpdateCaptureDependenc_2, __pyx_n_s_cudaStreamUpdateCaptureDependenc_2, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Flags_for_py_obj_cudaStreamUpda); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1154
 * 
 *     #: Add new nodes to the dependency set
 *     cudaStreamAddCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamAddCaptureDependencies             # <<<<<<<<<<<<<<
 * 
 *     #: Replace the dependency set with the new nodes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamUpdateCaptureDependenciesFlags(cudaStreamAddCaptureDependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamAddCaptureDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 1154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1157
 * 
 *     #: Replace the dependency set with the new nodes
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies             # <<<<<<<<<<<<<<
 * 
 * class cudaUserObjectFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaStreamUpdateCaptureDependenciesFlags(cudaStreamSetCaptureDependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamSetCaptureDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 1157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1148
 *     cudaClusterSchedulingPolicyLoadBalancing = ccudart.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicyLoadBalancing
 * 
 * class cudaStreamUpdateCaptureDependenciesFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cudaStreamUpdateCaptureDependencies`
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaStreamUpdateCaptureDependenc_2, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamUpdateCaptureDependenc_2, __pyx_t_4) < 0) __PYX_ERR(0, 1148, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1159
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies
 * 
 * class cudaUserObjectFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for user objects for graphs
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaUserObjectFlags, __pyx_n_s_cudaUserObjectFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Flags_for_user_objects_for_grap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1166
 *     #: Indicates the destructor execution is not synchronized by any CUDA
 *     #: handle.
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync             # <<<<<<<<<<<<<<
 * 
 * class cudaUserObjectRetainFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaUserObjectFlags(cudaUserObjectNoDestructorSync); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaUserObjectNoDestructorSync, __pyx_t_4) < 0) __PYX_ERR(0, 1166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1159
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies
 * 
 * class cudaUserObjectFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for user objects for graphs
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaUserObjectFlags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectFlags, __pyx_t_4) < 0) __PYX_ERR(0, 1159, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1168
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync
 * 
 * class cudaUserObjectRetainFlags(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(0, 1168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaUserObjectRetainFlags, __pyx_n_s_cudaUserObjectRetainFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Flags_for_retaining_user_object); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1175
 *     #: Transfer references from the caller rather than creating new
 *     #: references.
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphicsRegisterFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaUserObjectRetainFlags(cudaGraphUserObjectMove); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphUserObjectMove, __pyx_t_4) < 0) __PYX_ERR(0, 1175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1168
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync
 * 
 * class cudaUserObjectRetainFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for retaining user object references for graphs
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaUserObjectRetainFlags, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectRetainFlags, __pyx_t_4) < 0) __PYX_ERR(0, 1168, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1177
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove
 * 
 * class cudaGraphicsRegisterFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA graphics interop register flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaGraphicsRegisterFlags, __pyx_n_s_cudaGraphicsRegisterFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_graphics_interop_register); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1183
 * 
 *     #: Default
 *     cudaGraphicsRegisterFlagsNone = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA will not write to this resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsRegisterFlags(cudaGraphicsRegisterFlagsNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsRegisterFlagsNone, __pyx_t_4) < 0) __PYX_ERR(0, 1183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1186
 * 
 *     #: CUDA will not write to this resource
 *     cudaGraphicsRegisterFlagsReadOnly = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA will only write to and will not read from this resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsRegisterFlags(cudaGraphicsRegisterFlagsReadOnly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsRegisterFlagsReadOnl, __pyx_t_4) < 0) __PYX_ERR(0, 1186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1189
 * 
 *     #: CUDA will only write to and will not read from this resource
 *     cudaGraphicsRegisterFlagsWriteDiscard = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA will bind this resource to a surface reference
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsRegisterFlags(cudaGraphicsRegisterFlagsWriteDiscard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsRegisterFlagsWriteDi, __pyx_t_4) < 0) __PYX_ERR(0, 1189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1192
 * 
 *     #: CUDA will bind this resource to a surface reference
 *     cudaGraphicsRegisterFlagsSurfaceLoadStore = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsSurfaceLoadStore             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA will perform texture gather operations on this resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsRegisterFlags(cudaGraphicsRegisterFlagsSurfaceLoadStore); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsRegisterFlagsSurface, __pyx_t_4) < 0) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1195
 * 
 *     #: CUDA will perform texture gather operations on this resource
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphicsMapFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsRegisterFlags(cudaGraphicsRegisterFlagsTextureGather); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsRegisterFlagsTexture, __pyx_t_4) < 0) __PYX_ERR(0, 1195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1177
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove
 * 
 * class cudaGraphicsRegisterFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA graphics interop register flags
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaGraphicsRegisterFlags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsRegisterFlags, __pyx_t_4) < 0) __PYX_ERR(0, 1177, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1197
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather
 * 
 * class cudaGraphicsMapFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA graphics interop map flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGraphicsMapFlags, __pyx_n_s_cudaGraphicsMapFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_graphics_interop_map_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1203
 * 
 *     #: Default; Assume resource can be read/written
 *     cudaGraphicsMapFlagsNone = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsNone             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA will not write to this resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsMapFlags(cudaGraphicsMapFlagsNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsMapFlagsNone, __pyx_t_4) < 0) __PYX_ERR(0, 1203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1206
 * 
 *     #: CUDA will not write to this resource
 *     cudaGraphicsMapFlagsReadOnly = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsReadOnly             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA will only write to and will not read from this resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsMapFlags(cudaGraphicsMapFlagsReadOnly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsMapFlagsReadOnly, __pyx_t_4) < 0) __PYX_ERR(0, 1206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1209
 * 
 *     #: CUDA will only write to and will not read from this resource
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphicsCubeFace(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsMapFlags(cudaGraphicsMapFlagsWriteDiscard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsMapFlagsWriteDiscard, __pyx_t_4) < 0) __PYX_ERR(0, 1209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1197
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather
 * 
 * class cudaGraphicsMapFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA graphics interop map flags
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGraphicsMapFlags, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsMapFlags, __pyx_t_4) < 0) __PYX_ERR(0, 1197, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1211
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard
 * 
 * class cudaGraphicsCubeFace(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA graphics interop array indices for cube maps
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaGraphicsCubeFace, __pyx_n_s_cudaGraphicsCubeFace, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_graphics_interop_array_ind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1217
 * 
 *     #: Positive X face of cubemap
 *     cudaGraphicsCubeFacePositiveX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveX             # <<<<<<<<<<<<<<
 * 
 *     #: Negative X face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(cudaGraphicsCubeFacePositiveX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsCubeFacePositiveX, __pyx_t_4) < 0) __PYX_ERR(0, 1217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1220
 * 
 *     #: Negative X face of cubemap
 *     cudaGraphicsCubeFaceNegativeX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX             # <<<<<<<<<<<<<<
 * 
 *     #: Positive Y face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(cudaGraphicsCubeFaceNegativeX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsCubeFaceNegativeX, __pyx_t_4) < 0) __PYX_ERR(0, 1220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1223
 * 
 *     #: Positive Y face of cubemap
 *     cudaGraphicsCubeFacePositiveY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveY             # <<<<<<<<<<<<<<
 * 
 *     #: Negative Y face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(cudaGraphicsCubeFacePositiveY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsCubeFacePositiveY, __pyx_t_4) < 0) __PYX_ERR(0, 1223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1226
 * 
 *     #: Negative Y face of cubemap
 *     cudaGraphicsCubeFaceNegativeY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeY             # <<<<<<<<<<<<<<
 * 
 *     #: Positive Z face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(cudaGraphicsCubeFaceNegativeY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsCubeFaceNegativeY, __pyx_t_4) < 0) __PYX_ERR(0, 1226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1229
 * 
 *     #: Positive Z face of cubemap
 *     cudaGraphicsCubeFacePositiveZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveZ             # <<<<<<<<<<<<<<
 * 
 *     #: Negative Z face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(cudaGraphicsCubeFacePositiveZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsCubeFacePositiveZ, __pyx_t_4) < 0) __PYX_ERR(0, 1229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1232
 * 
 *     #: Negative Z face of cubemap
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ             # <<<<<<<<<<<<<<
 * 
 * class cudaResourceType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(cudaGraphicsCubeFaceNegativeZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphicsCubeFaceNegativeZ, __pyx_t_4) < 0) __PYX_ERR(0, 1232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1211
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard
 * 
 * class cudaGraphicsCubeFace(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA graphics interop array indices for cube maps
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaGraphicsCubeFace, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsCubeFace, __pyx_t_4) < 0) __PYX_ERR(0, 1211, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1234
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ
 * 
 * class cudaResourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA resource types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaResourceType, __pyx_n_s_cudaResourceType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_resource_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1240
 * 
 *     #: Array resource
 *     cudaResourceTypeArray = ccudart.cudaResourceType.cudaResourceTypeArray             # <<<<<<<<<<<<<<
 * 
 *     #: Mipmapped array resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceType(cudaResourceTypeArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResourceTypeArray, __pyx_t_4) < 0) __PYX_ERR(0, 1240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1243
 * 
 *     #: Mipmapped array resource
 *     cudaResourceTypeMipmappedArray = ccudart.cudaResourceType.cudaResourceTypeMipmappedArray             # <<<<<<<<<<<<<<
 * 
 *     #: Linear resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceType(cudaResourceTypeMipmappedArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResourceTypeMipmappedArray, __pyx_t_4) < 0) __PYX_ERR(0, 1243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1246
 * 
 *     #: Linear resource
 *     cudaResourceTypeLinear = ccudart.cudaResourceType.cudaResourceTypeLinear             # <<<<<<<<<<<<<<
 * 
 *     #: Pitch 2D resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceType(cudaResourceTypeLinear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResourceTypeLinear, __pyx_t_4) < 0) __PYX_ERR(0, 1246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1249
 * 
 *     #: Pitch 2D resource
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D             # <<<<<<<<<<<<<<
 * 
 * class cudaResourceViewFormat(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceType(cudaResourceTypePitch2D); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResourceTypePitch2D, __pyx_t_4) < 0) __PYX_ERR(0, 1249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1234
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ
 * 
 * class cudaResourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA resource types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaResourceType, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaResourceType, __pyx_t_4) < 0) __PYX_ERR(0, 1234, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1251
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D
 * 
 * class cudaResourceViewFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture resource view formats
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaResourceViewFormat, __pyx_n_s_cudaResourceViewFormat, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_texture_resource_view_form); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1257
 * 
 *     #: No resource view format (use underlying resource format)
 *     cudaResViewFormatNone = ccudart.cudaResourceViewFormat.cudaResViewFormatNone             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 8-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatNone, __pyx_t_4) < 0) __PYX_ERR(0, 1257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1260
 * 
 *     #: 1 channel unsigned 8-bit integers
 *     cudaResViewFormatUnsignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 8-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedChar1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedChar1, __pyx_t_4) < 0) __PYX_ERR(0, 1260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1263
 * 
 *     #: 2 channel unsigned 8-bit integers
 *     cudaResViewFormatUnsignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 8-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedChar2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedChar2, __pyx_t_4) < 0) __PYX_ERR(0, 1263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1266
 * 
 *     #: 4 channel unsigned 8-bit integers
 *     cudaResViewFormatUnsignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 8-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedChar4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedChar4, __pyx_t_4) < 0) __PYX_ERR(0, 1266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1269
 * 
 *     #: 1 channel signed 8-bit integers
 *     cudaResViewFormatSignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 8-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedChar1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedChar1, __pyx_t_4) < 0) __PYX_ERR(0, 1269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1272
 * 
 *     #: 2 channel signed 8-bit integers
 *     cudaResViewFormatSignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 8-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedChar2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedChar2, __pyx_t_4) < 0) __PYX_ERR(0, 1272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1275
 * 
 *     #: 4 channel signed 8-bit integers
 *     cudaResViewFormatSignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 16-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedChar4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedChar4, __pyx_t_4) < 0) __PYX_ERR(0, 1275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1278
 * 
 *     #: 1 channel unsigned 16-bit integers
 *     cudaResViewFormatUnsignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 16-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedShort1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedShort1, __pyx_t_4) < 0) __PYX_ERR(0, 1278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1281
 * 
 *     #: 2 channel unsigned 16-bit integers
 *     cudaResViewFormatUnsignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 16-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedShort2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedShort2, __pyx_t_4) < 0) __PYX_ERR(0, 1281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1284
 * 
 *     #: 4 channel unsigned 16-bit integers
 *     cudaResViewFormatUnsignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 16-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedShort4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedShort4, __pyx_t_4) < 0) __PYX_ERR(0, 1284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1287
 * 
 *     #: 1 channel signed 16-bit integers
 *     cudaResViewFormatSignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 16-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedShort1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedShort1, __pyx_t_4) < 0) __PYX_ERR(0, 1287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1290
 * 
 *     #: 2 channel signed 16-bit integers
 *     cudaResViewFormatSignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 16-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedShort2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedShort2, __pyx_t_4) < 0) __PYX_ERR(0, 1290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1293
 * 
 *     #: 4 channel signed 16-bit integers
 *     cudaResViewFormatSignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 32-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedShort4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedShort4, __pyx_t_4) < 0) __PYX_ERR(0, 1293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1296
 * 
 *     #: 1 channel unsigned 32-bit integers
 *     cudaResViewFormatUnsignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 32-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedInt1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedInt1, __pyx_t_4) < 0) __PYX_ERR(0, 1296, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1299
 * 
 *     #: 2 channel unsigned 32-bit integers
 *     cudaResViewFormatUnsignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 32-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedInt2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedInt2, __pyx_t_4) < 0) __PYX_ERR(0, 1299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1302
 * 
 *     #: 4 channel unsigned 32-bit integers
 *     cudaResViewFormatUnsignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 32-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedInt4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedInt4, __pyx_t_4) < 0) __PYX_ERR(0, 1302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1305
 * 
 *     #: 1 channel signed 32-bit integers
 *     cudaResViewFormatSignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 32-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedInt1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedInt1, __pyx_t_4) < 0) __PYX_ERR(0, 1305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1308
 * 
 *     #: 2 channel signed 32-bit integers
 *     cudaResViewFormatSignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 32-bit integers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedInt2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedInt2, __pyx_t_4) < 0) __PYX_ERR(0, 1308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1311
 * 
 *     #: 4 channel signed 32-bit integers
 *     cudaResViewFormatSignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel 16-bit floating point
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedInt4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedInt4, __pyx_t_4) < 0) __PYX_ERR(0, 1311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1314
 * 
 *     #: 1 channel 16-bit floating point
 *     cudaResViewFormatHalf1 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel 16-bit floating point
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatHalf1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatHalf1, __pyx_t_4) < 0) __PYX_ERR(0, 1314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1317
 * 
 *     #: 2 channel 16-bit floating point
 *     cudaResViewFormatHalf2 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel 16-bit floating point
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatHalf2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatHalf2, __pyx_t_4) < 0) __PYX_ERR(0, 1317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1320
 * 
 *     #: 4 channel 16-bit floating point
 *     cudaResViewFormatHalf4 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel 32-bit floating point
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatHalf4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatHalf4, __pyx_t_4) < 0) __PYX_ERR(0, 1320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1323
 * 
 *     #: 1 channel 32-bit floating point
 *     cudaResViewFormatFloat1 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel 32-bit floating point
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatFloat1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatFloat1, __pyx_t_4) < 0) __PYX_ERR(0, 1323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1326
 * 
 *     #: 2 channel 32-bit floating point
 *     cudaResViewFormatFloat2 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel 32-bit floating point
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatFloat2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatFloat2, __pyx_t_4) < 0) __PYX_ERR(0, 1326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1329
 * 
 *     #: 4 channel 32-bit floating point
 *     cudaResViewFormatFloat4 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat4             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatFloat4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatFloat4, __pyx_t_4) < 0) __PYX_ERR(0, 1329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1332
 * 
 *     #: Block compressed 1
 *     cudaResViewFormatUnsignedBlockCompressed1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed1             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedBlockCompressed1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedBlockCo, __pyx_t_4) < 0) __PYX_ERR(0, 1332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1335
 * 
 *     #: Block compressed 2
 *     cudaResViewFormatUnsignedBlockCompressed2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed2             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 3
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedBlockCompressed2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedBlockCo_2, __pyx_t_4) < 0) __PYX_ERR(0, 1335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1338
 * 
 *     #: Block compressed 3
 *     cudaResViewFormatUnsignedBlockCompressed3 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed3             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 4 unsigned
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedBlockCompressed3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedBlockCo_3, __pyx_t_4) < 0) __PYX_ERR(0, 1338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1341
 * 
 *     #: Block compressed 4 unsigned
 *     cudaResViewFormatUnsignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed4             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 4 signed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedBlockCo_4, __pyx_t_4) < 0) __PYX_ERR(0, 1341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1344
 * 
 *     #: Block compressed 4 signed
 *     cudaResViewFormatSignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed4             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 5 unsigned
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedBlockComp, __pyx_t_4) < 0) __PYX_ERR(0, 1344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1347
 * 
 *     #: Block compressed 5 unsigned
 *     cudaResViewFormatUnsignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed5             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 5 signed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedBlockCo_5, __pyx_t_4) < 0) __PYX_ERR(0, 1347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1350
 * 
 *     #: Block compressed 5 signed
 *     cudaResViewFormatSignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed5             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 6 unsigned half-float
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedBlockComp_2, __pyx_t_4) < 0) __PYX_ERR(0, 1350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1353
 * 
 *     #: Block compressed 6 unsigned half-float
 *     cudaResViewFormatUnsignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed6H             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 6 signed half-float
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedBlockCompressed6H); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedBlockCo_6, __pyx_t_4) < 0) __PYX_ERR(0, 1353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1356
 * 
 *     #: Block compressed 6 signed half-float
 *     cudaResViewFormatSignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed6H             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 7
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatSignedBlockCompressed6H); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatSignedBlockComp_3, __pyx_t_4) < 0) __PYX_ERR(0, 1356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1359
 * 
 *     #: Block compressed 7
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7             # <<<<<<<<<<<<<<
 * 
 * class cudaFuncAttribute(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaResourceViewFormat(cudaResViewFormatUnsignedBlockCompressed7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaResViewFormatUnsignedBlockCo_7, __pyx_t_4) < 0) __PYX_ERR(0, 1359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1251
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D
 * 
 * class cudaResourceViewFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture resource view formats
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaResourceViewFormat, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaResourceViewFormat, __pyx_t_4) < 0) __PYX_ERR(0, 1251, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1361
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7
 * 
 * class cudaFuncAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA function attributes that can be set using
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaFuncAttribute, __pyx_n_s_cudaFuncAttribute, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_function_attributes_that_c); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1368
 * 
 *     #: Maximum dynamic shared memory size
 *     cudaFuncAttributeMaxDynamicSharedMemorySize = ccudart.cudaFuncAttribute.cudaFuncAttributeMaxDynamicSharedMemorySize             # <<<<<<<<<<<<<<
 * 
 *     #: Preferred shared memory-L1 cache split
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeMaxDynamicSharedMemorySize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeMaxDynamicShare, __pyx_t_4) < 0) __PYX_ERR(0, 1368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1371
 * 
 *     #: Preferred shared memory-L1 cache split
 *     cudaFuncAttributePreferredSharedMemoryCarveout = ccudart.cudaFuncAttribute.cudaFuncAttributePreferredSharedMemoryCarveout             # <<<<<<<<<<<<<<
 * 
 *     #: Indicator to enforce valid cluster dimension specification on kernel
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributePreferredSharedMemoryCarveout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributePreferredShared, __pyx_t_4) < 0) __PYX_ERR(0, 1371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1375
 *     #: Indicator to enforce valid cluster dimension specification on kernel
 *     #: launch
 *     cudaFuncAttributeClusterDimMustBeSet = ccudart.cudaFuncAttribute.cudaFuncAttributeClusterDimMustBeSet             # <<<<<<<<<<<<<<
 * 
 *     #: Required cluster width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeClusterDimMustBeSet); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeClusterDimMustB, __pyx_t_4) < 0) __PYX_ERR(0, 1375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1378
 * 
 *     #: Required cluster width
 *     cudaFuncAttributeRequiredClusterWidth = ccudart.cudaFuncAttribute.cudaFuncAttributeRequiredClusterWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Required cluster height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeRequiredClusterWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeRequiredCluster, __pyx_t_4) < 0) __PYX_ERR(0, 1378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1381
 * 
 *     #: Required cluster height
 *     cudaFuncAttributeRequiredClusterHeight = ccudart.cudaFuncAttribute.cudaFuncAttributeRequiredClusterHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Required cluster depth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeRequiredClusterHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeRequiredCluster_2, __pyx_t_4) < 0) __PYX_ERR(0, 1381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1384
 * 
 *     #: Required cluster depth
 *     cudaFuncAttributeRequiredClusterDepth = ccudart.cudaFuncAttribute.cudaFuncAttributeRequiredClusterDepth             # <<<<<<<<<<<<<<
 * 
 *     #: Whether non-portable cluster scheduling policy is supported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeRequiredClusterDepth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeRequiredCluster_3, __pyx_t_4) < 0) __PYX_ERR(0, 1384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1387
 * 
 *     #: Whether non-portable cluster scheduling policy is supported
 *     cudaFuncAttributeNonPortableClusterSizeAllowed = ccudart.cudaFuncAttribute.cudaFuncAttributeNonPortableClusterSizeAllowed             # <<<<<<<<<<<<<<
 * 
 *     #: Required cluster scheduling policy preference
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeNonPortableClusterSizeAllowed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeNonPortableClus, __pyx_t_4) < 0) __PYX_ERR(0, 1387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1390
 * 
 *     #: Required cluster scheduling policy preference
 *     cudaFuncAttributeClusterSchedulingPolicyPreference = ccudart.cudaFuncAttribute.cudaFuncAttributeClusterSchedulingPolicyPreference             # <<<<<<<<<<<<<<
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeClusterSchedulingPolicyPreference); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeClusterScheduli, __pyx_t_4) < 0) __PYX_ERR(0, 1390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1391
 *     #: Required cluster scheduling policy preference
 *     cudaFuncAttributeClusterSchedulingPolicyPreference = ccudart.cudaFuncAttribute.cudaFuncAttributeClusterSchedulingPolicyPreference
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax             # <<<<<<<<<<<<<<
 * 
 * class cudaFuncCache(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncAttribute(cudaFuncAttributeMax); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncAttributeMax, __pyx_t_4) < 0) __PYX_ERR(0, 1391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1361
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7
 * 
 * class cudaFuncAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA function attributes that can be set using
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaFuncAttribute, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 1361, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1393
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax
 * 
 * class cudaFuncCache(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA function cache configurations
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaFuncCache, __pyx_n_s_cudaFuncCache, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_function_cache_configurati); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1399
 * 
 *     #: Default function cache configuration, no preference
 *     cudaFuncCachePreferNone = ccudart.cudaFuncCache.cudaFuncCachePreferNone             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer larger shared memory and smaller L1 cache
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncCache(cudaFuncCachePreferNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncCachePreferNone, __pyx_t_4) < 0) __PYX_ERR(0, 1399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1402
 * 
 *     #: Prefer larger shared memory and smaller L1 cache
 *     cudaFuncCachePreferShared = ccudart.cudaFuncCache.cudaFuncCachePreferShared             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer larger L1 cache and smaller shared memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncCache(cudaFuncCachePreferShared); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncCachePreferShared, __pyx_t_4) < 0) __PYX_ERR(0, 1402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1405
 * 
 *     #: Prefer larger L1 cache and smaller shared memory
 *     cudaFuncCachePreferL1 = ccudart.cudaFuncCache.cudaFuncCachePreferL1             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer equal size L1 cache and shared memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncCache(cudaFuncCachePreferL1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncCachePreferL1, __pyx_t_4) < 0) __PYX_ERR(0, 1405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1408
 * 
 *     #: Prefer equal size L1 cache and shared memory
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual             # <<<<<<<<<<<<<<
 * 
 * class cudaSharedMemConfig(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFuncCache(cudaFuncCachePreferEqual); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFuncCachePreferEqual, __pyx_t_4) < 0) __PYX_ERR(0, 1408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1393
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax
 * 
 * class cudaFuncCache(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA function cache configurations
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaFuncCache, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncCache, __pyx_t_4) < 0) __PYX_ERR(0, 1393, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1410
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual
 * 
 * class cudaSharedMemConfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA shared memory configuration
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaSharedMemConfig, __pyx_n_s_cudaSharedMemConfig, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_shared_memory_configuratio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1414
 *     CUDA shared memory configuration
 *     """
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault             # <<<<<<<<<<<<<<
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSharedMemConfig(cudaSharedMemBankSizeDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSharedMemBankSizeDefault, __pyx_t_4) < 0) __PYX_ERR(0, 1414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1415
 *     """
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte             # <<<<<<<<<<<<<<
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSharedMemConfig(cudaSharedMemBankSizeFourByte); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSharedMemBankSizeFourByte, __pyx_t_4) < 0) __PYX_ERR(0, 1415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1416
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte             # <<<<<<<<<<<<<<
 * 
 * class cudaSharedCarveout(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSharedMemConfig(cudaSharedMemBankSizeEightByte); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSharedMemBankSizeEightByte, __pyx_t_4) < 0) __PYX_ERR(0, 1416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1410
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual
 * 
 * class cudaSharedMemConfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA shared memory configuration
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaSharedMemConfig, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSharedMemConfig, __pyx_t_4) < 0) __PYX_ERR(0, 1410, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1418
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 * 
 * class cudaSharedCarveout(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Shared memory carveout configurations. These may be passed to
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaSharedCarveout, __pyx_n_s_cudaSharedCarveout, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Shared_memory_carveout_configur); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1425
 * 
 *     #: No preference for shared memory or L1 (default)
 *     cudaSharedmemCarveoutDefault = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutDefault             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer maximum available shared memory, minimum L1 cache
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSharedCarveout(cudaSharedmemCarveoutDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSharedmemCarveoutDefault, __pyx_t_4) < 0) __PYX_ERR(0, 1425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1428
 * 
 *     #: Prefer maximum available shared memory, minimum L1 cache
 *     cudaSharedmemCarveoutMaxShared = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxShared             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer maximum available L1 cache, minimum shared memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSharedCarveout(cudaSharedmemCarveoutMaxShared); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSharedmemCarveoutMaxShared, __pyx_t_4) < 0) __PYX_ERR(0, 1428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1431
 * 
 *     #: Prefer maximum available L1 cache, minimum shared memory
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1             # <<<<<<<<<<<<<<
 * 
 * class cudaComputeMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSharedCarveout(cudaSharedmemCarveoutMaxL1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaSharedmemCarveoutMaxL1, __pyx_t_4) < 0) __PYX_ERR(0, 1431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1418
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 * 
 * class cudaSharedCarveout(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Shared memory carveout configurations. These may be passed to
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaSharedCarveout, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSharedCarveout, __pyx_t_4) < 0) __PYX_ERR(0, 1418, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1433
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1
 * 
 * class cudaComputeMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device compute modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaComputeMode, __pyx_n_s_cudaComputeMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_device_compute_modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1440
 *     #: Default compute mode (Multiple threads can use
 *     #: :py:obj:`~.cudaSetDevice()` with this device)
 *     cudaComputeModeDefault = ccudart.cudaComputeMode.cudaComputeModeDefault             # <<<<<<<<<<<<<<
 * 
 *     #: Compute-exclusive-thread mode (Only one thread in one process will
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaComputeMode(cudaComputeModeDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaComputeModeDefault, __pyx_t_4) < 0) __PYX_ERR(0, 1440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1444
 *     #: Compute-exclusive-thread mode (Only one thread in one process will
 *     #: be able to use :py:obj:`~.cudaSetDevice()` with this device)
 *     cudaComputeModeExclusive = ccudart.cudaComputeMode.cudaComputeModeExclusive             # <<<<<<<<<<<<<<
 * 
 *     #: Compute-prohibited mode (No threads can use
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaComputeMode(cudaComputeModeExclusive); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaComputeModeExclusive, __pyx_t_4) < 0) __PYX_ERR(0, 1444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1448
 *     #: Compute-prohibited mode (No threads can use
 *     #: :py:obj:`~.cudaSetDevice()` with this device)
 *     cudaComputeModeProhibited = ccudart.cudaComputeMode.cudaComputeModeProhibited             # <<<<<<<<<<<<<<
 * 
 *     #: Compute-exclusive-process mode (Many threads in one process will be
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaComputeMode(cudaComputeModeProhibited); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaComputeModeProhibited, __pyx_t_4) < 0) __PYX_ERR(0, 1448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1452
 *     #: Compute-exclusive-process mode (Many threads in one process will be
 *     #: able to use :py:obj:`~.cudaSetDevice()` with this device)
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess             # <<<<<<<<<<<<<<
 * 
 * class cudaLimit(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaComputeMode(cudaComputeModeExclusiveProcess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaComputeModeExclusiveProcess, __pyx_t_4) < 0) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1433
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1
 * 
 * class cudaComputeMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device compute modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaComputeMode, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaComputeMode, __pyx_t_4) < 0) __PYX_ERR(0, 1433, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1454
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess
 * 
 * class cudaLimit(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Limits
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaLimit, __pyx_n_s_cudaLimit, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Limits); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1460
 * 
 *     #: GPU thread stack size
 *     cudaLimitStackSize = ccudart.cudaLimit.cudaLimitStackSize             # <<<<<<<<<<<<<<
 * 
 *     #: GPU printf FIFO size
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLimit(cudaLimitStackSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLimitStackSize, __pyx_t_4) < 0) __PYX_ERR(0, 1460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1463
 * 
 *     #: GPU printf FIFO size
 *     cudaLimitPrintfFifoSize = ccudart.cudaLimit.cudaLimitPrintfFifoSize             # <<<<<<<<<<<<<<
 * 
 *     #: GPU malloc heap size
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLimit(cudaLimitPrintfFifoSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLimitPrintfFifoSize, __pyx_t_4) < 0) __PYX_ERR(0, 1463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1466
 * 
 *     #: GPU malloc heap size
 *     cudaLimitMallocHeapSize = ccudart.cudaLimit.cudaLimitMallocHeapSize             # <<<<<<<<<<<<<<
 * 
 *     #: GPU device runtime synchronize depth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLimit(cudaLimitMallocHeapSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLimitMallocHeapSize, __pyx_t_4) < 0) __PYX_ERR(0, 1466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1469
 * 
 *     #: GPU device runtime synchronize depth
 *     cudaLimitDevRuntimeSyncDepth = ccudart.cudaLimit.cudaLimitDevRuntimeSyncDepth             # <<<<<<<<<<<<<<
 * 
 *     #: GPU device runtime pending launch count
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLimit(cudaLimitDevRuntimeSyncDepth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLimitDevRuntimeSyncDepth, __pyx_t_4) < 0) __PYX_ERR(0, 1469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1472
 * 
 *     #: GPU device runtime pending launch count
 *     cudaLimitDevRuntimePendingLaunchCount = ccudart.cudaLimit.cudaLimitDevRuntimePendingLaunchCount             # <<<<<<<<<<<<<<
 * 
 *     #: A value between 0 and 128 that indicates the maximum fetch
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLimit(cudaLimitDevRuntimePendingLaunchCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLimitDevRuntimePendingLaunch, __pyx_t_4) < 0) __PYX_ERR(0, 1472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1476
 *     #: A value between 0 and 128 that indicates the maximum fetch
 *     #: granularity of L2 (in Bytes). This is a hint
 *     cudaLimitMaxL2FetchGranularity = ccudart.cudaLimit.cudaLimitMaxL2FetchGranularity             # <<<<<<<<<<<<<<
 * 
 *     #: A size in bytes for L2 persisting lines cache size
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLimit(cudaLimitMaxL2FetchGranularity); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLimitMaxL2FetchGranularity, __pyx_t_4) < 0) __PYX_ERR(0, 1476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1479
 * 
 *     #: A size in bytes for L2 persisting lines cache size
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize             # <<<<<<<<<<<<<<
 * 
 * class cudaMemoryAdvise(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLimit(cudaLimitPersistingL2CacheSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLimitPersistingL2CacheSize, __pyx_t_4) < 0) __PYX_ERR(0, 1479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1454
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess
 * 
 * class cudaLimit(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Limits
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaLimit, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaLimit, __pyx_t_4) < 0) __PYX_ERR(0, 1454, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1481
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize
 * 
 * class cudaMemoryAdvise(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Memory Advise values
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaMemoryAdvise, __pyx_n_s_cudaMemoryAdvise, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Memory_Advise_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1487
 * 
 *     #: Data will mostly be read and only occassionally be written to
 *     cudaMemAdviseSetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseSetReadMostly             # <<<<<<<<<<<<<<
 * 
 *     #: Undo the effect of :py:obj:`~.cudaMemAdviseSetReadMostly`
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryAdvise(cudaMemAdviseSetReadMostly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAdviseSetReadMostly, __pyx_t_4) < 0) __PYX_ERR(0, 1487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1490
 * 
 *     #: Undo the effect of :py:obj:`~.cudaMemAdviseSetReadMostly`
 *     cudaMemAdviseUnsetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly             # <<<<<<<<<<<<<<
 * 
 *     #: Set the preferred location for the data as the specified device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryAdvise(cudaMemAdviseUnsetReadMostly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAdviseUnsetReadMostly, __pyx_t_4) < 0) __PYX_ERR(0, 1490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1493
 * 
 *     #: Set the preferred location for the data as the specified device
 *     cudaMemAdviseSetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseSetPreferredLocation             # <<<<<<<<<<<<<<
 * 
 *     #: Clear the preferred location for the data
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryAdvise(cudaMemAdviseSetPreferredLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAdviseSetPreferredLocatio, __pyx_t_4) < 0) __PYX_ERR(0, 1493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1496
 * 
 *     #: Clear the preferred location for the data
 *     cudaMemAdviseUnsetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetPreferredLocation             # <<<<<<<<<<<<<<
 * 
 *     #: Data will be accessed by the specified device, so prevent page
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryAdvise(cudaMemAdviseUnsetPreferredLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAdviseUnsetPreferredLocat, __pyx_t_4) < 0) __PYX_ERR(0, 1496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1500
 *     #: Data will be accessed by the specified device, so prevent page
 *     #: faults as much as possible
 *     cudaMemAdviseSetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseSetAccessedBy             # <<<<<<<<<<<<<<
 * 
 *     #: Let the Unified Memory subsystem decide on the page faulting policy
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryAdvise(cudaMemAdviseSetAccessedBy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAdviseSetAccessedBy, __pyx_t_4) < 0) __PYX_ERR(0, 1500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1504
 *     #: Let the Unified Memory subsystem decide on the page faulting policy
 *     #: for the specified device
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy             # <<<<<<<<<<<<<<
 * 
 * class cudaMemRangeAttribute(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemoryAdvise(cudaMemAdviseUnsetAccessedBy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAdviseUnsetAccessedBy, __pyx_t_4) < 0) __PYX_ERR(0, 1504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1481
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize
 * 
 * class cudaMemoryAdvise(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Memory Advise values
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaMemoryAdvise, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemoryAdvise, __pyx_t_4) < 0) __PYX_ERR(0, 1481, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1506
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy
 * 
 * class cudaMemRangeAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA range attributes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaMemRangeAttribute, __pyx_n_s_cudaMemRangeAttribute, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_range_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1513
 *     #: Whether the range will mostly be read and only occassionally be
 *     #: written to
 *     cudaMemRangeAttributeReadMostly = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeReadMostly             # <<<<<<<<<<<<<<
 * 
 *     #: The preferred location of the range
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemRangeAttribute(cudaMemRangeAttributeReadMostly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemRangeAttributeReadMostly, __pyx_t_4) < 0) __PYX_ERR(0, 1513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1516
 * 
 *     #: The preferred location of the range
 *     cudaMemRangeAttributePreferredLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation             # <<<<<<<<<<<<<<
 * 
 *     #: Memory range has :py:obj:`~.cudaMemAdviseSetAccessedBy` set for
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemRangeAttribute(cudaMemRangeAttributePreferredLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemRangeAttributePreferredLo, __pyx_t_4) < 0) __PYX_ERR(0, 1516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1520
 *     #: Memory range has :py:obj:`~.cudaMemAdviseSetAccessedBy` set for
 *     #: specified device
 *     cudaMemRangeAttributeAccessedBy = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeAccessedBy             # <<<<<<<<<<<<<<
 * 
 *     #: The last location to which the range was prefetched
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemRangeAttribute(cudaMemRangeAttributeAccessedBy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemRangeAttributeAccessedBy, __pyx_t_4) < 0) __PYX_ERR(0, 1520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1523
 * 
 *     #: The last location to which the range was prefetched
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation             # <<<<<<<<<<<<<<
 * 
 * class cudaOutputMode_t(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemRangeAttribute(cudaMemRangeAttributeLastPrefetchLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemRangeAttributeLastPrefetc, __pyx_t_4) < 0) __PYX_ERR(0, 1523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1506
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy
 * 
 * class cudaMemRangeAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA range attributes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaMemRangeAttribute, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemRangeAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 1506, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1525
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation
 * 
 * class cudaOutputMode_t(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Profiler Output modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaOutputMode_t, __pyx_n_s_cudaOutputMode_t, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Profiler_Output_modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1531
 * 
 *     #: Output mode Key-Value pair format.
 *     cudaKeyValuePair = ccudart.cudaOutputMode.cudaKeyValuePair             # <<<<<<<<<<<<<<
 * 
 *     #: Output mode Comma separated values format.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaOutputMode(cudaKeyValuePair); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaKeyValuePair, __pyx_t_4) < 0) __PYX_ERR(0, 1531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1534
 * 
 *     #: Output mode Comma separated values format.
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV             # <<<<<<<<<<<<<<
 * 
 * class cudaFlushGPUDirectRDMAWritesOptions(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaOutputMode(cudaCSV); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaCSV, __pyx_t_4) < 0) __PYX_ERR(0, 1534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1525
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation
 * 
 * class cudaOutputMode_t(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Profiler Output modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaOutputMode_t, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOutputMode_t, __pyx_t_4) < 0) __PYX_ERR(0, 1525, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1536
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV
 * 
 * class cudaFlushGPUDirectRDMAWritesOptions(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes APIs supported on the device
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti, __pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1543
 *     #: :py:obj:`~.cudaDeviceFlushGPUDirectRDMAWrites()` and its CUDA Driver
 *     #: API counterpart are supported on the device.
 *     cudaFlushGPUDirectRDMAWritesOptionHost = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionHost             # <<<<<<<<<<<<<<
 * 
 *     #: The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesOptions(cudaFlushGPUDirectRDMAWritesOptionHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti_2, __pyx_t_4) < 0) __PYX_ERR(0, 1543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1548
 *     #: :py:obj:`~.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES` MemOp are supported
 *     #: on the CUDA device.
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps             # <<<<<<<<<<<<<<
 * 
 * class cudaGPUDirectRDMAWritesOrdering(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesOptions(cudaFlushGPUDirectRDMAWritesOptionMemOps); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti_3, __pyx_t_4) < 0) __PYX_ERR(0, 1548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1536
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV
 * 
 * class cudaFlushGPUDirectRDMAWritesOptions(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes APIs supported on the device
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti, __pyx_t_4) < 0) __PYX_ERR(0, 1536, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1550
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps
 * 
 * class cudaGPUDirectRDMAWritesOrdering(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes ordering features of the device
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGPUDirectRDMAWritesOrdering, __pyx_n_s_cudaGPUDirectRDMAWritesOrdering, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1558
 *     #: writes. :py:obj:`~.cudaFlushGPUDirectRDMAWrites()` can be leveraged
 *     #: if supported.
 *     cudaGPUDirectRDMAWritesOrderingNone = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingNone             # <<<<<<<<<<<<<<
 * 
 *     #: Natively, the device can consistently consume GPUDirect RDMA writes,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGPUDirectRDMAWritesOrdering(cudaGPUDirectRDMAWritesOrderingNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGPUDirectRDMAWritesOrderingN, __pyx_t_4) < 0) __PYX_ERR(0, 1558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1562
 *     #: Natively, the device can consistently consume GPUDirect RDMA writes,
 *     #: although other CUDA devices may not.
 *     cudaGPUDirectRDMAWritesOrderingOwner = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingOwner             # <<<<<<<<<<<<<<
 * 
 *     #: Any CUDA device in the system can consistently consume GPUDirect
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGPUDirectRDMAWritesOrdering(cudaGPUDirectRDMAWritesOrderingOwner); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGPUDirectRDMAWritesOrderingO, __pyx_t_4) < 0) __PYX_ERR(0, 1562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1566
 *     #: Any CUDA device in the system can consistently consume GPUDirect
 *     #: RDMA writes to this device.
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices             # <<<<<<<<<<<<<<
 * 
 * class cudaFlushGPUDirectRDMAWritesScope(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGPUDirectRDMAWritesOrdering(cudaGPUDirectRDMAWritesOrderingAllDevices); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGPUDirectRDMAWritesOrderingA, __pyx_t_4) < 0) __PYX_ERR(0, 1566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1550
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps
 * 
 * class cudaGPUDirectRDMAWritesOrdering(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes ordering features of the device
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGPUDirectRDMAWritesOrdering, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGPUDirectRDMAWritesOrdering, __pyx_t_4) < 0) __PYX_ERR(0, 1550, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1568
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes scopes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaFlushGPUDirectRDMAWritesScop, __pyx_n_s_cudaFlushGPUDirectRDMAWritesScop, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1575
 *     #: Blocks until remote writes are visible to the CUDA device context
 *     #: owning the data.
 *     cudaFlushGPUDirectRDMAWritesToOwner = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToOwner             # <<<<<<<<<<<<<<
 * 
 *     #: Blocks until remote writes are visible to all CUDA device contexts.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesScope(cudaFlushGPUDirectRDMAWritesToOwner); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFlushGPUDirectRDMAWritesToOw, __pyx_t_4) < 0) __PYX_ERR(0, 1575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1578
 * 
 *     #: Blocks until remote writes are visible to all CUDA device contexts.
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices             # <<<<<<<<<<<<<<
 * 
 * class cudaFlushGPUDirectRDMAWritesTarget(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesScope(cudaFlushGPUDirectRDMAWritesToAllDevices); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFlushGPUDirectRDMAWritesToAl, __pyx_t_4) < 0) __PYX_ERR(0, 1578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1568
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes scopes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaFlushGPUDirectRDMAWritesScop, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFlushGPUDirectRDMAWritesScop, __pyx_t_4) < 0) __PYX_ERR(0, 1568, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1580
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesTarget(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes targets
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg, __pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_GPUDirect_RDMA_flush_write_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1587
 *     #: Sets the target for :py:obj:`~.cudaDeviceFlushGPUDirectRDMAWrites()`
 *     #: to the currently active CUDA device context.
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice             # <<<<<<<<<<<<<<
 * 
 * class cudaDeviceAttr(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesTarget(cudaFlushGPUDirectRDMAWritesTargetCurrentDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg_2, __pyx_t_4) < 0) __PYX_ERR(0, 1587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1580
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesTarget(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPUDirect RDMA flush writes targets
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg, __pyx_t_4) < 0) __PYX_ERR(0, 1580, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1589
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 * class cudaDeviceAttr(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device attributes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaDeviceAttr, __pyx_n_s_cudaDeviceAttr, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_device_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1595
 * 
 *     #: Maximum number of threads per block
 *     cudaDevAttrMaxThreadsPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerBlock             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension X
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxThreadsPerBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxThreadsPerBlock, __pyx_t_4) < 0) __PYX_ERR(0, 1595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1598
 * 
 *     #: Maximum block dimension X
 *     cudaDevAttrMaxBlockDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimX             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxBlockDimX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxBlockDimX, __pyx_t_4) < 0) __PYX_ERR(0, 1598, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1601
 * 
 *     #: Maximum block dimension Y
 *     cudaDevAttrMaxBlockDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimY             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension Z
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxBlockDimY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxBlockDimY, __pyx_t_4) < 0) __PYX_ERR(0, 1601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1604
 * 
 *     #: Maximum block dimension Z
 *     cudaDevAttrMaxBlockDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimZ             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension X
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxBlockDimZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxBlockDimZ, __pyx_t_4) < 0) __PYX_ERR(0, 1604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1607
 * 
 *     #: Maximum grid dimension X
 *     cudaDevAttrMaxGridDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimX             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxGridDimX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxGridDimX, __pyx_t_4) < 0) __PYX_ERR(0, 1607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1610
 * 
 *     #: Maximum grid dimension Y
 *     cudaDevAttrMaxGridDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimY             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension Z
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxGridDimY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxGridDimY, __pyx_t_4) < 0) __PYX_ERR(0, 1610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1613
 * 
 *     #: Maximum grid dimension Z
 *     cudaDevAttrMaxGridDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimZ             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum shared memory available per block in bytes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxGridDimZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxGridDimZ, __pyx_t_4) < 0) __PYX_ERR(0, 1613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1616
 * 
 *     #: Maximum shared memory available per block in bytes
 *     cudaDevAttrMaxSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlock             # <<<<<<<<<<<<<<
 * 
 *     #: Memory available on device for constant variables in a CUDA C kernel
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSharedMemoryPerBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSharedMemoryPerBlo, __pyx_t_4) < 0) __PYX_ERR(0, 1616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1620
 *     #: Memory available on device for constant variables in a CUDA C kernel
 *     #: in bytes
 *     cudaDevAttrTotalConstantMemory = ccudart.cudaDeviceAttr.cudaDevAttrTotalConstantMemory             # <<<<<<<<<<<<<<
 * 
 *     #: Warp size in threads
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrTotalConstantMemory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrTotalConstantMemory, __pyx_t_4) < 0) __PYX_ERR(0, 1620, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1623
 * 
 *     #: Warp size in threads
 *     cudaDevAttrWarpSize = ccudart.cudaDeviceAttr.cudaDevAttrWarpSize             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum pitch in bytes allowed by memory copies
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrWarpSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrWarpSize, __pyx_t_4) < 0) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1626
 * 
 *     #: Maximum pitch in bytes allowed by memory copies
 *     cudaDevAttrMaxPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxPitch             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of 32-bit registers available per block
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxPitch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxPitch, __pyx_t_4) < 0) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1629
 * 
 *     #: Maximum number of 32-bit registers available per block
 *     cudaDevAttrMaxRegistersPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerBlock             # <<<<<<<<<<<<<<
 * 
 *     #: Peak clock frequency in kilohertz
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxRegistersPerBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxRegistersPerBlock, __pyx_t_4) < 0) __PYX_ERR(0, 1629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1632
 * 
 *     #: Peak clock frequency in kilohertz
 *     cudaDevAttrClockRate = ccudart.cudaDeviceAttr.cudaDevAttrClockRate             # <<<<<<<<<<<<<<
 * 
 *     #: Alignment requirement for textures
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrClockRate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrClockRate, __pyx_t_4) < 0) __PYX_ERR(0, 1632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1635
 * 
 *     #: Alignment requirement for textures
 *     cudaDevAttrTextureAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTextureAlignment             # <<<<<<<<<<<<<<
 * 
 *     #: Device can possibly copy memory and execute a kernel concurrently
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrTextureAlignment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrTextureAlignment, __pyx_t_4) < 0) __PYX_ERR(0, 1635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1638
 * 
 *     #: Device can possibly copy memory and execute a kernel concurrently
 *     cudaDevAttrGpuOverlap = ccudart.cudaDeviceAttr.cudaDevAttrGpuOverlap             # <<<<<<<<<<<<<<
 * 
 *     #: Number of multiprocessors on device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrGpuOverlap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrGpuOverlap, __pyx_t_4) < 0) __PYX_ERR(0, 1638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1641
 * 
 *     #: Number of multiprocessors on device
 *     cudaDevAttrMultiProcessorCount = ccudart.cudaDeviceAttr.cudaDevAttrMultiProcessorCount             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies whether there is a run time limit on kernels
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMultiProcessorCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMultiProcessorCount, __pyx_t_4) < 0) __PYX_ERR(0, 1641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1644
 * 
 *     #: Specifies whether there is a run time limit on kernels
 *     cudaDevAttrKernelExecTimeout = ccudart.cudaDeviceAttr.cudaDevAttrKernelExecTimeout             # <<<<<<<<<<<<<<
 * 
 *     #: Device is integrated with host memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrKernelExecTimeout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrKernelExecTimeout, __pyx_t_4) < 0) __PYX_ERR(0, 1644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1647
 * 
 *     #: Device is integrated with host memory
 *     cudaDevAttrIntegrated = ccudart.cudaDeviceAttr.cudaDevAttrIntegrated             # <<<<<<<<<<<<<<
 * 
 *     #: Device can map host memory into CUDA address space
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrIntegrated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrIntegrated, __pyx_t_4) < 0) __PYX_ERR(0, 1647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1650
 * 
 *     #: Device can map host memory into CUDA address space
 *     cudaDevAttrCanMapHostMemory = ccudart.cudaDeviceAttr.cudaDevAttrCanMapHostMemory             # <<<<<<<<<<<<<<
 * 
 *     #: Compute mode (See :py:obj:`~.cudaComputeMode` for details)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrCanMapHostMemory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrCanMapHostMemory, __pyx_t_4) < 0) __PYX_ERR(0, 1650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1653
 * 
 *     #: Compute mode (See :py:obj:`~.cudaComputeMode` for details)
 *     cudaDevAttrComputeMode = ccudart.cudaDeviceAttr.cudaDevAttrComputeMode             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrComputeMode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrComputeMode, __pyx_t_4) < 0) __PYX_ERR(0, 1653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1656
 * 
 *     #: Maximum 1D texture width
 *     cudaDevAttrMaxTexture1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture1DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture1DWidth, __pyx_t_4) < 0) __PYX_ERR(0, 1656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1659
 * 
 *     #: Maximum 2D texture width
 *     cudaDevAttrMaxTexture2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DWidth, __pyx_t_4) < 0) __PYX_ERR(0, 1659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1662
 * 
 *     #: Maximum 2D texture height
 *     cudaDevAttrMaxTexture2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DHeight, __pyx_t_4) < 0) __PYX_ERR(0, 1662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1665
 * 
 *     #: Maximum 3D texture width
 *     cudaDevAttrMaxTexture3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture3DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture3DWidth, __pyx_t_4) < 0) __PYX_ERR(0, 1665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1668
 * 
 *     #: Maximum 3D texture height
 *     cudaDevAttrMaxTexture3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture depth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture3DHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture3DHeight, __pyx_t_4) < 0) __PYX_ERR(0, 1668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1671
 * 
 *     #: Maximum 3D texture depth
 *     cudaDevAttrMaxTexture3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture3DDepth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture3DDepth, __pyx_t_4) < 0) __PYX_ERR(0, 1671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1674
 * 
 *     #: Maximum 2D layered texture width
 *     cudaDevAttrMaxTexture2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered texture height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DLayeredWi, __pyx_t_4) < 0) __PYX_ERR(0, 1674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1677
 * 
 *     #: Maximum 2D layered texture height
 *     cudaDevAttrMaxTexture2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 2D layered texture
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DLayeredHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DLayeredHe, __pyx_t_4) < 0) __PYX_ERR(0, 1677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1680
 * 
 *     #: Maximum layers in a 2D layered texture
 *     cudaDevAttrMaxTexture2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredLayers             # <<<<<<<<<<<<<<
 * 
 *     #: Alignment requirement for surfaces
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DLayeredLa, __pyx_t_4) < 0) __PYX_ERR(0, 1680, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1683
 * 
 *     #: Alignment requirement for surfaces
 *     cudaDevAttrSurfaceAlignment = ccudart.cudaDeviceAttr.cudaDevAttrSurfaceAlignment             # <<<<<<<<<<<<<<
 * 
 *     #: Device can possibly execute multiple kernels concurrently
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrSurfaceAlignment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrSurfaceAlignment, __pyx_t_4) < 0) __PYX_ERR(0, 1683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1686
 * 
 *     #: Device can possibly execute multiple kernels concurrently
 *     cudaDevAttrConcurrentKernels = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentKernels             # <<<<<<<<<<<<<<
 * 
 *     #: Device has ECC support enabled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrConcurrentKernels); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrConcurrentKernels, __pyx_t_4) < 0) __PYX_ERR(0, 1686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1689
 * 
 *     #: Device has ECC support enabled
 *     cudaDevAttrEccEnabled = ccudart.cudaDeviceAttr.cudaDevAttrEccEnabled             # <<<<<<<<<<<<<<
 * 
 *     #: PCI bus ID of the device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrEccEnabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrEccEnabled, __pyx_t_4) < 0) __PYX_ERR(0, 1689, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1692
 * 
 *     #: PCI bus ID of the device
 *     cudaDevAttrPciBusId = ccudart.cudaDeviceAttr.cudaDevAttrPciBusId             # <<<<<<<<<<<<<<
 * 
 *     #: PCI device ID of the device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrPciBusId); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrPciBusId, __pyx_t_4) < 0) __PYX_ERR(0, 1692, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1695
 * 
 *     #: PCI device ID of the device
 *     cudaDevAttrPciDeviceId = ccudart.cudaDeviceAttr.cudaDevAttrPciDeviceId             # <<<<<<<<<<<<<<
 * 
 *     #: Device is using TCC driver model
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrPciDeviceId); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrPciDeviceId, __pyx_t_4) < 0) __PYX_ERR(0, 1695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1698
 * 
 *     #: Device is using TCC driver model
 *     cudaDevAttrTccDriver = ccudart.cudaDeviceAttr.cudaDevAttrTccDriver             # <<<<<<<<<<<<<<
 * 
 *     #: Peak memory clock frequency in kilohertz
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrTccDriver); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrTccDriver, __pyx_t_4) < 0) __PYX_ERR(0, 1698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1701
 * 
 *     #: Peak memory clock frequency in kilohertz
 *     cudaDevAttrMemoryClockRate = ccudart.cudaDeviceAttr.cudaDevAttrMemoryClockRate             # <<<<<<<<<<<<<<
 * 
 *     #: Global memory bus width in bits
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMemoryClockRate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMemoryClockRate, __pyx_t_4) < 0) __PYX_ERR(0, 1701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1704
 * 
 *     #: Global memory bus width in bits
 *     cudaDevAttrGlobalMemoryBusWidth = ccudart.cudaDeviceAttr.cudaDevAttrGlobalMemoryBusWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Size of L2 cache in bytes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrGlobalMemoryBusWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrGlobalMemoryBusWidth, __pyx_t_4) < 0) __PYX_ERR(0, 1704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1707
 * 
 *     #: Size of L2 cache in bytes
 *     cudaDevAttrL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrL2CacheSize             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum resident threads per multiprocessor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrL2CacheSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrL2CacheSize, __pyx_t_4) < 0) __PYX_ERR(0, 1707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1710
 * 
 *     #: Maximum resident threads per multiprocessor
 *     cudaDevAttrMaxThreadsPerMultiProcessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerMultiProcessor             # <<<<<<<<<<<<<<
 * 
 *     #: Number of asynchronous engines
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxThreadsPerMultiProcessor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxThreadsPerMultiPro, __pyx_t_4) < 0) __PYX_ERR(0, 1710, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1713
 * 
 *     #: Number of asynchronous engines
 *     cudaDevAttrAsyncEngineCount = ccudart.cudaDeviceAttr.cudaDevAttrAsyncEngineCount             # <<<<<<<<<<<<<<
 * 
 *     #: Device shares a unified address space with the host
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrAsyncEngineCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrAsyncEngineCount, __pyx_t_4) < 0) __PYX_ERR(0, 1713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1716
 * 
 *     #: Device shares a unified address space with the host
 *     cudaDevAttrUnifiedAddressing = ccudart.cudaDeviceAttr.cudaDevAttrUnifiedAddressing             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D layered texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrUnifiedAddressing); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrUnifiedAddressing, __pyx_t_4) < 0) __PYX_ERR(0, 1716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1719
 * 
 *     #: Maximum 1D layered texture width
 *     cudaDevAttrMaxTexture1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 1D layered texture
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture1DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture1DLayeredWi, __pyx_t_4) < 0) __PYX_ERR(0, 1719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1722
 * 
 *     #: Maximum layers in a 1D layered texture
 *     cudaDevAttrMaxTexture1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredLayers             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture width if cudaArrayTextureGather is set
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture1DLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture1DLayeredLa, __pyx_t_4) < 0) __PYX_ERR(0, 1722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1725
 * 
 *     #: Maximum 2D texture width if cudaArrayTextureGather is set
 *     cudaDevAttrMaxTexture2DGatherWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture height if cudaArrayTextureGather is set
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DGatherWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DGatherWid, __pyx_t_4) < 0) __PYX_ERR(0, 1725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1728
 * 
 *     #: Maximum 2D texture height if cudaArrayTextureGather is set
 *     cudaDevAttrMaxTexture2DGatherHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DGatherHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DGatherHei, __pyx_t_4) < 0) __PYX_ERR(0, 1728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1731
 * 
 *     #: Alternate maximum 3D texture width
 *     cudaDevAttrMaxTexture3DWidthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidthAlt             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture3DWidthAlt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture3DWidthAlt, __pyx_t_4) < 0) __PYX_ERR(0, 1731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1734
 * 
 *     #: Alternate maximum 3D texture height
 *     cudaDevAttrMaxTexture3DHeightAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeightAlt             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture depth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture3DHeightAlt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture3DHeightAlt, __pyx_t_4) < 0) __PYX_ERR(0, 1734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1737
 * 
 *     #: Alternate maximum 3D texture depth
 *     cudaDevAttrMaxTexture3DDepthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepthAlt             # <<<<<<<<<<<<<<
 * 
 *     #: PCI domain ID of the device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture3DDepthAlt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture3DDepthAlt, __pyx_t_4) < 0) __PYX_ERR(0, 1737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1740
 * 
 *     #: PCI domain ID of the device
 *     cudaDevAttrPciDomainId = ccudart.cudaDeviceAttr.cudaDevAttrPciDomainId             # <<<<<<<<<<<<<<
 * 
 *     #: Pitch alignment requirement for textures
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrPciDomainId); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrPciDomainId, __pyx_t_4) < 0) __PYX_ERR(0, 1740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1743
 * 
 *     #: Pitch alignment requirement for textures
 *     cudaDevAttrTexturePitchAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTexturePitchAlignment             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap texture width/height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrTexturePitchAlignment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrTexturePitchAlignment, __pyx_t_4) < 0) __PYX_ERR(0, 1743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1746
 * 
 *     #: Maximum cubemap texture width/height
 *     cudaDevAttrMaxTextureCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap layered texture width/height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTextureCubemapWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTextureCubemapWidt, __pyx_t_4) < 0) __PYX_ERR(0, 1746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1749
 * 
 *     #: Maximum cubemap layered texture width/height
 *     cudaDevAttrMaxTextureCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a cubemap layered texture
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTextureCubemapLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTextureCubemapLaye, __pyx_t_4) < 0) __PYX_ERR(0, 1749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1752
 * 
 *     #: Maximum layers in a cubemap layered texture
 *     cudaDevAttrMaxTextureCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredLayers             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D surface width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTextureCubemapLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTextureCubemapLaye_2, __pyx_t_4) < 0) __PYX_ERR(0, 1752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1755
 * 
 *     #: Maximum 1D surface width
 *     cudaDevAttrMaxSurface1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D surface width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface1DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface1DWidth, __pyx_t_4) < 0) __PYX_ERR(0, 1755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1758
 * 
 *     #: Maximum 2D surface width
 *     cudaDevAttrMaxSurface2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D surface height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface2DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface2DWidth, __pyx_t_4) < 0) __PYX_ERR(0, 1758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1761
 * 
 *     #: Maximum 2D surface height
 *     cudaDevAttrMaxSurface2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface2DHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface2DHeight, __pyx_t_4) < 0) __PYX_ERR(0, 1761, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1764
 * 
 *     #: Maximum 3D surface width
 *     cudaDevAttrMaxSurface3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface3DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface3DWidth, __pyx_t_4) < 0) __PYX_ERR(0, 1764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1767
 * 
 *     #: Maximum 3D surface height
 *     cudaDevAttrMaxSurface3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface depth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface3DHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface3DHeight, __pyx_t_4) < 0) __PYX_ERR(0, 1767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1770
 * 
 *     #: Maximum 3D surface depth
 *     cudaDevAttrMaxSurface3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DDepth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D layered surface width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface3DDepth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface3DDepth, __pyx_t_4) < 0) __PYX_ERR(0, 1770, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1773
 * 
 *     #: Maximum 1D layered surface width
 *     cudaDevAttrMaxSurface1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 1D layered surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface1DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface1DLayeredWi, __pyx_t_4) < 0) __PYX_ERR(0, 1773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1776
 * 
 *     #: Maximum layers in a 1D layered surface
 *     cudaDevAttrMaxSurface1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredLayers             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered surface width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface1DLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface1DLayeredLa, __pyx_t_4) < 0) __PYX_ERR(0, 1776, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1779
 * 
 *     #: Maximum 2D layered surface width
 *     cudaDevAttrMaxSurface2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered surface height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface2DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface2DLayeredWi, __pyx_t_4) < 0) __PYX_ERR(0, 1779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1782
 * 
 *     #: Maximum 2D layered surface height
 *     cudaDevAttrMaxSurface2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 2D layered surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface2DLayeredHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface2DLayeredHe, __pyx_t_4) < 0) __PYX_ERR(0, 1782, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1785
 * 
 *     #: Maximum layers in a 2D layered surface
 *     cudaDevAttrMaxSurface2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredLayers             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap surface width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurface2DLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurface2DLayeredLa, __pyx_t_4) < 0) __PYX_ERR(0, 1785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1788
 * 
 *     #: Maximum cubemap surface width
 *     cudaDevAttrMaxSurfaceCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap layered surface width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurfaceCubemapWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurfaceCubemapWidt, __pyx_t_4) < 0) __PYX_ERR(0, 1788, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1791
 * 
 *     #: Maximum cubemap layered surface width
 *     cudaDevAttrMaxSurfaceCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a cubemap layered surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurfaceCubemapLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurfaceCubemapLaye, __pyx_t_4) < 0) __PYX_ERR(0, 1791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1794
 * 
 *     #: Maximum layers in a cubemap layered surface
 *     cudaDevAttrMaxSurfaceCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredLayers             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D linear texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSurfaceCubemapLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSurfaceCubemapLaye_2, __pyx_t_4) < 0) __PYX_ERR(0, 1794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1797
 * 
 *     #: Maximum 1D linear texture width
 *     cudaDevAttrMaxTexture1DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLinearWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture1DLinearWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture1DLinearWid, __pyx_t_4) < 0) __PYX_ERR(0, 1797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1800
 * 
 *     #: Maximum 2D linear texture width
 *     cudaDevAttrMaxTexture2DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DLinearWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DLinearWid, __pyx_t_4) < 0) __PYX_ERR(0, 1800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1803
 * 
 *     #: Maximum 2D linear texture height
 *     cudaDevAttrMaxTexture2DLinearHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture pitch in bytes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DLinearHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DLinearHei, __pyx_t_4) < 0) __PYX_ERR(0, 1803, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1806
 * 
 *     #: Maximum 2D linear texture pitch in bytes
 *     cudaDevAttrMaxTexture2DLinearPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearPitch             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 2D texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DLinearPitch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DLinearPit, __pyx_t_4) < 0) __PYX_ERR(0, 1806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1809
 * 
 *     #: Maximum mipmapped 2D texture width
 *     cudaDevAttrMaxTexture2DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 2D texture height
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DMipmappedWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DMipmapped, __pyx_t_4) < 0) __PYX_ERR(0, 1809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1812
 * 
 *     #: Maximum mipmapped 2D texture height
 *     cudaDevAttrMaxTexture2DMipmappedHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedHeight             # <<<<<<<<<<<<<<
 * 
 *     #: Major compute capability version number
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture2DMipmappedHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture2DMipmapped_2, __pyx_t_4) < 0) __PYX_ERR(0, 1812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1815
 * 
 *     #: Major compute capability version number
 *     cudaDevAttrComputeCapabilityMajor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor             # <<<<<<<<<<<<<<
 * 
 *     #: Minor compute capability version number
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrComputeCapabilityMajor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrComputeCapabilityMajo, __pyx_t_4) < 0) __PYX_ERR(0, 1815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1818
 * 
 *     #: Minor compute capability version number
 *     cudaDevAttrComputeCapabilityMinor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 1D texture width
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrComputeCapabilityMinor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrComputeCapabilityMino, __pyx_t_4) < 0) __PYX_ERR(0, 1818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1821
 * 
 *     #: Maximum mipmapped 1D texture width
 *     cudaDevAttrMaxTexture1DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DMipmappedWidth             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports stream priorities
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTexture1DMipmappedWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTexture1DMipmapped, __pyx_t_4) < 0) __PYX_ERR(0, 1821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1824
 * 
 *     #: Device supports stream priorities
 *     cudaDevAttrStreamPrioritiesSupported = ccudart.cudaDeviceAttr.cudaDevAttrStreamPrioritiesSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports caching globals in L1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrStreamPrioritiesSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrStreamPrioritiesSuppo, __pyx_t_4) < 0) __PYX_ERR(0, 1824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1827
 * 
 *     #: Device supports caching globals in L1
 *     cudaDevAttrGlobalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrGlobalL1CacheSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports caching locals in L1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrGlobalL1CacheSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrGlobalL1CacheSupporte, __pyx_t_4) < 0) __PYX_ERR(0, 1827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1830
 * 
 *     #: Device supports caching locals in L1
 *     cudaDevAttrLocalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrLocalL1CacheSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum shared memory available per multiprocessor in bytes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrLocalL1CacheSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrLocalL1CacheSupported, __pyx_t_4) < 0) __PYX_ERR(0, 1830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1833
 * 
 *     #: Maximum shared memory available per multiprocessor in bytes
 *     cudaDevAttrMaxSharedMemoryPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerMultiprocessor             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of 32-bit registers available per multiprocessor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSharedMemoryPerMultiprocessor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSharedMemoryPerMul, __pyx_t_4) < 0) __PYX_ERR(0, 1833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1836
 * 
 *     #: Maximum number of 32-bit registers available per multiprocessor
 *     cudaDevAttrMaxRegistersPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerMultiprocessor             # <<<<<<<<<<<<<<
 * 
 *     #: Device can allocate managed memory on this system
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxRegistersPerMultiprocessor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxRegistersPerMultip, __pyx_t_4) < 0) __PYX_ERR(0, 1836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1839
 * 
 *     #: Device can allocate managed memory on this system
 *     cudaDevAttrManagedMemory = ccudart.cudaDeviceAttr.cudaDevAttrManagedMemory             # <<<<<<<<<<<<<<
 * 
 *     #: Device is on a multi-GPU board
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrManagedMemory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrManagedMemory, __pyx_t_4) < 0) __PYX_ERR(0, 1839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1842
 * 
 *     #: Device is on a multi-GPU board
 *     cudaDevAttrIsMultiGpuBoard = ccudart.cudaDeviceAttr.cudaDevAttrIsMultiGpuBoard             # <<<<<<<<<<<<<<
 * 
 *     #: Unique identifier for a group of devices on the same multi-GPU board
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrIsMultiGpuBoard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrIsMultiGpuBoard, __pyx_t_4) < 0) __PYX_ERR(0, 1842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1845
 * 
 *     #: Unique identifier for a group of devices on the same multi-GPU board
 *     cudaDevAttrMultiGpuBoardGroupID = ccudart.cudaDeviceAttr.cudaDevAttrMultiGpuBoardGroupID             # <<<<<<<<<<<<<<
 * 
 *     #: Link between the device and the host supports native atomic
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMultiGpuBoardGroupID); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMultiGpuBoardGroupID, __pyx_t_4) < 0) __PYX_ERR(0, 1845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1849
 *     #: Link between the device and the host supports native atomic
 *     #: operations
 *     cudaDevAttrHostNativeAtomicSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostNativeAtomicSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Ratio of single precision performance (in floating-point operations
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrHostNativeAtomicSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrHostNativeAtomicSuppo, __pyx_t_4) < 0) __PYX_ERR(0, 1849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1853
 *     #: Ratio of single precision performance (in floating-point operations
 *     #: per second) to double precision performance
 *     cudaDevAttrSingleToDoublePrecisionPerfRatio = ccudart.cudaDeviceAttr.cudaDevAttrSingleToDoublePrecisionPerfRatio             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports coherently accessing pageable memory without calling
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrSingleToDoublePrecisionPerfRatio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrSingleToDoublePrecisi, __pyx_t_4) < 0) __PYX_ERR(0, 1853, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1857
 *     #: Device supports coherently accessing pageable memory without calling
 *     #: cudaHostRegister on it
 *     cudaDevAttrPageableMemoryAccess = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccess             # <<<<<<<<<<<<<<
 * 
 *     #: Device can coherently access managed memory concurrently with the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrPageableMemoryAccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrPageableMemoryAccess, __pyx_t_4) < 0) __PYX_ERR(0, 1857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1861
 *     #: Device can coherently access managed memory concurrently with the
 *     #: CPU
 *     cudaDevAttrConcurrentManagedAccess = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentManagedAccess             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports Compute Preemption
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrConcurrentManagedAccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrConcurrentManagedAcce, __pyx_t_4) < 0) __PYX_ERR(0, 1861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1864
 * 
 *     #: Device supports Compute Preemption
 *     cudaDevAttrComputePreemptionSupported = ccudart.cudaDeviceAttr.cudaDevAttrComputePreemptionSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Device can access host registered memory at the same virtual address
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrComputePreemptionSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrComputePreemptionSupp, __pyx_t_4) < 0) __PYX_ERR(0, 1864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1868
 *     #: Device can access host registered memory at the same virtual address
 *     #: as the CPU
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem             # <<<<<<<<<<<<<<
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrCanUseHostPointerForRegisteredMem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrCanUseHostPointerForR, __pyx_t_4) < 0) __PYX_ERR(0, 1868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1869
 *     #: as the CPU
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92             # <<<<<<<<<<<<<<
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrReserved92); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrReserved92, __pyx_t_4) < 0) __PYX_ERR(0, 1869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1870
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93             # <<<<<<<<<<<<<<
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrReserved93); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrReserved93, __pyx_t_4) < 0) __PYX_ERR(0, 1870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1871
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports launching cooperative kernels via
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrReserved94); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrReserved94, __pyx_t_4) < 0) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1875
 *     #: Device supports launching cooperative kernels via
 *     #: :py:obj:`~.cudaLaunchCooperativeKernel`
 *     cudaDevAttrCooperativeLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeLaunch             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, cudaLaunchCooperativeKernelMultiDevice is deprecated.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrCooperativeLaunch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrCooperativeLaunch, __pyx_t_4) < 0) __PYX_ERR(0, 1875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1878
 * 
 *     #: Deprecated, cudaLaunchCooperativeKernelMultiDevice is deprecated.
 *     cudaDevAttrCooperativeMultiDeviceLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeMultiDeviceLaunch             # <<<<<<<<<<<<<<
 * 
 *     #: The maximum optin shared memory per block. This value may vary by
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrCooperativeMultiDeviceLaunch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrCooperativeMultiDevic, __pyx_t_4) < 0) __PYX_ERR(0, 1878, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1882
 *     #: The maximum optin shared memory per block. This value may vary by
 *     #: chip. See :py:obj:`~.cudaFuncSetAttribute`
 *     cudaDevAttrMaxSharedMemoryPerBlockOptin = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlockOptin             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports flushing of outstanding remote writes.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxSharedMemoryPerBlockOptin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxSharedMemoryPerBlo_2, __pyx_t_4) < 0) __PYX_ERR(0, 1882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1885
 * 
 *     #: Device supports flushing of outstanding remote writes.
 *     cudaDevAttrCanFlushRemoteWrites = ccudart.cudaDeviceAttr.cudaDevAttrCanFlushRemoteWrites             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports host memory registration via
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrCanFlushRemoteWrites); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrCanFlushRemoteWrites, __pyx_t_4) < 0) __PYX_ERR(0, 1885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1889
 *     #: Device supports host memory registration via
 *     #: :py:obj:`~.cudaHostRegister`.
 *     cudaDevAttrHostRegisterSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Device accesses pageable memory via the host's page tables.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrHostRegisterSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrHostRegisterSupported, __pyx_t_4) < 0) __PYX_ERR(0, 1889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1892
 * 
 *     #: Device accesses pageable memory via the host's page tables.
 *     cudaDevAttrPageableMemoryAccessUsesHostPageTables = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccessUsesHostPageTables             # <<<<<<<<<<<<<<
 * 
 *     #: Host can directly access managed memory on the device without
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrPageableMemoryAccessUsesHostPageTables); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrPageableMemoryAccessU, __pyx_t_4) < 0) __PYX_ERR(0, 1892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1896
 *     #: Host can directly access managed memory on the device without
 *     #: migration.
 *     cudaDevAttrDirectManagedMemAccessFromHost = ccudart.cudaDeviceAttr.cudaDevAttrDirectManagedMemAccessFromHost             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of blocks per multiprocessor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrDirectManagedMemAccessFromHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrDirectManagedMemAcces, __pyx_t_4) < 0) __PYX_ERR(0, 1896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1899
 * 
 *     #: Maximum number of blocks per multiprocessor
 *     cudaDevAttrMaxBlocksPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlocksPerMultiprocessor             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum L2 persisting lines capacity setting in bytes.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxBlocksPerMultiprocessor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxBlocksPerMultiproc, __pyx_t_4) < 0) __PYX_ERR(0, 1899, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1902
 * 
 *     #: Maximum L2 persisting lines capacity setting in bytes.
 *     cudaDevAttrMaxPersistingL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxPersistingL2CacheSize             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum value of :py:obj:`~.cudaAccessPolicyWindow.num_bytes`.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxPersistingL2CacheSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxPersistingL2CacheS, __pyx_t_4) < 0) __PYX_ERR(0, 1902, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1905
 * 
 *     #: Maximum value of :py:obj:`~.cudaAccessPolicyWindow.num_bytes`.
 *     cudaDevAttrMaxAccessPolicyWindowSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxAccessPolicyWindowSize             # <<<<<<<<<<<<<<
 * 
 *     #: Shared memory reserved by CUDA driver per block in bytes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxAccessPolicyWindowSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxAccessPolicyWindow, __pyx_t_4) < 0) __PYX_ERR(0, 1905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1908
 * 
 *     #: Shared memory reserved by CUDA driver per block in bytes
 *     cudaDevAttrReservedSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrReservedSharedMemoryPerBlock             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrReservedSharedMemoryPerBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrReservedSharedMemoryP, __pyx_t_4) < 0) __PYX_ERR(0, 1908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1911
 * 
 *     #: Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays
 *     cudaDevAttrSparseCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrSparseCudaArraySupported             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports using the :py:obj:`~.cudaHostRegister` flag
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrSparseCudaArraySupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrSparseCudaArraySuppor, __pyx_t_4) < 0) __PYX_ERR(0, 1911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1916
 *     #: cudaHostRegisterReadOnly to register memory that must be mapped as
 *     #: read-only to the GPU
 *     cudaDevAttrHostRegisterReadOnlySupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterReadOnlySupported             # <<<<<<<<<<<<<<
 * 
 *     #: External timeline semaphore interop is supported on the device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrHostRegisterReadOnlySupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrHostRegisterReadOnlyS, __pyx_t_4) < 0) __PYX_ERR(0, 1916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1919
 * 
 *     #: External timeline semaphore interop is supported on the device
 *     cudaDevAttrTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrTimelineSemaphoreInteropSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, External timeline semaphore interop is supported on the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrTimelineSemaphoreInteropSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrTimelineSemaphoreInte, __pyx_t_4) < 0) __PYX_ERR(0, 1919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1923
 *     #: Deprecated, External timeline semaphore interop is supported on the
 *     #: device
 *     cudaDevAttrMaxTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrMaxTimelineSemaphoreInteropSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports using the :py:obj:`~.cudaMallocAsync` and
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMaxTimelineSemaphoreInteropSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMaxTimelineSemaphoreI, __pyx_t_4) < 0) __PYX_ERR(0, 1923, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1927
 *     #: Device supports using the :py:obj:`~.cudaMallocAsync` and
 *     #: :py:obj:`~.cudaMemPool` family of APIs
 *     cudaDevAttrMemoryPoolsSupported = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolsSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMemoryPoolsSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMemoryPoolsSupported, __pyx_t_4) < 0) __PYX_ERR(0, 1927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1931
 *     #: Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see
 *     #: https://docs.nvidia.com/cuda/gpudirect-rdma for more information)
 *     cudaDevAttrGPUDirectRDMASupported = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMASupported             # <<<<<<<<<<<<<<
 * 
 *     #: The returned attribute shall be interpreted as a bitmask, where the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrGPUDirectRDMASupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrGPUDirectRDMASupporte, __pyx_t_4) < 0) __PYX_ERR(0, 1931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1936
 *     #: individual bits are listed in the
 *     #: :py:obj:`~.cudaFlushGPUDirectRDMAWritesOptions` enum
 *     cudaDevAttrGPUDirectRDMAFlushWritesOptions = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAFlushWritesOptions             # <<<<<<<<<<<<<<
 * 
 *     #: GPUDirect RDMA writes to the device do not need to be flushed for
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrGPUDirectRDMAFlushWritesOptions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrGPUDirectRDMAFlushWri, __pyx_t_4) < 0) __PYX_ERR(0, 1936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1942
 *     #: :py:obj:`~.cudaGPUDirectRDMAWritesOrdering` for the numerical values
 *     #: returned here.
 *     cudaDevAttrGPUDirectRDMAWritesOrdering = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAWritesOrdering             # <<<<<<<<<<<<<<
 * 
 *     #: Handle types supported with mempool based IPC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrGPUDirectRDMAWritesOrdering); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrGPUDirectRDMAWritesOr, __pyx_t_4) < 0) __PYX_ERR(0, 1942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1945
 * 
 *     #: Handle types supported with mempool based IPC
 *     cudaDevAttrMemoryPoolSupportedHandleTypes = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolSupportedHandleTypes             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates device supports cluster launch
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMemoryPoolSupportedHandleTypes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMemoryPoolSupportedHa, __pyx_t_4) < 0) __PYX_ERR(0, 1945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1948
 * 
 *     #: Indicates device supports cluster launch
 *     cudaDevAttrClusterLaunch = ccudart.cudaDeviceAttr.cudaDevAttrClusterLaunch             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports deferred mapping CUDA arrays and CUDA mipmapped
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrClusterLaunch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrClusterLaunch, __pyx_t_4) < 0) __PYX_ERR(0, 1948, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1952
 *     #: Device supports deferred mapping CUDA arrays and CUDA mipmapped
 *     #: arrays
 *     cudaDevAttrDeferredMappingCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrDeferredMappingCudaArraySupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrDeferredMappingCudaArraySupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrDeferredMappingCudaAr, __pyx_t_4) < 0) __PYX_ERR(0, 1952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1953
 *     #: arrays
 *     cudaDevAttrDeferredMappingCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrDeferredMappingCudaArraySupported
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax             # <<<<<<<<<<<<<<
 * 
 * class cudaMemPoolAttr(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceAttr(cudaDevAttrMax); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevAttrMax, __pyx_t_4) < 0) __PYX_ERR(0, 1953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1589
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 * class cudaDeviceAttr(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device attributes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaDeviceAttr, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceAttr, __pyx_t_4) < 0) __PYX_ERR(0, 1589, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1955
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax
 * 
 * class cudaMemPoolAttr(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory pool attributes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaMemPoolAttr, __pyx_n_s_cudaMemPoolAttr, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_memory_pool_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":1965
 *     #: events and null stream interactions can create the required stream
 *     #: ordered dependencies. (default enabled)
 *     cudaMemPoolReuseFollowEventDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseFollowEventDependencies             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = int) Allow reuse of already completed frees when there
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolReuseFollowEventDependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolReuseFollowEventDepen, __pyx_t_4) < 0) __PYX_ERR(0, 1965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1969
 *     #: (value type = int) Allow reuse of already completed frees when there
 *     #: is no dependency between the free and allocation. (default enabled)
 *     cudaMemPoolReuseAllowOpportunistic = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = int) Allow cuMemAllocAsync to insert new stream
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolReuseAllowOpportunistic); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolReuseAllowOpportunist, __pyx_t_4) < 0) __PYX_ERR(0, 1969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1974
 *     #: dependencies in order to establish the stream ordering required to
 *     #: reuse a piece of memory released by cuFreeAsync (default enabled).
 *     cudaMemPoolReuseAllowInternalDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowInternalDependencies             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of reserved memory in bytes to hold
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolReuseAllowInternalDependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolReuseAllowInternalDep, __pyx_t_4) < 0) __PYX_ERR(0, 1974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1981
 *     #: the allocator will try to release memory back to the OS on the next
 *     #: call to stream, event or context synchronize. (default 0)
 *     cudaMemPoolAttrReleaseThreshold = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReleaseThreshold             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of backing memory currently
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolAttrReleaseThreshold); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolAttrReleaseThreshold, __pyx_t_4) < 0) __PYX_ERR(0, 1981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1985
 *     #: (value type = cuuint64_t) Amount of backing memory currently
 *     #: allocated for the mempool.
 *     cudaMemPoolAttrReservedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemCurrent             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of backing memory allocated
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolAttrReservedMemCurrent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolAttrReservedMemCurren, __pyx_t_4) < 0) __PYX_ERR(0, 1985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1990
 *     #: for the mempool since the last time it was reset. High watermark can
 *     #: only be reset to zero.
 *     cudaMemPoolAttrReservedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemHigh             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of memory from the pool that is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolAttrReservedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolAttrReservedMemHigh, __pyx_t_4) < 0) __PYX_ERR(0, 1990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1994
 *     #: (value type = cuuint64_t) Amount of memory from the pool that is
 *     #: currently in use by the application.
 *     cudaMemPoolAttrUsedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemCurrent             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of the amount of memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolAttrUsedMemCurrent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolAttrUsedMemCurrent, __pyx_t_4) < 0) __PYX_ERR(0, 1994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1999
 *     #: 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.
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh             # <<<<<<<<<<<<<<
 * 
 * class cudaMemLocationType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemPoolAttr(cudaMemPoolAttrUsedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemPoolAttrUsedMemHigh, __pyx_t_4) < 0) __PYX_ERR(0, 1999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":1955
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax
 * 
 * class cudaMemPoolAttr(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory pool attributes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaMemPoolAttr, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolAttr, __pyx_t_4) < 0) __PYX_ERR(0, 1955, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2001
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh
 * 
 * class cudaMemLocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the type of location
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaMemLocationType, __pyx_n_s_cudaMemLocationType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Specifies_the_type_of_location); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2005
 *     Specifies the type of location
 *     """
 *     cudaMemLocationTypeInvalid = ccudart.cudaMemLocationType.cudaMemLocationTypeInvalid             # <<<<<<<<<<<<<<
 * 
 *     #: Location is a device location, thus id is a device ordinal
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemLocationType(cudaMemLocationTypeInvalid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemLocationTypeInvalid, __pyx_t_4) < 0) __PYX_ERR(0, 2005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2008
 * 
 *     #: Location is a device location, thus id is a device ordinal
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice             # <<<<<<<<<<<<<<
 * 
 * class cudaMemAccessFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemLocationType(cudaMemLocationTypeDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemLocationTypeDevice, __pyx_t_4) < 0) __PYX_ERR(0, 2008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2001
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh
 * 
 * class cudaMemLocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the type of location
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaMemLocationType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemLocationType, __pyx_t_4) < 0) __PYX_ERR(0, 2001, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2010
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice
 * 
 * class cudaMemAccessFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the memory protection flags for mapping.
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaMemAccessFlags, __pyx_n_s_cudaMemAccessFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Specifies_the_memory_protection); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2016
 * 
 *     #: Default, make the address range not accessible
 *     cudaMemAccessFlagsProtNone = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtNone             # <<<<<<<<<<<<<<
 * 
 *     #: Make the address range read accessible
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAccessFlags(cudaMemAccessFlagsProtNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAccessFlagsProtNone, __pyx_t_4) < 0) __PYX_ERR(0, 2016, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2019
 * 
 *     #: Make the address range read accessible
 *     cudaMemAccessFlagsProtRead = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtRead             # <<<<<<<<<<<<<<
 * 
 *     #: Make the address range read-write accessible
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAccessFlags(cudaMemAccessFlagsProtRead); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAccessFlagsProtRead, __pyx_t_4) < 0) __PYX_ERR(0, 2019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2022
 * 
 *     #: Make the address range read-write accessible
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite             # <<<<<<<<<<<<<<
 * 
 * class cudaMemAllocationType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAccessFlags(cudaMemAccessFlagsProtReadWrite); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAccessFlagsProtReadWrite, __pyx_t_4) < 0) __PYX_ERR(0, 2022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2010
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice
 * 
 * class cudaMemAccessFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the memory protection flags for mapping.
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaMemAccessFlags, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAccessFlags, __pyx_t_4) < 0) __PYX_ERR(0, 2010, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2024
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite
 * 
 * class cudaMemAllocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Defines the allocation types available
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaMemAllocationType, __pyx_n_s_cudaMemAllocationType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Defines_the_allocation_types_av); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2028
 *     Defines the allocation types available
 *     """
 *     cudaMemAllocationTypeInvalid = ccudart.cudaMemAllocationType.cudaMemAllocationTypeInvalid             # <<<<<<<<<<<<<<
 * 
 *     #: This allocation type is 'pinned', i.e. cannot migrate from its
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAllocationType(cudaMemAllocationTypeInvalid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAllocationTypeInvalid, __pyx_t_4) < 0) __PYX_ERR(0, 2028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2032
 *     #: This allocation type is 'pinned', i.e. cannot migrate from its
 *     #: current location while the application is actively using it
 *     cudaMemAllocationTypePinned = ccudart.cudaMemAllocationType.cudaMemAllocationTypePinned             # <<<<<<<<<<<<<<
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAllocationType(cudaMemAllocationTypePinned); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAllocationTypePinned, __pyx_t_4) < 0) __PYX_ERR(0, 2032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2033
 *     #: current location while the application is actively using it
 *     cudaMemAllocationTypePinned = ccudart.cudaMemAllocationType.cudaMemAllocationTypePinned
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax             # <<<<<<<<<<<<<<
 * 
 * class cudaMemAllocationHandleType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAllocationType(cudaMemAllocationTypeMax); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemAllocationTypeMax, __pyx_t_4) < 0) __PYX_ERR(0, 2033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2024
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite
 * 
 * class cudaMemAllocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Defines the allocation types available
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaMemAllocationType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAllocationType, __pyx_t_4) < 0) __PYX_ERR(0, 2024, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2035
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax
 * 
 * class cudaMemAllocationHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for specifying particular handle types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaMemAllocationHandleType, __pyx_n_s_cudaMemAllocationHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Flags_for_specifying_particular); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2041
 * 
 *     #: Does not allow any export mechanism. >
 *     cudaMemHandleTypeNone = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeNone             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a file descriptor to be used for exporting. Permitted only on
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAllocationHandleType(cudaMemHandleTypeNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemHandleTypeNone, __pyx_t_4) < 0) __PYX_ERR(0, 2041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2045
 *     #: Allows a file descriptor to be used for exporting. Permitted only on
 *     #: POSIX systems. (int)
 *     cudaMemHandleTypePosixFileDescriptor = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a Win32 NT handle to be used for exporting. (HANDLE)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAllocationHandleType(cudaMemHandleTypePosixFileDescriptor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemHandleTypePosixFileDescri, __pyx_t_4) < 0) __PYX_ERR(0, 2045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2048
 * 
 *     #: Allows a Win32 NT handle to be used for exporting. (HANDLE)
 *     cudaMemHandleTypeWin32 = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE)
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAllocationHandleType(cudaMemHandleTypeWin32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemHandleTypeWin32, __pyx_t_4) < 0) __PYX_ERR(0, 2048, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2051
 * 
 *     #: Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE)
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphMemAttributeType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaMemAllocationHandleType(cudaMemHandleTypeWin32Kmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaMemHandleTypeWin32Kmt, __pyx_t_4) < 0) __PYX_ERR(0, 2051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2035
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax
 * 
 * class cudaMemAllocationHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for specifying particular handle types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaMemAllocationHandleType, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAllocationHandleType, __pyx_t_4) < 0) __PYX_ERR(0, 2035, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2053
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt
 * 
 * class cudaGraphMemAttributeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph memory attributes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaGraphMemAttributeType, __pyx_n_s_cudaGraphMemAttributeType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Graph_memory_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2060
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 *     #: associated with graphs.
 *     cudaGraphMemAttrUsedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemCurrent             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of memory, in bytes,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphMemAttributeType(cudaGraphMemAttrUsedMemCurrent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphMemAttrUsedMemCurrent, __pyx_t_4) < 0) __PYX_ERR(0, 2060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2065
 *     #: associated with graphs since the last time it was reset. High
 *     #: watermark can only be reset to zero.
 *     cudaGraphMemAttrUsedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphMemAttributeType(cudaGraphMemAttrUsedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphMemAttrUsedMemHigh, __pyx_t_4) < 0) __PYX_ERR(0, 2065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2069
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 *     #: allocated for use by the CUDA graphs asynchronous allocator.
 *     cudaGraphMemAttrReservedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemCurrent             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of memory, in bytes,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphMemAttributeType(cudaGraphMemAttrReservedMemCurrent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphMemAttrReservedMemCurre, __pyx_t_4) < 0) __PYX_ERR(0, 2069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2074
 *     #: currently allocated for use by the CUDA graphs asynchronous
 *     #: allocator.
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh             # <<<<<<<<<<<<<<
 * 
 * class cudaDeviceP2PAttr(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphMemAttributeType(cudaGraphMemAttrReservedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphMemAttrReservedMemHigh, __pyx_t_4) < 0) __PYX_ERR(0, 2074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2053
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt
 * 
 * class cudaGraphMemAttributeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph memory attributes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaGraphMemAttributeType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemAttributeType, __pyx_t_4) < 0) __PYX_ERR(0, 2053, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2076
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh
 * 
 * class cudaDeviceP2PAttr(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device P2P attributes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaDeviceP2PAttr, __pyx_n_s_cudaDeviceP2PAttr, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_device_P2P_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2083
 *     #: A relative value indicating the performance of the link between two
 *     #: devices
 *     cudaDevP2PAttrPerformanceRank = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrPerformanceRank             # <<<<<<<<<<<<<<
 * 
 *     #: Peer access is enabled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceP2PAttr(cudaDevP2PAttrPerformanceRank); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevP2PAttrPerformanceRank, __pyx_t_4) < 0) __PYX_ERR(0, 2083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2086
 * 
 *     #: Peer access is enabled
 *     cudaDevP2PAttrAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Native atomic operation over the link supported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceP2PAttr(cudaDevP2PAttrAccessSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevP2PAttrAccessSupported, __pyx_t_4) < 0) __PYX_ERR(0, 2086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2089
 * 
 *     #: Native atomic operation over the link supported
 *     cudaDevP2PAttrNativeAtomicSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrNativeAtomicSupported             # <<<<<<<<<<<<<<
 * 
 *     #: Accessing CUDA arrays over the link supported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceP2PAttr(cudaDevP2PAttrNativeAtomicSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevP2PAttrNativeAtomicSuppor, __pyx_t_4) < 0) __PYX_ERR(0, 2089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2092
 * 
 *     #: Accessing CUDA arrays over the link supported
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported             # <<<<<<<<<<<<<<
 * 
 * class cudaExternalMemoryHandleType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDeviceP2PAttr(cudaDevP2PAttrCudaArrayAccessSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaDevP2PAttrCudaArrayAccessSup, __pyx_t_4) < 0) __PYX_ERR(0, 2092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2076
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh
 * 
 * class cudaDeviceP2PAttr(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device P2P attributes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaDeviceP2PAttr, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceP2PAttr, __pyx_t_4) < 0) __PYX_ERR(0, 2076, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2094
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported
 * 
 * class cudaExternalMemoryHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaExternalMemoryHandleType, __pyx_n_s_cudaExternalMemoryHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_External_memory_handle_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2100
 * 
 *     #: Handle is an opaque file descriptor
 *     cudaExternalMemoryHandleTypeOpaqueFd = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueFd             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeOpaqueFd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeOpaq, __pyx_t_4) < 0) __PYX_ERR(0, 2100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2103
 * 
 *     #: Handle is an opaque shared NT handle
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque, globally shared handle
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeOpaqueWin32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeOpaq_2, __pyx_t_4) < 0) __PYX_ERR(0, 2103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2106
 * 
 *     #: Handle is an opaque, globally shared handle
 *     cudaExternalMemoryHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32Kmt             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a D3D12 heap object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeOpaqueWin32Kmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeOpaq_3, __pyx_t_4) < 0) __PYX_ERR(0, 2106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2109
 * 
 *     #: Handle is a D3D12 heap object
 *     cudaExternalMemoryHandleTypeD3D12Heap = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Heap             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a D3D12 committed resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeD3D12Heap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeD3D1, __pyx_t_4) < 0) __PYX_ERR(0, 2109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2112
 * 
 *     #: Handle is a D3D12 committed resource
 *     cudaExternalMemoryHandleTypeD3D12Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Resource             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle to a D3D11 resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeD3D12Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeD3D1_2, __pyx_t_4) < 0) __PYX_ERR(0, 2112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2115
 * 
 *     #: Handle is a shared NT handle to a D3D11 resource
 *     cudaExternalMemoryHandleTypeD3D11Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11Resource             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a globally shared handle to a D3D11 resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeD3D11Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeD3D1_3, __pyx_t_4) < 0) __PYX_ERR(0, 2115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2118
 * 
 *     #: Handle is a globally shared handle to a D3D11 resource
 *     cudaExternalMemoryHandleTypeD3D11ResourceKmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11ResourceKmt             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an NvSciBuf object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeD3D11ResourceKmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeD3D1_4, __pyx_t_4) < 0) __PYX_ERR(0, 2118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2121
 * 
 *     #: Handle is an NvSciBuf object
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf             # <<<<<<<<<<<<<<
 * 
 * class cudaExternalSemaphoreHandleType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(cudaExternalMemoryHandleTypeNvSciBuf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalMemoryHandleTypeNvSc, __pyx_t_4) < 0) __PYX_ERR(0, 2121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2094
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported
 * 
 * class cudaExternalMemoryHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaExternalMemoryHandleType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalMemoryHandleType, __pyx_t_4) < 0) __PYX_ERR(0, 2094, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2123
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf
 * 
 * class cudaExternalSemaphoreHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaExternalSemaphoreHandleType, __pyx_n_s_cudaExternalSemaphoreHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_External_semaphore_handle_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2129
 * 
 *     #: Handle is an opaque file descriptor
 *     cudaExternalSemaphoreHandleTypeOpaqueFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueFd             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeOpaqueFd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeO, __pyx_t_4) < 0) __PYX_ERR(0, 2129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2132
 * 
 *     #: Handle is an opaque shared NT handle
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque, globally shared handle
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeOpaqueWin32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeO_2, __pyx_t_4) < 0) __PYX_ERR(0, 2132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2135
 * 
 *     #: Handle is an opaque, globally shared handle
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D12 fence object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeO_3, __pyx_t_4) < 0) __PYX_ERR(0, 2135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2138
 * 
 *     #: Handle is a shared NT handle referencing a D3D12 fence object
 *     cudaExternalSemaphoreHandleTypeD3D12Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D12Fence             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 fence object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeD3D12Fence); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeD, __pyx_t_4) < 0) __PYX_ERR(0, 2138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2141
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 fence object
 *     cudaExternalSemaphoreHandleTypeD3D11Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D11Fence             # <<<<<<<<<<<<<<
 * 
 *     #: Opaque handle to NvSciSync Object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeD3D11Fence); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeD_2, __pyx_t_4) < 0) __PYX_ERR(0, 2141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2144
 * 
 *     #: Opaque handle to NvSciSync Object
 *     cudaExternalSemaphoreHandleTypeNvSciSync = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeNvSciSync             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 keyed mutex object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeNvSciSync); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeN, __pyx_t_4) < 0) __PYX_ERR(0, 2144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2147
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 keyed mutex object
 *     cudaExternalSemaphoreHandleTypeKeyedMutex = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutex             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared KMT handle referencing a D3D11 keyed mutex object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeKeyedMutex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeK, __pyx_t_4) < 0) __PYX_ERR(0, 2147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2150
 * 
 *     #: Handle is a shared KMT handle referencing a D3D11 keyed mutex object
 *     cudaExternalSemaphoreHandleTypeKeyedMutexKmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutexKmt             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque handle file descriptor referencing a timeline
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeKeyedMutexKmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeK_2, __pyx_t_4) < 0) __PYX_ERR(0, 2150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2154
 *     #: Handle is an opaque handle file descriptor referencing a timeline
 *     #: semaphore
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque handle file descriptor referencing a timeline
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeT, __pyx_t_4) < 0) __PYX_ERR(0, 2154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2158
 *     #: Handle is an opaque handle file descriptor referencing a timeline
 *     #: semaphore
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32             # <<<<<<<<<<<<<<
 * 
 * class cudaCGScope(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaExternalSemaphoreHandleTypeT_2, __pyx_t_4) < 0) __PYX_ERR(0, 2158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2123
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf
 * 
 * class cudaExternalSemaphoreHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaExternalSemaphoreHandleType, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalSemaphoreHandleType, __pyx_t_4) < 0) __PYX_ERR(0, 2123, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2160
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32
 * 
 * class cudaCGScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA cooperative group scope
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaCGScope, __pyx_n_s_cudaCGScope, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_cooperative_group_scope); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2166
 * 
 *     #: Invalid cooperative group scope
 *     cudaCGScopeInvalid = ccudart.cudaCGScope.cudaCGScopeInvalid             # <<<<<<<<<<<<<<
 * 
 *     #: Scope represented by a grid_group
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaCGScope(cudaCGScopeInvalid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaCGScopeInvalid, __pyx_t_4) < 0) __PYX_ERR(0, 2166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2169
 * 
 *     #: Scope represented by a grid_group
 *     cudaCGScopeGrid = ccudart.cudaCGScope.cudaCGScopeGrid             # <<<<<<<<<<<<<<
 * 
 *     #: Scope represented by a multi_grid_group
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaCGScope(cudaCGScopeGrid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaCGScopeGrid, __pyx_t_4) < 0) __PYX_ERR(0, 2169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2172
 * 
 *     #: Scope represented by a multi_grid_group
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphNodeType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaCGScope(cudaCGScopeMultiGrid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaCGScopeMultiGrid, __pyx_t_4) < 0) __PYX_ERR(0, 2172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2160
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32
 * 
 * class cudaCGScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA cooperative group scope
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaCGScope, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCGScope, __pyx_t_4) < 0) __PYX_ERR(0, 2160, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2174
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid
 * 
 * class cudaGraphNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph node types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGraphNodeType, __pyx_n_s_cudaGraphNodeType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Graph_node_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2180
 * 
 *     #: GPU kernel node
 *     cudaGraphNodeTypeKernel = ccudart.cudaGraphNodeType.cudaGraphNodeTypeKernel             # <<<<<<<<<<<<<<
 * 
 *     #: Memcpy node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeKernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeKernel, __pyx_t_4) < 0) __PYX_ERR(0, 2180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2183
 * 
 *     #: Memcpy node
 *     cudaGraphNodeTypeMemcpy = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemcpy             # <<<<<<<<<<<<<<
 * 
 *     #: Memset node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeMemcpy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeMemcpy, __pyx_t_4) < 0) __PYX_ERR(0, 2183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2186
 * 
 *     #: Memset node
 *     cudaGraphNodeTypeMemset = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemset             # <<<<<<<<<<<<<<
 * 
 *     #: Host (executable) node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeMemset); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeMemset, __pyx_t_4) < 0) __PYX_ERR(0, 2186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2189
 * 
 *     #: Host (executable) node
 *     cudaGraphNodeTypeHost = ccudart.cudaGraphNodeType.cudaGraphNodeTypeHost             # <<<<<<<<<<<<<<
 * 
 *     #: Node which executes an embedded graph
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeHost, __pyx_t_4) < 0) __PYX_ERR(0, 2189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2192
 * 
 *     #: Node which executes an embedded graph
 *     cudaGraphNodeTypeGraph = ccudart.cudaGraphNodeType.cudaGraphNodeTypeGraph             # <<<<<<<<<<<<<<
 * 
 *     #: Empty (no-op) node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeGraph, __pyx_t_4) < 0) __PYX_ERR(0, 2192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2195
 * 
 *     #: Empty (no-op) node
 *     cudaGraphNodeTypeEmpty = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEmpty             # <<<<<<<<<<<<<<
 * 
 *     #: External event wait node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeEmpty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeEmpty, __pyx_t_4) < 0) __PYX_ERR(0, 2195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2198
 * 
 *     #: External event wait node
 *     cudaGraphNodeTypeWaitEvent = ccudart.cudaGraphNodeType.cudaGraphNodeTypeWaitEvent             # <<<<<<<<<<<<<<
 * 
 *     #: External event record node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeWaitEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeWaitEvent, __pyx_t_4) < 0) __PYX_ERR(0, 2198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2201
 * 
 *     #: External event record node
 *     cudaGraphNodeTypeEventRecord = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEventRecord             # <<<<<<<<<<<<<<
 * 
 *     #: External semaphore signal node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeEventRecord); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeEventRecord, __pyx_t_4) < 0) __PYX_ERR(0, 2201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2204
 * 
 *     #: External semaphore signal node
 *     cudaGraphNodeTypeExtSemaphoreSignal = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreSignal             # <<<<<<<<<<<<<<
 * 
 *     #: External semaphore wait node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeExtSemaphoreSignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeExtSemaphoreSig, __pyx_t_4) < 0) __PYX_ERR(0, 2204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2207
 * 
 *     #: External semaphore wait node
 *     cudaGraphNodeTypeExtSemaphoreWait = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreWait             # <<<<<<<<<<<<<<
 * 
 *     #: Memory allocation node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeExtSemaphoreWait); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeExtSemaphoreWai, __pyx_t_4) < 0) __PYX_ERR(0, 2207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2210
 * 
 *     #: Memory allocation node
 *     cudaGraphNodeTypeMemAlloc = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemAlloc             # <<<<<<<<<<<<<<
 * 
 *     #: Memory free node
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeMemAlloc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeMemAlloc, __pyx_t_4) < 0) __PYX_ERR(0, 2210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2213
 * 
 *     #: Memory free node
 *     cudaGraphNodeTypeMemFree = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemFree             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeMemFree); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeMemFree, __pyx_t_4) < 0) __PYX_ERR(0, 2213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2214
 *     #: Memory free node
 *     cudaGraphNodeTypeMemFree = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemFree
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphExecUpdateResult(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphNodeType(cudaGraphNodeTypeCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphNodeTypeCount, __pyx_t_4) < 0) __PYX_ERR(0, 2214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2174
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid
 * 
 * class cudaGraphNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph node types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGraphNodeType, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeType, __pyx_t_4) < 0) __PYX_ERR(0, 2174, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2216
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount
 * 
 * class cudaGraphExecUpdateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph Update error types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaGraphExecUpdateResult, __pyx_n_s_cudaGraphExecUpdateResult, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Graph_Update_error_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2222
 * 
 *     #: The update succeeded
 *     cudaGraphExecUpdateSuccess = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateSuccess             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed for an unexpected reason which is described in the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateSuccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateSuccess, __pyx_t_4) < 0) __PYX_ERR(0, 2222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2226
 *     #: The update failed for an unexpected reason which is described in the
 *     #: return value of the function
 *     cudaGraphExecUpdateError = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateError             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the topology changed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateError, __pyx_t_4) < 0) __PYX_ERR(0, 2226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2229
 * 
 *     #: The update failed because the topology changed
 *     cudaGraphExecUpdateErrorTopologyChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorTopologyChanged             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because a node type changed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateErrorTopologyChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateErrorTopology, __pyx_t_4) < 0) __PYX_ERR(0, 2229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2232
 * 
 *     #: The update failed because a node type changed
 *     cudaGraphExecUpdateErrorNodeTypeChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNodeTypeChanged             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the function of a kernel node changed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateErrorNodeTypeChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateErrorNodeType, __pyx_t_4) < 0) __PYX_ERR(0, 2232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2236
 *     #: The update failed because the function of a kernel node changed
 *     #: (CUDA driver < 11.2)
 *     cudaGraphExecUpdateErrorFunctionChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorFunctionChanged             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the parameters changed in a way that is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateErrorFunctionChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateErrorFunction, __pyx_t_4) < 0) __PYX_ERR(0, 2236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2240
 *     #: The update failed because the parameters changed in a way that is
 *     #: not supported
 *     cudaGraphExecUpdateErrorParametersChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorParametersChanged             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because something about the node is not supported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateErrorParametersChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateErrorParamete, __pyx_t_4) < 0) __PYX_ERR(0, 2240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2243
 * 
 *     #: The update failed because something about the node is not supported
 *     cudaGraphExecUpdateErrorNotSupported = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNotSupported             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the function of a kernel node changed in
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateErrorNotSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateErrorNotSuppo, __pyx_t_4) < 0) __PYX_ERR(0, 2243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2247
 *     #: The update failed because the function of a kernel node changed in
 *     #: an unsupported way
 *     cudaGraphExecUpdateErrorUnsupportedFunctionChange = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorUnsupportedFunctionChange             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the node attributes changed in a way that
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateErrorUnsupportedFunctionChange); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateErrorUnsuppor, __pyx_t_4) < 0) __PYX_ERR(0, 2247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2251
 *     #: The update failed because the node attributes changed in a way that
 *     #: is not supported
 *     cudaGraphExecUpdateErrorAttributesChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorAttributesChanged             # <<<<<<<<<<<<<<
 * 
 * class cudaGetDriverEntryPointFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(cudaGraphExecUpdateErrorAttributesChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphExecUpdateErrorAttribut, __pyx_t_4) < 0) __PYX_ERR(0, 2251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2216
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount
 * 
 * class cudaGraphExecUpdateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph Update error types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaGraphExecUpdateResult, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecUpdateResult, __pyx_t_4) < 0) __PYX_ERR(0, 2216, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2253
 *     cudaGraphExecUpdateErrorAttributesChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorAttributesChanged
 * 
 * class cudaGetDriverEntryPointFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify search options to be used with
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGetDriverEntryPointFlags, __pyx_n_s_cudaGetDriverEntryPointFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Flags_to_specify_search_options); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2261
 * 
 *     #: Default search mode for driver symbols.
 *     cudaEnableDefault = ccudart.cudaGetDriverEntryPointFlags.cudaEnableDefault             # <<<<<<<<<<<<<<
 * 
 *     #: Search for legacy versions of driver symbols.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGetDriverEntryPointFlags(cudaEnableDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEnableDefault, __pyx_t_4) < 0) __PYX_ERR(0, 2261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2264
 * 
 *     #: Search for legacy versions of driver symbols.
 *     cudaEnableLegacyStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnableLegacyStream             # <<<<<<<<<<<<<<
 * 
 *     #: Search for per-thread versions of driver symbols.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGetDriverEntryPointFlags(cudaEnableLegacyStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEnableLegacyStream, __pyx_t_4) < 0) __PYX_ERR(0, 2264, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2267
 * 
 *     #: Search for per-thread versions of driver symbols.
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphDebugDotFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGetDriverEntryPointFlags(cudaEnablePerThreadDefaultStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEnablePerThreadDefaultStream, __pyx_t_4) < 0) __PYX_ERR(0, 2267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2253
 *     cudaGraphExecUpdateErrorAttributesChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorAttributesChanged
 * 
 * class cudaGetDriverEntryPointFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify search options to be used with
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGetDriverEntryPointFlags, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDriverEntryPointFlags, __pyx_t_4) < 0) __PYX_ERR(0, 2253, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2269
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream
 * 
 * class cudaGraphDebugDotFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph debug write options
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaGraphDebugDotFlags, __pyx_n_s_cudaGraphDebugDotFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Graph_debug_write_options); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2275
 * 
 *     #: Output all debug data as if every debug flag is enabled
 *     cudaGraphDebugDotFlagsVerbose = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsVerbose             # <<<<<<<<<<<<<<
 * 
 *     #: Adds :py:obj:`~.cudaKernelNodeParams` to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsVerbose); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsVerbose, __pyx_t_4) < 0) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2278
 * 
 *     #: Adds :py:obj:`~.cudaKernelNodeParams` to output
 *     cudaGraphDebugDotFlagsKernelNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams             # <<<<<<<<<<<<<<
 * 
 *     #: Adds :py:obj:`~.cudaMemcpy3DParms` to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsKernelNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsKernelNode, __pyx_t_4) < 0) __PYX_ERR(0, 2278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2281
 * 
 *     #: Adds :py:obj:`~.cudaMemcpy3DParms` to output
 *     cudaGraphDebugDotFlagsMemcpyNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemcpyNodeParams             # <<<<<<<<<<<<<<
 * 
 *     #: Adds :py:obj:`~.cudaMemsetParams` to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsMemcpyNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsMemcpyNode, __pyx_t_4) < 0) __PYX_ERR(0, 2281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2284
 * 
 *     #: Adds :py:obj:`~.cudaMemsetParams` to output
 *     cudaGraphDebugDotFlagsMemsetNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemsetNodeParams             # <<<<<<<<<<<<<<
 * 
 *     #: Adds :py:obj:`~.cudaHostNodeParams` to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsMemsetNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsMemsetNode, __pyx_t_4) < 0) __PYX_ERR(0, 2284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2287
 * 
 *     #: Adds :py:obj:`~.cudaHostNodeParams` to output
 *     cudaGraphDebugDotFlagsHostNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHostNodeParams             # <<<<<<<<<<<<<<
 * 
 *     #: Adds cudaEvent_t handle from record and wait nodes to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsHostNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsHostNodePa, __pyx_t_4) < 0) __PYX_ERR(0, 2287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2290
 * 
 *     #: Adds cudaEvent_t handle from record and wait nodes to output
 *     cudaGraphDebugDotFlagsEventNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsEventNodeParams             # <<<<<<<<<<<<<<
 * 
 *     #: Adds :py:obj:`~.cudaExternalSemaphoreSignalNodeParams` values to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsEventNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsEventNodeP, __pyx_t_4) < 0) __PYX_ERR(0, 2290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2294
 *     #: Adds :py:obj:`~.cudaExternalSemaphoreSignalNodeParams` values to
 *     #: output
 *     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasSignalNodeParams             # <<<<<<<<<<<<<<
 * 
 *     #: Adds :py:obj:`~.cudaExternalSemaphoreWaitNodeParams` to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsExtSemasSignalNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsExtSemasSi, __pyx_t_4) < 0) __PYX_ERR(0, 2294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2297
 * 
 *     #: Adds :py:obj:`~.cudaExternalSemaphoreWaitNodeParams` to output
 *     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasWaitNodeParams             # <<<<<<<<<<<<<<
 * 
 *     #: Adds cudaKernelNodeAttrID values to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsExtSemasWaitNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsExtSemasWa, __pyx_t_4) < 0) __PYX_ERR(0, 2297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2300
 * 
 *     #: Adds cudaKernelNodeAttrID values to output
 *     cudaGraphDebugDotFlagsKernelNodeAttributes = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeAttributes             # <<<<<<<<<<<<<<
 * 
 *     #: Adds node handles and every kernel function handle to output
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsKernelNodeAttributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsKernelNode_2, __pyx_t_4) < 0) __PYX_ERR(0, 2300, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2303
 * 
 *     #: Adds node handles and every kernel function handle to output
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphInstantiateFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(cudaGraphDebugDotFlagsHandles); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphDebugDotFlagsHandles, __pyx_t_4) < 0) __PYX_ERR(0, 2303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2269
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream
 * 
 * class cudaGraphDebugDotFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph debug write options
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaGraphDebugDotFlags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDebugDotFlags, __pyx_t_4) < 0) __PYX_ERR(0, 2269, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2305
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles
 * 
 * class cudaGraphInstantiateFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for instantiating a graph
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGraphInstantiateFlags, __pyx_n_s_cudaGraphInstantiateFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Flags_for_instantiating_a_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2311
 * 
 *     #: Automatically free memory allocated in a graph before relaunching.
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagAutoFreeOnLaunch             # <<<<<<<<<<<<<<
 * 
 *     #: Run the graph using the per-node priority attributes rather than the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphInstantiateFlags(cudaGraphInstantiateFlagAutoFreeOnLaunch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphInstantiateFlagAutoFree, __pyx_t_4) < 0) __PYX_ERR(0, 2311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2315
 *     #: Run the graph using the per-node priority attributes rather than the
 *     #: priority of the stream it is launched into.
 *     cudaGraphInstantiateFlagUseNodePriority = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagUseNodePriority             # <<<<<<<<<<<<<<
 * 
 * class cudaLaunchAttributeID(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaGraphInstantiateFlags(cudaGraphInstantiateFlagUseNodePriority); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGraphInstantiateFlagUseNodeP, __pyx_t_4) < 0) __PYX_ERR(0, 2315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2305
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles
 * 
 * class cudaGraphInstantiateFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for instantiating a graph
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGraphInstantiateFlags, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphInstantiateFlags, __pyx_t_4) < 0) __PYX_ERR(0, 2305, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2317
 *     cudaGraphInstantiateFlagUseNodePriority = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagUseNodePriority
 * 
 * class cudaLaunchAttributeID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaLaunchAttributeID, __pyx_n_s_cudaLaunchAttributeID, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Launch_attributes_enum_used_as); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2324
 * 
 *     #: Ignored entry, for convenient composition
 *     cudaLaunchAttributeIgnore = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeIgnore             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeIgnore); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeIgnore, __pyx_t_4) < 0) __PYX_ERR(0, 2324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2327
 * 
 *     #: Valid for streams, graph nodes, launches.
 *     cudaLaunchAttributeAccessPolicyWindow = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeAccessPolicyWindow             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeAccessPolicyWindow); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeAccessPolicyW, __pyx_t_4) < 0) __PYX_ERR(0, 2327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2330
 * 
 *     #: Valid for graph nodes, launches.
 *     cudaLaunchAttributeCooperative = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeCooperative             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeCooperative); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeCooperative, __pyx_t_4) < 0) __PYX_ERR(0, 2330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2333
 * 
 *     #: Valid for streams.
 *     cudaLaunchAttributeSynchronizationPolicy = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeSynchronizationPolicy             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeSynchronizationPolicy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeSynchronizati, __pyx_t_4) < 0) __PYX_ERR(0, 2333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2336
 * 
 *     #: Valid for graph nodes, launches.
 *     cudaLaunchAttributeClusterDimension = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeClusterDimension             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeClusterDimension); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeClusterDimens, __pyx_t_4) < 0) __PYX_ERR(0, 2336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2339
 * 
 *     #: Valid for graph nodes, launches.
 *     cudaLaunchAttributeClusterSchedulingPolicyPreference = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeClusterSchedulingPolicyPreference             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Setting programmaticStreamSerializationAllowed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeClusterSchedulingPolicyPreference); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeClusterSchedu, __pyx_t_4) < 0) __PYX_ERR(0, 2339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2346
 *     #: opportunistically allow the grid's execution to overlap with the
 *     #: previous kernel in the stream, if that kernel requests the overlap.
 *     cudaLaunchAttributeProgrammaticStreamSerialization = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeProgrammaticStreamSerialization             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Event recorded through this launch attribute is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeProgrammaticStreamSerialization); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeProgrammaticS, __pyx_t_4) < 0) __PYX_ERR(0, 2346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2362
 *     #: interprocess or interop event. The event must disable timing (i.e.
 *     #: created with :py:obj:`~.cudaEventDisableTiming` flag set).
 *     cudaLaunchAttributeProgrammaticEvent = ccudart.cudaLaunchAttributeID.cudaLaunchAttributeProgrammaticEvent             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributeProgrammaticEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributeProgrammaticE, __pyx_t_4) < 0) __PYX_ERR(0, 2362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2365
 * 
 *     #: Valid for graph nodes.
 *     cudaLaunchAttributePriority = ccudart.cudaLaunchAttributeID.cudaLaunchAttributePriority             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamAttrID(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaLaunchAttributeID(cudaLaunchAttributePriority); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaLaunchAttributePriority, __pyx_t_4) < 0) __PYX_ERR(0, 2365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2317
 *     cudaGraphInstantiateFlagUseNodePriority = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagUseNodePriority
 * 
 * class cudaLaunchAttributeID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaLaunchAttributeID, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaLaunchAttributeID, __pyx_t_4) < 0) __PYX_ERR(0, 2317, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2367
 *     cudaLaunchAttributePriority = ccudart.cudaLaunchAttributeID.cudaLaunchAttributePriority
 * 
 * class cudaStreamAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     cudaStreamAttributeAccessPolicyWindow = ccudart.cudaStreamAttrID.cudaStreamAttributeAccessPolicyWindow
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaStreamAttrID, __pyx_n_s_cudaStreamAttrID, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2369
 * class cudaStreamAttrID(IntEnum):
 *     """"""
 *     cudaStreamAttributeAccessPolicyWindow = ccudart.cudaStreamAttrID.cudaStreamAttributeAccessPolicyWindow             # <<<<<<<<<<<<<<
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(__pyx_e_4cuda_7ccudart_cudaStreamAttributeAccessPolicyWindow); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamAttributeAccessPolicyW, __pyx_t_4) < 0) __PYX_ERR(0, 2369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2370
 *     """"""
 *     cudaStreamAttributeAccessPolicyWindow = ccudart.cudaStreamAttrID.cudaStreamAttributeAccessPolicyWindow
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy             # <<<<<<<<<<<<<<
 * 
 * class cudaKernelNodeAttrID(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(__pyx_e_4cuda_7ccudart_cudaStreamAttributeSynchronizationPolicy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaStreamAttributeSynchronizati, __pyx_t_4) < 0) __PYX_ERR(0, 2370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2367
 *     cudaLaunchAttributePriority = ccudart.cudaLaunchAttributeID.cudaLaunchAttributePriority
 * 
 * class cudaStreamAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     cudaStreamAttributeAccessPolicyWindow = ccudart.cudaStreamAttrID.cudaStreamAttributeAccessPolicyWindow
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaStreamAttrID, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamAttrID, __pyx_t_4) < 0) __PYX_ERR(0, 2367, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2372
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy
 * 
 * class cudaKernelNodeAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaKernelNodeAttrID, __pyx_n_s_cudaKernelNodeAttrID, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2374
 * class cudaKernelNodeAttrID(IntEnum):
 *     """"""
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow             # <<<<<<<<<<<<<<
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative
 *     cudaKernelNodeAttributePriority = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributePriority
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(__pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeAccessPolicyWindow); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaKernelNodeAttributeAccessPol, __pyx_t_4) < 0) __PYX_ERR(0, 2374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2375
 *     """"""
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative             # <<<<<<<<<<<<<<
 *     cudaKernelNodeAttributePriority = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributePriority
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(__pyx_e_4cuda_7ccudart_cudaKernelNodeAttributeCooperative); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaKernelNodeAttributeCooperati, __pyx_t_4) < 0) __PYX_ERR(0, 2375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2376
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative
 *     cudaKernelNodeAttributePriority = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributePriority             # <<<<<<<<<<<<<<
 * 
 * class cudaGLDeviceList(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(__pyx_e_4cuda_7ccudart_cudaKernelNodeAttributePriority); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaKernelNodeAttributePriority, __pyx_t_4) < 0) __PYX_ERR(0, 2376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2372
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy
 * 
 * class cudaKernelNodeAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaKernelNodeAttrID, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaKernelNodeAttrID, __pyx_t_4) < 0) __PYX_ERR(0, 2372, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2378
 *     cudaKernelNodeAttributePriority = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributePriority
 * 
 * class cudaGLDeviceList(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA devices corresponding to the current OpenGL context
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGLDeviceList, __pyx_n_s_cudaGLDeviceList, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_devices_corresponding_to_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2384
 * 
 *     #: The CUDA devices for all GPUs used by the current OpenGL context
 *     cudaGLDeviceListAll = ccudart.cudaGLDeviceList.cudaGLDeviceListAll             # <<<<<<<<<<<<<<
 * 
 *     #: The CUDA devices for the GPUs used by the current OpenGL context in
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(__pyx_e_4cuda_7ccudart_cudaGLDeviceListAll); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGLDeviceListAll, __pyx_t_4) < 0) __PYX_ERR(0, 2384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2388
 *     #: The CUDA devices for the GPUs used by the current OpenGL context in
 *     #: its currently rendering frame
 *     cudaGLDeviceListCurrentFrame = ccudart.cudaGLDeviceList.cudaGLDeviceListCurrentFrame             # <<<<<<<<<<<<<<
 * 
 *     #: The CUDA devices for the GPUs to be used by the current OpenGL
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(__pyx_e_4cuda_7ccudart_cudaGLDeviceListCurrentFrame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGLDeviceListCurrentFrame, __pyx_t_4) < 0) __PYX_ERR(0, 2388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2392
 *     #: The CUDA devices for the GPUs to be used by the current OpenGL
 *     #: context in the next frame
 *     cudaGLDeviceListNextFrame = ccudart.cudaGLDeviceList.cudaGLDeviceListNextFrame             # <<<<<<<<<<<<<<
 * 
 * class cudaGLMapFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(__pyx_e_4cuda_7ccudart_cudaGLDeviceListNextFrame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGLDeviceListNextFrame, __pyx_t_4) < 0) __PYX_ERR(0, 2392, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2378
 *     cudaKernelNodeAttributePriority = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributePriority
 * 
 * class cudaGLDeviceList(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA devices corresponding to the current OpenGL context
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGLDeviceList, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGLDeviceList, __pyx_t_4) < 0) __PYX_ERR(0, 2378, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2394
 *     cudaGLDeviceListNextFrame = ccudart.cudaGLDeviceList.cudaGLDeviceListNextFrame
 * 
 * class cudaGLMapFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GL Map Flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaGLMapFlags, __pyx_n_s_cudaGLMapFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_GL_Map_Flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2400
 * 
 *     #: Default; Assume resource can be read/written
 *     cudaGLMapFlagsNone = ccudart.cudaGLMapFlags.cudaGLMapFlagsNone             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA kernels will not write to this resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLMapFlags(__pyx_e_4cuda_7ccudart_cudaGLMapFlagsNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGLMapFlagsNone, __pyx_t_4) < 0) __PYX_ERR(0, 2400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2403
 * 
 *     #: CUDA kernels will not write to this resource
 *     cudaGLMapFlagsReadOnly = ccudart.cudaGLMapFlags.cudaGLMapFlagsReadOnly             # <<<<<<<<<<<<<<
 * 
 *     #: CUDA kernels will only write to and will not read from this resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLMapFlags(__pyx_e_4cuda_7ccudart_cudaGLMapFlagsReadOnly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGLMapFlagsReadOnly, __pyx_t_4) < 0) __PYX_ERR(0, 2403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2406
 * 
 *     #: CUDA kernels will only write to and will not read from this resource
 *     cudaGLMapFlagsWriteDiscard = ccudart.cudaGLMapFlags.cudaGLMapFlagsWriteDiscard             # <<<<<<<<<<<<<<
 * 
 * class cudaRoundMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLMapFlags(__pyx_e_4cuda_7ccudart_cudaGLMapFlagsWriteDiscard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaGLMapFlagsWriteDiscard, __pyx_t_4) < 0) __PYX_ERR(0, 2406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2394
 *     cudaGLDeviceListNextFrame = ccudart.cudaGLDeviceList.cudaGLDeviceListNextFrame
 * 
 * class cudaGLMapFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GL Map Flags
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaGLMapFlags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGLMapFlags, __pyx_t_4) < 0) __PYX_ERR(0, 2394, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2408
 *     cudaGLMapFlagsWriteDiscard = ccudart.cudaGLMapFlags.cudaGLMapFlagsWriteDiscard
 * 
 * class cudaRoundMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaRoundMode, __pyx_n_s_cudaRoundMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2410
 * class cudaRoundMode(IntEnum):
 *     """"""
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest             # <<<<<<<<<<<<<<
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaRoundMode(cudaRoundNearest); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaRoundNearest, __pyx_t_4) < 0) __PYX_ERR(0, 2410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2411
 *     """"""
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero             # <<<<<<<<<<<<<<
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaRoundMode(cudaRoundZero); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaRoundZero, __pyx_t_4) < 0) __PYX_ERR(0, 2411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2412
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf             # <<<<<<<<<<<<<<
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaRoundMode(cudaRoundPosInf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaRoundPosInf, __pyx_t_4) < 0) __PYX_ERR(0, 2412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2413
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf             # <<<<<<<<<<<<<<
 * 
 * class cudaSurfaceBoundaryMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaRoundMode(cudaRoundMinInf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaRoundMinInf, __pyx_t_4) < 0) __PYX_ERR(0, 2413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2408
 *     cudaGLMapFlagsWriteDiscard = ccudart.cudaGLMapFlags.cudaGLMapFlagsWriteDiscard
 * 
 * class cudaRoundMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaRoundMode, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaRoundMode, __pyx_t_4) < 0) __PYX_ERR(0, 2408, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2415
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 * 
 * class cudaSurfaceBoundaryMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Surface boundary modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaSurfaceBoundaryMode, __pyx_n_s_cudaSurfaceBoundaryMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Surface_boundary_modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2421
 * 
 *     #: Zero boundary mode
 *     cudaBoundaryModeZero = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeZero             # <<<<<<<<<<<<<<
 * 
 *     #: Clamp boundary mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSurfaceBoundaryMode(cudaBoundaryModeZero); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaBoundaryModeZero, __pyx_t_4) < 0) __PYX_ERR(0, 2421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2424
 * 
 *     #: Clamp boundary mode
 *     cudaBoundaryModeClamp = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeClamp             # <<<<<<<<<<<<<<
 * 
 *     #: Trap boundary mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSurfaceBoundaryMode(cudaBoundaryModeClamp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaBoundaryModeClamp, __pyx_t_4) < 0) __PYX_ERR(0, 2424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2427
 * 
 *     #: Trap boundary mode
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap             # <<<<<<<<<<<<<<
 * 
 * class cudaSurfaceFormatMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSurfaceBoundaryMode(cudaBoundaryModeTrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaBoundaryModeTrap, __pyx_t_4) < 0) __PYX_ERR(0, 2427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2415
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 * 
 * class cudaSurfaceBoundaryMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Surface boundary modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaSurfaceBoundaryMode, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceBoundaryMode, __pyx_t_4) < 0) __PYX_ERR(0, 2415, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2429
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap
 * 
 * class cudaSurfaceFormatMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Surface format modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaSurfaceFormatMode, __pyx_n_s_cudaSurfaceFormatMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_Surface_format_modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2435
 * 
 *     #: Forced format mode
 *     cudaFormatModeForced = ccudart.cudaSurfaceFormatMode.cudaFormatModeForced             # <<<<<<<<<<<<<<
 * 
 *     #: Auto format mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSurfaceFormatMode(cudaFormatModeForced); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFormatModeForced, __pyx_t_4) < 0) __PYX_ERR(0, 2435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2438
 * 
 *     #: Auto format mode
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto             # <<<<<<<<<<<<<<
 * 
 * class cudaTextureAddressMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaSurfaceFormatMode(cudaFormatModeAuto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFormatModeAuto, __pyx_t_4) < 0) __PYX_ERR(0, 2438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2429
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap
 * 
 * class cudaSurfaceFormatMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Surface format modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaSurfaceFormatMode, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceFormatMode, __pyx_t_4) < 0) __PYX_ERR(0, 2429, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2440
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto
 * 
 * class cudaTextureAddressMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture address modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaTextureAddressMode, __pyx_n_s_cudaTextureAddressMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_texture_address_modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2446
 * 
 *     #: Wrapping address mode
 *     cudaAddressModeWrap = ccudart.cudaTextureAddressMode.cudaAddressModeWrap             # <<<<<<<<<<<<<<
 * 
 *     #: Clamp to edge address mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureAddressMode(cudaAddressModeWrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaAddressModeWrap, __pyx_t_4) < 0) __PYX_ERR(0, 2446, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2449
 * 
 *     #: Clamp to edge address mode
 *     cudaAddressModeClamp = ccudart.cudaTextureAddressMode.cudaAddressModeClamp             # <<<<<<<<<<<<<<
 * 
 *     #: Mirror address mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureAddressMode(cudaAddressModeClamp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaAddressModeClamp, __pyx_t_4) < 0) __PYX_ERR(0, 2449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2452
 * 
 *     #: Mirror address mode
 *     cudaAddressModeMirror = ccudart.cudaTextureAddressMode.cudaAddressModeMirror             # <<<<<<<<<<<<<<
 * 
 *     #: Border address mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureAddressMode(cudaAddressModeMirror); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaAddressModeMirror, __pyx_t_4) < 0) __PYX_ERR(0, 2452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2455
 * 
 *     #: Border address mode
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder             # <<<<<<<<<<<<<<
 * 
 * class cudaTextureFilterMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureAddressMode(cudaAddressModeBorder); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaAddressModeBorder, __pyx_t_4) < 0) __PYX_ERR(0, 2455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2440
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto
 * 
 * class cudaTextureAddressMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture address modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaTextureAddressMode, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureAddressMode, __pyx_t_4) < 0) __PYX_ERR(0, 2440, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2457
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder
 * 
 * class cudaTextureFilterMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture filter modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaTextureFilterMode, __pyx_n_s_cudaTextureFilterMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_texture_filter_modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2463
 * 
 *     #: Point filter mode
 *     cudaFilterModePoint = ccudart.cudaTextureFilterMode.cudaFilterModePoint             # <<<<<<<<<<<<<<
 * 
 *     #: Linear filter mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureFilterMode(cudaFilterModePoint); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFilterModePoint, __pyx_t_4) < 0) __PYX_ERR(0, 2463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2466
 * 
 *     #: Linear filter mode
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear             # <<<<<<<<<<<<<<
 * 
 * class cudaTextureReadMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureFilterMode(cudaFilterModeLinear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaFilterModeLinear, __pyx_t_4) < 0) __PYX_ERR(0, 2466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2457
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder
 * 
 * class cudaTextureFilterMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture filter modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaTextureFilterMode, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureFilterMode, __pyx_t_4) < 0) __PYX_ERR(0, 2457, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2468
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear
 * 
 * class cudaTextureReadMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture read modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaTextureReadMode, __pyx_n_s_cudaTextureReadMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_texture_read_modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2474
 * 
 *     #: Read texture as specified element type
 *     cudaReadModeElementType = ccudart.cudaTextureReadMode.cudaReadModeElementType             # <<<<<<<<<<<<<<
 * 
 *     #: Read texture as normalized float
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureReadMode(cudaReadModeElementType); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaReadModeElementType, __pyx_t_4) < 0) __PYX_ERR(0, 2474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2477
 * 
 *     #: Read texture as normalized float
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat             # <<<<<<<<<<<<<<
 * 
 * class cudaDataType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaTextureReadMode(cudaReadModeNormalizedFloat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaReadModeNormalizedFloat, __pyx_t_4) < 0) __PYX_ERR(0, 2477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2468
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear
 * 
 * class cudaTextureReadMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture read modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaTextureReadMode, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureReadMode, __pyx_t_4) < 0) __PYX_ERR(0, 2468, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2479
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat
 * 
 * class cudaDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     CUDA_R_16F = ccudart.cudaDataType_t.CUDA_R_16F
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaDataType, __pyx_n_s_cudaDataType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2481
 * class cudaDataType(IntEnum):
 *     """"""
 *     CUDA_R_16F = ccudart.cudaDataType_t.CUDA_R_16F             # <<<<<<<<<<<<<<
 *     CUDA_C_16F = ccudart.cudaDataType_t.CUDA_C_16F
 *     CUDA_R_16BF = ccudart.cudaDataType_t.CUDA_R_16BF
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_16F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_16F, __pyx_t_4) < 0) __PYX_ERR(0, 2481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2482
 *     """"""
 *     CUDA_R_16F = ccudart.cudaDataType_t.CUDA_R_16F
 *     CUDA_C_16F = ccudart.cudaDataType_t.CUDA_C_16F             # <<<<<<<<<<<<<<
 *     CUDA_R_16BF = ccudart.cudaDataType_t.CUDA_R_16BF
 *     CUDA_C_16BF = ccudart.cudaDataType_t.CUDA_C_16BF
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_16F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_16F, __pyx_t_4) < 0) __PYX_ERR(0, 2482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2483
 *     CUDA_R_16F = ccudart.cudaDataType_t.CUDA_R_16F
 *     CUDA_C_16F = ccudart.cudaDataType_t.CUDA_C_16F
 *     CUDA_R_16BF = ccudart.cudaDataType_t.CUDA_R_16BF             # <<<<<<<<<<<<<<
 *     CUDA_C_16BF = ccudart.cudaDataType_t.CUDA_C_16BF
 *     CUDA_R_32F = ccudart.cudaDataType_t.CUDA_R_32F
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_16BF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_16BF, __pyx_t_4) < 0) __PYX_ERR(0, 2483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2484
 *     CUDA_C_16F = ccudart.cudaDataType_t.CUDA_C_16F
 *     CUDA_R_16BF = ccudart.cudaDataType_t.CUDA_R_16BF
 *     CUDA_C_16BF = ccudart.cudaDataType_t.CUDA_C_16BF             # <<<<<<<<<<<<<<
 *     CUDA_R_32F = ccudart.cudaDataType_t.CUDA_R_32F
 *     CUDA_C_32F = ccudart.cudaDataType_t.CUDA_C_32F
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_16BF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_16BF, __pyx_t_4) < 0) __PYX_ERR(0, 2484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2485
 *     CUDA_R_16BF = ccudart.cudaDataType_t.CUDA_R_16BF
 *     CUDA_C_16BF = ccudart.cudaDataType_t.CUDA_C_16BF
 *     CUDA_R_32F = ccudart.cudaDataType_t.CUDA_R_32F             # <<<<<<<<<<<<<<
 *     CUDA_C_32F = ccudart.cudaDataType_t.CUDA_C_32F
 *     CUDA_R_64F = ccudart.cudaDataType_t.CUDA_R_64F
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_32F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_32F, __pyx_t_4) < 0) __PYX_ERR(0, 2485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2486
 *     CUDA_C_16BF = ccudart.cudaDataType_t.CUDA_C_16BF
 *     CUDA_R_32F = ccudart.cudaDataType_t.CUDA_R_32F
 *     CUDA_C_32F = ccudart.cudaDataType_t.CUDA_C_32F             # <<<<<<<<<<<<<<
 *     CUDA_R_64F = ccudart.cudaDataType_t.CUDA_R_64F
 *     CUDA_C_64F = ccudart.cudaDataType_t.CUDA_C_64F
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_32F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_32F, __pyx_t_4) < 0) __PYX_ERR(0, 2486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2487
 *     CUDA_R_32F = ccudart.cudaDataType_t.CUDA_R_32F
 *     CUDA_C_32F = ccudart.cudaDataType_t.CUDA_C_32F
 *     CUDA_R_64F = ccudart.cudaDataType_t.CUDA_R_64F             # <<<<<<<<<<<<<<
 *     CUDA_C_64F = ccudart.cudaDataType_t.CUDA_C_64F
 *     CUDA_R_4I = ccudart.cudaDataType_t.CUDA_R_4I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_64F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_64F, __pyx_t_4) < 0) __PYX_ERR(0, 2487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2488
 *     CUDA_C_32F = ccudart.cudaDataType_t.CUDA_C_32F
 *     CUDA_R_64F = ccudart.cudaDataType_t.CUDA_R_64F
 *     CUDA_C_64F = ccudart.cudaDataType_t.CUDA_C_64F             # <<<<<<<<<<<<<<
 *     CUDA_R_4I = ccudart.cudaDataType_t.CUDA_R_4I
 *     CUDA_C_4I = ccudart.cudaDataType_t.CUDA_C_4I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_64F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_64F, __pyx_t_4) < 0) __PYX_ERR(0, 2488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2489
 *     CUDA_R_64F = ccudart.cudaDataType_t.CUDA_R_64F
 *     CUDA_C_64F = ccudart.cudaDataType_t.CUDA_C_64F
 *     CUDA_R_4I = ccudart.cudaDataType_t.CUDA_R_4I             # <<<<<<<<<<<<<<
 *     CUDA_C_4I = ccudart.cudaDataType_t.CUDA_C_4I
 *     CUDA_R_4U = ccudart.cudaDataType_t.CUDA_R_4U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_4I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_4I, __pyx_t_4) < 0) __PYX_ERR(0, 2489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2490
 *     CUDA_C_64F = ccudart.cudaDataType_t.CUDA_C_64F
 *     CUDA_R_4I = ccudart.cudaDataType_t.CUDA_R_4I
 *     CUDA_C_4I = ccudart.cudaDataType_t.CUDA_C_4I             # <<<<<<<<<<<<<<
 *     CUDA_R_4U = ccudart.cudaDataType_t.CUDA_R_4U
 *     CUDA_C_4U = ccudart.cudaDataType_t.CUDA_C_4U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_4I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_4I, __pyx_t_4) < 0) __PYX_ERR(0, 2490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2491
 *     CUDA_R_4I = ccudart.cudaDataType_t.CUDA_R_4I
 *     CUDA_C_4I = ccudart.cudaDataType_t.CUDA_C_4I
 *     CUDA_R_4U = ccudart.cudaDataType_t.CUDA_R_4U             # <<<<<<<<<<<<<<
 *     CUDA_C_4U = ccudart.cudaDataType_t.CUDA_C_4U
 *     CUDA_R_8I = ccudart.cudaDataType_t.CUDA_R_8I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_4U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_4U, __pyx_t_4) < 0) __PYX_ERR(0, 2491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2492
 *     CUDA_C_4I = ccudart.cudaDataType_t.CUDA_C_4I
 *     CUDA_R_4U = ccudart.cudaDataType_t.CUDA_R_4U
 *     CUDA_C_4U = ccudart.cudaDataType_t.CUDA_C_4U             # <<<<<<<<<<<<<<
 *     CUDA_R_8I = ccudart.cudaDataType_t.CUDA_R_8I
 *     CUDA_C_8I = ccudart.cudaDataType_t.CUDA_C_8I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_4U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_4U, __pyx_t_4) < 0) __PYX_ERR(0, 2492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2493
 *     CUDA_R_4U = ccudart.cudaDataType_t.CUDA_R_4U
 *     CUDA_C_4U = ccudart.cudaDataType_t.CUDA_C_4U
 *     CUDA_R_8I = ccudart.cudaDataType_t.CUDA_R_8I             # <<<<<<<<<<<<<<
 *     CUDA_C_8I = ccudart.cudaDataType_t.CUDA_C_8I
 *     CUDA_R_8U = ccudart.cudaDataType_t.CUDA_R_8U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_8I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_8I, __pyx_t_4) < 0) __PYX_ERR(0, 2493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2494
 *     CUDA_C_4U = ccudart.cudaDataType_t.CUDA_C_4U
 *     CUDA_R_8I = ccudart.cudaDataType_t.CUDA_R_8I
 *     CUDA_C_8I = ccudart.cudaDataType_t.CUDA_C_8I             # <<<<<<<<<<<<<<
 *     CUDA_R_8U = ccudart.cudaDataType_t.CUDA_R_8U
 *     CUDA_C_8U = ccudart.cudaDataType_t.CUDA_C_8U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_8I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_8I, __pyx_t_4) < 0) __PYX_ERR(0, 2494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2495
 *     CUDA_R_8I = ccudart.cudaDataType_t.CUDA_R_8I
 *     CUDA_C_8I = ccudart.cudaDataType_t.CUDA_C_8I
 *     CUDA_R_8U = ccudart.cudaDataType_t.CUDA_R_8U             # <<<<<<<<<<<<<<
 *     CUDA_C_8U = ccudart.cudaDataType_t.CUDA_C_8U
 *     CUDA_R_16I = ccudart.cudaDataType_t.CUDA_R_16I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_8U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_8U, __pyx_t_4) < 0) __PYX_ERR(0, 2495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2496
 *     CUDA_C_8I = ccudart.cudaDataType_t.CUDA_C_8I
 *     CUDA_R_8U = ccudart.cudaDataType_t.CUDA_R_8U
 *     CUDA_C_8U = ccudart.cudaDataType_t.CUDA_C_8U             # <<<<<<<<<<<<<<
 *     CUDA_R_16I = ccudart.cudaDataType_t.CUDA_R_16I
 *     CUDA_C_16I = ccudart.cudaDataType_t.CUDA_C_16I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_8U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_8U, __pyx_t_4) < 0) __PYX_ERR(0, 2496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2497
 *     CUDA_R_8U = ccudart.cudaDataType_t.CUDA_R_8U
 *     CUDA_C_8U = ccudart.cudaDataType_t.CUDA_C_8U
 *     CUDA_R_16I = ccudart.cudaDataType_t.CUDA_R_16I             # <<<<<<<<<<<<<<
 *     CUDA_C_16I = ccudart.cudaDataType_t.CUDA_C_16I
 *     CUDA_R_16U = ccudart.cudaDataType_t.CUDA_R_16U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_16I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_16I, __pyx_t_4) < 0) __PYX_ERR(0, 2497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2498
 *     CUDA_C_8U = ccudart.cudaDataType_t.CUDA_C_8U
 *     CUDA_R_16I = ccudart.cudaDataType_t.CUDA_R_16I
 *     CUDA_C_16I = ccudart.cudaDataType_t.CUDA_C_16I             # <<<<<<<<<<<<<<
 *     CUDA_R_16U = ccudart.cudaDataType_t.CUDA_R_16U
 *     CUDA_C_16U = ccudart.cudaDataType_t.CUDA_C_16U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_16I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_16I, __pyx_t_4) < 0) __PYX_ERR(0, 2498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2499
 *     CUDA_R_16I = ccudart.cudaDataType_t.CUDA_R_16I
 *     CUDA_C_16I = ccudart.cudaDataType_t.CUDA_C_16I
 *     CUDA_R_16U = ccudart.cudaDataType_t.CUDA_R_16U             # <<<<<<<<<<<<<<
 *     CUDA_C_16U = ccudart.cudaDataType_t.CUDA_C_16U
 *     CUDA_R_32I = ccudart.cudaDataType_t.CUDA_R_32I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_16U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_16U, __pyx_t_4) < 0) __PYX_ERR(0, 2499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2500
 *     CUDA_C_16I = ccudart.cudaDataType_t.CUDA_C_16I
 *     CUDA_R_16U = ccudart.cudaDataType_t.CUDA_R_16U
 *     CUDA_C_16U = ccudart.cudaDataType_t.CUDA_C_16U             # <<<<<<<<<<<<<<
 *     CUDA_R_32I = ccudart.cudaDataType_t.CUDA_R_32I
 *     CUDA_C_32I = ccudart.cudaDataType_t.CUDA_C_32I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_16U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_16U, __pyx_t_4) < 0) __PYX_ERR(0, 2500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2501
 *     CUDA_R_16U = ccudart.cudaDataType_t.CUDA_R_16U
 *     CUDA_C_16U = ccudart.cudaDataType_t.CUDA_C_16U
 *     CUDA_R_32I = ccudart.cudaDataType_t.CUDA_R_32I             # <<<<<<<<<<<<<<
 *     CUDA_C_32I = ccudart.cudaDataType_t.CUDA_C_32I
 *     CUDA_R_32U = ccudart.cudaDataType_t.CUDA_R_32U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_32I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_32I, __pyx_t_4) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2502
 *     CUDA_C_16U = ccudart.cudaDataType_t.CUDA_C_16U
 *     CUDA_R_32I = ccudart.cudaDataType_t.CUDA_R_32I
 *     CUDA_C_32I = ccudart.cudaDataType_t.CUDA_C_32I             # <<<<<<<<<<<<<<
 *     CUDA_R_32U = ccudart.cudaDataType_t.CUDA_R_32U
 *     CUDA_C_32U = ccudart.cudaDataType_t.CUDA_C_32U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_32I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_32I, __pyx_t_4) < 0) __PYX_ERR(0, 2502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2503
 *     CUDA_R_32I = ccudart.cudaDataType_t.CUDA_R_32I
 *     CUDA_C_32I = ccudart.cudaDataType_t.CUDA_C_32I
 *     CUDA_R_32U = ccudart.cudaDataType_t.CUDA_R_32U             # <<<<<<<<<<<<<<
 *     CUDA_C_32U = ccudart.cudaDataType_t.CUDA_C_32U
 *     CUDA_R_64I = ccudart.cudaDataType_t.CUDA_R_64I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_32U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_32U, __pyx_t_4) < 0) __PYX_ERR(0, 2503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2504
 *     CUDA_C_32I = ccudart.cudaDataType_t.CUDA_C_32I
 *     CUDA_R_32U = ccudart.cudaDataType_t.CUDA_R_32U
 *     CUDA_C_32U = ccudart.cudaDataType_t.CUDA_C_32U             # <<<<<<<<<<<<<<
 *     CUDA_R_64I = ccudart.cudaDataType_t.CUDA_R_64I
 *     CUDA_C_64I = ccudart.cudaDataType_t.CUDA_C_64I
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_32U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_32U, __pyx_t_4) < 0) __PYX_ERR(0, 2504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2505
 *     CUDA_R_32U = ccudart.cudaDataType_t.CUDA_R_32U
 *     CUDA_C_32U = ccudart.cudaDataType_t.CUDA_C_32U
 *     CUDA_R_64I = ccudart.cudaDataType_t.CUDA_R_64I             # <<<<<<<<<<<<<<
 *     CUDA_C_64I = ccudart.cudaDataType_t.CUDA_C_64I
 *     CUDA_R_64U = ccudart.cudaDataType_t.CUDA_R_64U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_64I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_64I, __pyx_t_4) < 0) __PYX_ERR(0, 2505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2506
 *     CUDA_C_32U = ccudart.cudaDataType_t.CUDA_C_32U
 *     CUDA_R_64I = ccudart.cudaDataType_t.CUDA_R_64I
 *     CUDA_C_64I = ccudart.cudaDataType_t.CUDA_C_64I             # <<<<<<<<<<<<<<
 *     CUDA_R_64U = ccudart.cudaDataType_t.CUDA_R_64U
 *     CUDA_C_64U = ccudart.cudaDataType_t.CUDA_C_64U
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_64I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_64I, __pyx_t_4) < 0) __PYX_ERR(0, 2506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2507
 *     CUDA_R_64I = ccudart.cudaDataType_t.CUDA_R_64I
 *     CUDA_C_64I = ccudart.cudaDataType_t.CUDA_C_64I
 *     CUDA_R_64U = ccudart.cudaDataType_t.CUDA_R_64U             # <<<<<<<<<<<<<<
 *     CUDA_C_64U = ccudart.cudaDataType_t.CUDA_C_64U
 *     CUDA_R_8F_E4M3 = ccudart.cudaDataType_t.CUDA_R_8F_E4M3
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_64U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_64U, __pyx_t_4) < 0) __PYX_ERR(0, 2507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2508
 *     CUDA_C_64I = ccudart.cudaDataType_t.CUDA_C_64I
 *     CUDA_R_64U = ccudart.cudaDataType_t.CUDA_R_64U
 *     CUDA_C_64U = ccudart.cudaDataType_t.CUDA_C_64U             # <<<<<<<<<<<<<<
 *     CUDA_R_8F_E4M3 = ccudart.cudaDataType_t.CUDA_R_8F_E4M3
 *     CUDA_R_8F_E5M2 = ccudart.cudaDataType_t.CUDA_R_8F_E5M2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_C_64U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_C_64U, __pyx_t_4) < 0) __PYX_ERR(0, 2508, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2509
 *     CUDA_R_64U = ccudart.cudaDataType_t.CUDA_R_64U
 *     CUDA_C_64U = ccudart.cudaDataType_t.CUDA_C_64U
 *     CUDA_R_8F_E4M3 = ccudart.cudaDataType_t.CUDA_R_8F_E4M3             # <<<<<<<<<<<<<<
 *     CUDA_R_8F_E5M2 = ccudart.cudaDataType_t.CUDA_R_8F_E5M2
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_8F_E4M3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_8F_E4M3, __pyx_t_4) < 0) __PYX_ERR(0, 2509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2510
 *     CUDA_C_64U = ccudart.cudaDataType_t.CUDA_C_64U
 *     CUDA_R_8F_E4M3 = ccudart.cudaDataType_t.CUDA_R_8F_E4M3
 *     CUDA_R_8F_E5M2 = ccudart.cudaDataType_t.CUDA_R_8F_E5M2             # <<<<<<<<<<<<<<
 * 
 * class libraryPropertyType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaDataType_t(CUDA_R_8F_E5M2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_R_8F_E5M2, __pyx_t_4) < 0) __PYX_ERR(0, 2510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2479
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat
 * 
 * class cudaDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     CUDA_R_16F = ccudart.cudaDataType_t.CUDA_R_16F
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaDataType, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDataType, __pyx_t_4) < 0) __PYX_ERR(0, 2479, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2512
 *     CUDA_R_8F_E5M2 = ccudart.cudaDataType_t.CUDA_R_8F_E5M2
 * 
 * class libraryPropertyType(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     MAJOR_VERSION = ccudart.libraryPropertyType_t.MAJOR_VERSION
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_libraryPropertyType, __pyx_n_s_libraryPropertyType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2514
 * class libraryPropertyType(IntEnum):
 *     """"""
 *     MAJOR_VERSION = ccudart.libraryPropertyType_t.MAJOR_VERSION             # <<<<<<<<<<<<<<
 *     MINOR_VERSION = ccudart.libraryPropertyType_t.MINOR_VERSION
 *     PATCH_LEVEL = ccudart.libraryPropertyType_t.PATCH_LEVEL
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__libraryPropertyType_t(MAJOR_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_MAJOR_VERSION, __pyx_t_4) < 0) __PYX_ERR(0, 2514, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2515
 *     """"""
 *     MAJOR_VERSION = ccudart.libraryPropertyType_t.MAJOR_VERSION
 *     MINOR_VERSION = ccudart.libraryPropertyType_t.MINOR_VERSION             # <<<<<<<<<<<<<<
 *     PATCH_LEVEL = ccudart.libraryPropertyType_t.PATCH_LEVEL
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__libraryPropertyType_t(MINOR_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_MINOR_VERSION, __pyx_t_4) < 0) __PYX_ERR(0, 2515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2516
 *     MAJOR_VERSION = ccudart.libraryPropertyType_t.MAJOR_VERSION
 *     MINOR_VERSION = ccudart.libraryPropertyType_t.MINOR_VERSION
 *     PATCH_LEVEL = ccudart.libraryPropertyType_t.PATCH_LEVEL             # <<<<<<<<<<<<<<
 * 
 * class cudaEglFrameType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__libraryPropertyType_t(PATCH_LEVEL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_PATCH_LEVEL, __pyx_t_4) < 0) __PYX_ERR(0, 2516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2512
 *     CUDA_R_8F_E5M2 = ccudart.cudaDataType_t.CUDA_R_8F_E5M2
 * 
 * class libraryPropertyType(IntEnum):             # <<<<<<<<<<<<<<
 *     """"""
 *     MAJOR_VERSION = ccudart.libraryPropertyType_t.MAJOR_VERSION
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_libraryPropertyType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_libraryPropertyType, __pyx_t_4) < 0) __PYX_ERR(0, 2512, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2518
 *     PATCH_LEVEL = ccudart.libraryPropertyType_t.PATCH_LEVEL
 * 
 * class cudaEglFrameType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EglFrame type - array or pointer
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaEglFrameType, __pyx_n_s_cudaEglFrameType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_EglFrame_type_array_or_poi); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2524
 * 
 *     #: Frame type CUDA array
 *     cudaEglFrameTypeArray = ccudart.cudaEglFrameType_enum.cudaEglFrameTypeArray             # <<<<<<<<<<<<<<
 * 
 *     #: Frame type CUDA pointer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(__pyx_e_4cuda_7ccudart_cudaEglFrameTypeArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglFrameTypeArray, __pyx_t_4) < 0) __PYX_ERR(0, 2524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2527
 * 
 *     #: Frame type CUDA pointer
 *     cudaEglFrameTypePitch = ccudart.cudaEglFrameType_enum.cudaEglFrameTypePitch             # <<<<<<<<<<<<<<
 * 
 * class cudaEglResourceLocationFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(__pyx_e_4cuda_7ccudart_cudaEglFrameTypePitch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglFrameTypePitch, __pyx_t_4) < 0) __PYX_ERR(0, 2527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2518
 *     PATCH_LEVEL = ccudart.libraryPropertyType_t.PATCH_LEVEL
 * 
 * class cudaEglFrameType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EglFrame type - array or pointer
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaEglFrameType, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEglFrameType, __pyx_t_4) < 0) __PYX_ERR(0, 2518, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2529
 *     cudaEglFrameTypePitch = ccudart.cudaEglFrameType_enum.cudaEglFrameTypePitch
 * 
 * class cudaEglResourceLocationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource location flags- sysmem or vidmem  For CUDA context on
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaEglResourceLocationFlags, __pyx_n_s_cudaEglResourceLocationFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_Resource_location_flags_sysmem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2545
 * 
 *     #: Resource location sysmem
 *     cudaEglResourceLocationSysmem = ccudart.cudaEglResourceLocationFlags_enum.cudaEglResourceLocationSysmem             # <<<<<<<<<<<<<<
 * 
 *     #: Resource location vidmem
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum(__pyx_e_4cuda_7ccudart_cudaEglResourceLocationSysmem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglResourceLocationSysmem, __pyx_t_4) < 0) __PYX_ERR(0, 2545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2548
 * 
 *     #: Resource location vidmem
 *     cudaEglResourceLocationVidmem = ccudart.cudaEglResourceLocationFlags_enum.cudaEglResourceLocationVidmem             # <<<<<<<<<<<<<<
 * 
 * class cudaEglColorFormat(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum(__pyx_e_4cuda_7ccudart_cudaEglResourceLocationVidmem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglResourceLocationVidmem, __pyx_t_4) < 0) __PYX_ERR(0, 2548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2529
 *     cudaEglFrameTypePitch = ccudart.cudaEglFrameType_enum.cudaEglFrameTypePitch
 * 
 * class cudaEglResourceLocationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource location flags- sysmem or vidmem  For CUDA context on
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaEglResourceLocationFlags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEglResourceLocationFlags, __pyx_t_4) < 0) __PYX_ERR(0, 2529, __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_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2550
 *     cudaEglResourceLocationVidmem = ccudart.cudaEglResourceLocationFlags_enum.cudaEglResourceLocationVidmem
 * 
 * class cudaEglColorFormat(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(0, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaEglColorFormat, __pyx_n_s_cudaEglColorFormat, (PyObject *) NULL, __pyx_n_s_cuda_cudart, __pyx_kp_s_CUDA_EGL_Color_Format_The_diffe); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":2558
 *     #: 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.
 *     cudaEglColorFormatYUV420Planar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420Planar             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420Planar, __pyx_t_4) < 0) __PYX_ERR(0, 2558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2562
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 *     #: width, height ratio same as YUV420Planar.
 *     cudaEglColorFormatYUV420SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420SemiPlan, __pyx_t_4) < 0) __PYX_ERR(0, 2562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2566
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = Y height.
 *     cudaEglColorFormatYUV422Planar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV422Planar             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces with VU byte ordering, width, height ratio
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422Planar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV422Planar, __pyx_t_4) < 0) __PYX_ERR(0, 2566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2570
 *     #: Y, UV in two surfaces with VU byte ordering, width, height ratio
 *     #: same as YUV422Planar.
 *     cudaEglColorFormatYUV422SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV422SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with BGRA byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV422SemiPlan, __pyx_t_4) < 0) __PYX_ERR(0, 2570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2573
 * 
 *     #: R/G/B/A four channels in one surface with BGRA byte ordering.
 *     cudaEglColorFormatARGB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatARGB             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with ABGR byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatARGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatARGB, __pyx_t_4) < 0) __PYX_ERR(0, 2573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2576
 * 
 *     #: R/G/B/A four channels in one surface with ABGR byte ordering.
 *     cudaEglColorFormatRGBA = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatRGBA             # <<<<<<<<<<<<<<
 * 
 *     #: single luminance channel in one surface.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatRGBA); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatRGBA, __pyx_t_4) < 0) __PYX_ERR(0, 2576, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2579
 * 
 *     #: single luminance channel in one surface.
 *     cudaEglColorFormatL = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatL             # <<<<<<<<<<<<<<
 * 
 *     #: single color channel in one surface.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatL, __pyx_t_4) < 0) __PYX_ERR(0, 2579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2582
 * 
 *     #: single color channel in one surface.
 *     cudaEglColorFormatR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatR             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatR, __pyx_t_4) < 0) __PYX_ERR(0, 2582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2586
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width = Y
 *     #: width, U/V height = Y height.
 *     cudaEglColorFormatYUV444Planar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV444Planar             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444Planar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV444Planar, __pyx_t_4) < 0) __PYX_ERR(0, 2586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2590
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 *     #: width, height ratio same as YUV444Planar.
 *     cudaEglColorFormatYUV444SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV444SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV444SemiPlan, __pyx_t_4) < 0) __PYX_ERR(0, 2590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2593
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 *     cudaEglColorFormatYUYV422 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUYV422             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as YUYV in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUYV422); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUYV422, __pyx_t_4) < 0) __PYX_ERR(0, 2593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2596
 * 
 *     #: Y, U, V in one surface, interleaved as YUYV in one channel.
 *     cudaEglColorFormatUYVY422 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatUYVY422             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with RGBA byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatUYVY422); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatUYVY422, __pyx_t_4) < 0) __PYX_ERR(0, 2596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2599
 * 
 *     #: R/G/B/A four channels in one surface with RGBA byte ordering.
 *     cudaEglColorFormatABGR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatABGR             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with ARGB byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatABGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatABGR, __pyx_t_4) < 0) __PYX_ERR(0, 2599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2602
 * 
 *     #: R/G/B/A four channels in one surface with ARGB byte ordering.
 *     cudaEglColorFormatBGRA = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBGRA             # <<<<<<<<<<<<<<
 * 
 *     #: Alpha color format - one channel in one surface.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBGRA); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBGRA, __pyx_t_4) < 0) __PYX_ERR(0, 2602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2605
 * 
 *     #: Alpha color format - one channel in one surface.
 *     cudaEglColorFormatA = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatA             # <<<<<<<<<<<<<<
 * 
 *     #: R/G color format - two channels in one surface with GR byte ordering
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatA); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatA, __pyx_t_4) < 0) __PYX_ERR(0, 2605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2608
 * 
 *     #: R/G color format - two channels in one surface with GR byte ordering
 *     cudaEglColorFormatRG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatRG             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as VUYA.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatRG, __pyx_t_4) < 0) __PYX_ERR(0, 2608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2611
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as VUYA.
 *     cudaEglColorFormatAYUV = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatAYUV             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatAYUV); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatAYUV, __pyx_t_4) < 0) __PYX_ERR(0, 2611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2615
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 *     #: width = Y width, U/V height = Y height.
 *     cudaEglColorFormatYVU444SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU444SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU444SemiPlan, __pyx_t_4) < 0) __PYX_ERR(0, 2615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2619
 *     #: 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.
 *     cudaEglColorFormatYVU422SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU422SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU422SemiPlan, __pyx_t_4) < 0) __PYX_ERR(0, 2619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2623
 *     #: 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.
 *     cudaEglColorFormatYVU420SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420SemiPlan, __pyx_t_4) < 0) __PYX_ERR(0, 2623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2627
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = Y width, U/V height = Y height.
 *     cudaEglColorFormatY10V10U10_444SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_444SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_444SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_444S, __pyx_t_4) < 0) __PYX_ERR(0, 2627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2631
 *     #: 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.
 *     cudaEglColorFormatY10V10U10_420SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_420SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_420S, __pyx_t_4) < 0) __PYX_ERR(0, 2631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2635
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = Y width, U/V height = Y height.
 *     cudaEglColorFormatY12V12U12_444SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12V12U12_444SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_444SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12V12U12_444S, __pyx_t_4) < 0) __PYX_ERR(0, 2635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2639
 *     #: 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.
 *     cudaEglColorFormatY12V12U12_420SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12V12U12_420SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as YVYU in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_420SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12V12U12_420S, __pyx_t_4) < 0) __PYX_ERR(0, 2639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2643
 *     #: Extended Range Y, U, V in one surface, interleaved as YVYU in one
 *     #: channel.
 *     cudaEglColorFormatVYUY_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatVYUY_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as YUYV in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatVYUY_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatVYUY_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2647
 *     #: Extended Range Y, U, V in one surface, interleaved as YUYV in one
 *     #: channel.
 *     cudaEglColorFormatUYVY_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatUYVY_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatUYVY_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatUYVY_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2651
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
 *     #: channel.
 *     cudaEglColorFormatYUYV_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUYV_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as VYUY in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUYV_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUYV_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2655
 *     #: Extended Range Y, U, V in one surface, interleaved as VYUY in one
 *     #: channel.
 *     cudaEglColorFormatYVYU_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVYU_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVYU_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVYU_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2659
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 *     #: as AVUY.
 *     cudaEglColorFormatYUVA_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUVA_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUVA_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUVA_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2663
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 *     #: as VUYA.
 *     cudaEglColorFormatAYUV_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatAYUV_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatAYUV_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatAYUV_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2667
 *     #: Extended Range Y, U, V in three surfaces, U/V width = Y width, U/V
 *     #: height = Y height.
 *     cudaEglColorFormatYUV444Planar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV444Planar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444Planar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV444Planar_E, __pyx_t_4) < 0) __PYX_ERR(0, 2667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2671
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = Y height.
 *     cudaEglColorFormatYUV422Planar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV422Planar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422Planar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV422Planar_E, __pyx_t_4) < 0) __PYX_ERR(0, 2671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2675
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     cudaEglColorFormatYUV420Planar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420Planar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420Planar_E, __pyx_t_4) < 0) __PYX_ERR(0, 2675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2679
 *     #: 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.
 *     cudaEglColorFormatYUV444SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV444SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV444SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV444SemiPlan_2, __pyx_t_4) < 0) __PYX_ERR(0, 2679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2683
 *     #: 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.
 *     cudaEglColorFormatYUV422SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV422SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV422SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV422SemiPlan_2, __pyx_t_4) < 0) __PYX_ERR(0, 2683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2687
 *     #: 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.
 *     cudaEglColorFormatYUV420SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420SemiPlan_2, __pyx_t_4) < 0) __PYX_ERR(0, 2687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2691
 *     #: Extended Range Y, V, U in three surfaces, U/V width = Y width, U/V
 *     #: height = Y height.
 *     cudaEglColorFormatYVU444Planar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU444Planar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444Planar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU444Planar_E, __pyx_t_4) < 0) __PYX_ERR(0, 2691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2695
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = Y height.
 *     cudaEglColorFormatYVU422Planar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU422Planar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422Planar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU422Planar_E, __pyx_t_4) < 0) __PYX_ERR(0, 2695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2699
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     cudaEglColorFormatYVU420Planar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420Planar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420Planar_E, __pyx_t_4) < 0) __PYX_ERR(0, 2699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2703
 *     #: 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.
 *     cudaEglColorFormatYVU444SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU444SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU444SemiPlan_2, __pyx_t_4) < 0) __PYX_ERR(0, 2703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2707
 *     #: 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.
 *     cudaEglColorFormatYVU422SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU422SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU422SemiPlan_2, __pyx_t_4) < 0) __PYX_ERR(0, 2707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2711
 *     #: 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.
 *     cudaEglColorFormatYVU420SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420SemiPlan_2, __pyx_t_4) < 0) __PYX_ERR(0, 2711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2715
 *     #: Bayer format - one channel in one surface with interleaved RGGB
 *     #: ordering.
 *     cudaEglColorFormatBayerRGGB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerRGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerRGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerRGGB, __pyx_t_4) < 0) __PYX_ERR(0, 2715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2719
 *     #: Bayer format - one channel in one surface with interleaved BGGR
 *     #: ordering.
 *     cudaEglColorFormatBayerBGGR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerBGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerBGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerBGGR, __pyx_t_4) < 0) __PYX_ERR(0, 2719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2723
 *     #: Bayer format - one channel in one surface with interleaved GRBG
 *     #: ordering.
 *     cudaEglColorFormatBayerGRBG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerGRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerGRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerGRBG, __pyx_t_4) < 0) __PYX_ERR(0, 2723, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2727
 *     #: Bayer format - one channel in one surface with interleaved GBRG
 *     #: ordering.
 *     cudaEglColorFormatBayerGBRG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerGBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerGBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerGBRG, __pyx_t_4) < 0) __PYX_ERR(0, 2727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2731
 *     #: Bayer10 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     cudaEglColorFormatBayer10RGGB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer10RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer10RGGB, __pyx_t_4) < 0) __PYX_ERR(0, 2731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2735
 *     #: Bayer10 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     cudaEglColorFormatBayer10BGGR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer10BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer10BGGR, __pyx_t_4) < 0) __PYX_ERR(0, 2735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2739
 *     #: Bayer10 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     cudaEglColorFormatBayer10GRBG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer10GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer10GRBG, __pyx_t_4) < 0) __PYX_ERR(0, 2739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2743
 *     #: Bayer10 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     cudaEglColorFormatBayer10GBRG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer10GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer10GBRG, __pyx_t_4) < 0) __PYX_ERR(0, 2743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2747
 *     #: Bayer12 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12RGGB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12RGGB, __pyx_t_4) < 0) __PYX_ERR(0, 2747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2751
 *     #: Bayer12 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12BGGR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12BGGR, __pyx_t_4) < 0) __PYX_ERR(0, 2751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2755
 *     #: Bayer12 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12GRBG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12GRBG, __pyx_t_4) < 0) __PYX_ERR(0, 2755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2759
 *     #: Bayer12 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12GBRG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12GBRG, __pyx_t_4) < 0) __PYX_ERR(0, 2759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2763
 *     #: Bayer14 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     cudaEglColorFormatBayer14RGGB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer14RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer14RGGB, __pyx_t_4) < 0) __PYX_ERR(0, 2763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2767
 *     #: Bayer14 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     cudaEglColorFormatBayer14BGGR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer14BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer14BGGR, __pyx_t_4) < 0) __PYX_ERR(0, 2767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2771
 *     #: Bayer14 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     cudaEglColorFormatBayer14GRBG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer14GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer14GRBG, __pyx_t_4) < 0) __PYX_ERR(0, 2771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2775
 *     #: Bayer14 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     cudaEglColorFormatBayer14GBRG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer14GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer14GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer14GBRG, __pyx_t_4) < 0) __PYX_ERR(0, 2775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2779
 *     #: Bayer20 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     cudaEglColorFormatBayer20RGGB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer20RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer20RGGB, __pyx_t_4) < 0) __PYX_ERR(0, 2779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2783
 *     #: Bayer20 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     cudaEglColorFormatBayer20BGGR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer20BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer20BGGR, __pyx_t_4) < 0) __PYX_ERR(0, 2783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2787
 *     #: Bayer20 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     cudaEglColorFormatBayer20GRBG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer20GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer20GRBG, __pyx_t_4) < 0) __PYX_ERR(0, 2787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2791
 *     #: Bayer20 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     cudaEglColorFormatBayer20GBRG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer20GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer20GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer20GBRG, __pyx_t_4) < 0) __PYX_ERR(0, 2791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2795
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width = Y
 *     #: width, U/V height = Y height.
 *     cudaEglColorFormatYVU444Planar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU444Planar             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU444Planar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU444Planar, __pyx_t_4) < 0) __PYX_ERR(0, 2795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2799
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 *     #: 1/2 Y width, U/V height = Y height.
 *     cudaEglColorFormatYVU422Planar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU422Planar             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU422Planar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU422Planar, __pyx_t_4) < 0) __PYX_ERR(0, 2799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2803
 *     #: 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.
 *     cudaEglColorFormatYVU420Planar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420Planar             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420Planar, __pyx_t_4) < 0) __PYX_ERR(0, 2803, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2808
 *     #: with interleaved RGGB ordering and mapped to opaque integer
 *     #: datatype.
 *     cudaEglColorFormatBayerIspRGGB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerIspRGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspRGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerIspRGGB, __pyx_t_4) < 0) __PYX_ERR(0, 2808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2813
 *     #: with interleaved BGGR ordering and mapped to opaque integer
 *     #: datatype.
 *     cudaEglColorFormatBayerIspBGGR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerIspBGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspBGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerIspBGGR, __pyx_t_4) < 0) __PYX_ERR(0, 2813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2818
 *     #: with interleaved GRBG ordering and mapped to opaque integer
 *     #: datatype.
 *     cudaEglColorFormatBayerIspGRBG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerIspGRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspGRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerIspGRBG, __pyx_t_4) < 0) __PYX_ERR(0, 2818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2823
 *     #: with interleaved GBRG ordering and mapped to opaque integer
 *     #: datatype.
 *     cudaEglColorFormatBayerIspGBRG = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerIspGBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved BCCR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerIspGBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerIspGBRG, __pyx_t_4) < 0) __PYX_ERR(0, 2823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2827
 *     #: Bayer format - one channel in one surface with interleaved BCCR
 *     #: ordering.
 *     cudaEglColorFormatBayerBCCR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerBCCR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved RCCB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerBCCR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerBCCR, __pyx_t_4) < 0) __PYX_ERR(0, 2827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2831
 *     #: Bayer format - one channel in one surface with interleaved RCCB
 *     #: ordering.
 *     cudaEglColorFormatBayerRCCB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerRCCB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved CRBC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerRCCB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerRCCB, __pyx_t_4) < 0) __PYX_ERR(0, 2831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2835
 *     #: Bayer format - one channel in one surface with interleaved CRBC
 *     #: ordering.
 *     cudaEglColorFormatBayerCRBC = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerCRBC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved CBRC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerCRBC); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerCRBC, __pyx_t_4) < 0) __PYX_ERR(0, 2835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2839
 *     #: Bayer format - one channel in one surface with interleaved CBRC
 *     #: ordering.
 *     cudaEglColorFormatBayerCBRC = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayerCBRC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved CCCC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayerCBRC); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayerCBRC, __pyx_t_4) < 0) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2843
 *     #: Bayer10 format - one channel in one surface with interleaved CCCC
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     cudaEglColorFormatBayer10CCCC = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer10CCCC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved BCCR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer10CCCC); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer10CCCC, __pyx_t_4) < 0) __PYX_ERR(0, 2843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2847
 *     #: Bayer12 format - one channel in one surface with interleaved BCCR
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12BCCR = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12BCCR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved RCCB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12BCCR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12BCCR, __pyx_t_4) < 0) __PYX_ERR(0, 2847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2851
 *     #: Bayer12 format - one channel in one surface with interleaved RCCB
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12RCCB = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12RCCB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CRBC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12RCCB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12RCCB, __pyx_t_4) < 0) __PYX_ERR(0, 2851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2855
 *     #: Bayer12 format - one channel in one surface with interleaved CRBC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12CRBC = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12CRBC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CBRC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12CRBC); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12CRBC, __pyx_t_4) < 0) __PYX_ERR(0, 2855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2859
 *     #: Bayer12 format - one channel in one surface with interleaved CBRC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12CBRC = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12CBRC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CCCC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12CBRC); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12CBRC, __pyx_t_4) < 0) __PYX_ERR(0, 2859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2863
 *     #: Bayer12 format - one channel in one surface with interleaved CCCC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     cudaEglColorFormatBayer12CCCC = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatBayer12CCCC             # <<<<<<<<<<<<<<
 * 
 *     #: Color format for single Y plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatBayer12CCCC); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatBayer12CCCC, __pyx_t_4) < 0) __PYX_ERR(0, 2863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2866
 * 
 *     #: Color format for single Y plane.
 *     cudaEglColorFormatY = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY, __pyx_t_4) < 0) __PYX_ERR(0, 2866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2870
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     cudaEglColorFormatYUV420SemiPlanar_2020 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420SemiPlan_3, __pyx_t_4) < 0) __PYX_ERR(0, 2870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2874
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     cudaEglColorFormatYVU420SemiPlanar_2020 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420SemiPlanar_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420SemiPlan_3, __pyx_t_4) < 0) __PYX_ERR(0, 2874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2878
 *     #: 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.
 *     cudaEglColorFormatYUV420Planar_2020 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420Planar_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420Planar_2, __pyx_t_4) < 0) __PYX_ERR(0, 2878, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2882
 *     #: 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.
 *     cudaEglColorFormatYVU420Planar_2020 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420Planar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420Planar_2, __pyx_t_4) < 0) __PYX_ERR(0, 2882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2886
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     cudaEglColorFormatYUV420SemiPlanar_709 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420SemiPlanar_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420SemiPlan_4, __pyx_t_4) < 0) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2890
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     cudaEglColorFormatYVU420SemiPlanar_709 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420SemiPlanar_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420SemiPlanar_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420SemiPlan_4, __pyx_t_4) < 0) __PYX_ERR(0, 2890, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2894
 *     #: 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.
 *     cudaEglColorFormatYUV420Planar_709 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUV420Planar_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUV420Planar_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUV420Planar_7, __pyx_t_4) < 0) __PYX_ERR(0, 2894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2898
 *     #: 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.
 *     cudaEglColorFormatYVU420Planar_709 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVU420Planar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVU420Planar_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVU420Planar_7, __pyx_t_4) < 0) __PYX_ERR(0, 2898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2902
 *     #: Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = 1/2 Y height.
 *     cudaEglColorFormatY10V10U10_420SemiPlanar_709 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_420SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_420S_2, __pyx_t_4) < 0) __PYX_ERR(0, 2902, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2906
 *     #: Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = 1/2 Y height.
 *     cudaEglColorFormatY10V10U10_420SemiPlanar_2020 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_420SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_420S_3, __pyx_t_4) < 0) __PYX_ERR(0, 2906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2910
 *     #: Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     cudaEglColorFormatY10V10U10_422SemiPlanar_2020 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_422SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_422SemiPlanar_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_422S, __pyx_t_4) < 0) __PYX_ERR(0, 2910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2914
 *     #: Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     cudaEglColorFormatY10V10U10_422SemiPlanar = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_422SemiPlanar             # <<<<<<<<<<<<<<
 * 
 *     #: 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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_422SemiPlanar); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_422S_2, __pyx_t_4) < 0) __PYX_ERR(0, 2914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2918
 *     #: Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     cudaEglColorFormatY10V10U10_422SemiPlanar_709 = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_422SemiPlanar_709             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_422SemiPlanar_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_422S_3, __pyx_t_4) < 0) __PYX_ERR(0, 2918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2921
 * 
 *     #: Extended Range Color format for single Y plane.
 *     cudaEglColorFormatY_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2921, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2924
 * 
 *     #: Extended Range Color format for single Y plane.
 *     cudaEglColorFormatY_709_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y10 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY_709_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2927
 * 
 *     #: Extended Range Color format for single Y10 plane.
 *     cudaEglColorFormatY10_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y10 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2930
 * 
 *     #: Extended Range Color format for single Y10 plane.
 *     cudaEglColorFormatY10_709_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y12 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10_709_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2933
 * 
 *     #: Extended Range Color format for single Y12 plane.
 *     cudaEglColorFormatY12_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y12 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2936
 * 
 *     #: Extended Range Color format for single Y12 plane.
 *     cudaEglColorFormatY12_709_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as AVUY.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12_709_ER, __pyx_t_4) < 0) __PYX_ERR(0, 2936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2939
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as AVUY.
 *     cudaEglColorFormatYUVA = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYUVA             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as YVYU in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYUVA); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYUVA, __pyx_t_4) < 0) __PYX_ERR(0, 2939, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2942
 * 
 *     #: Y, U, V in one surface, interleaved as YVYU in one channel.
 *     cudaEglColorFormatYVYU = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatYVYU             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as VYUY in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatYVYU); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatYVYU, __pyx_t_4) < 0) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2945
 * 
 *     #: Y, U, V in one surface, interleaved as VYUY in one channel.
 *     cudaEglColorFormatVYUY = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatVYUY             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatVYUY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatVYUY, __pyx_t_4) < 0) __PYX_ERR(0, 2945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2949
 *     #: 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.
 *     cudaEglColorFormatY10V10U10_420SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_420SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_420S_4, __pyx_t_4) < 0) __PYX_ERR(0, 2949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2953
 *     #: 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.
 *     cudaEglColorFormatY10V10U10_420SemiPlanar_709_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_420SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_420SemiPlanar_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_420S_5, __pyx_t_4) < 0) __PYX_ERR(0, 2953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2957
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     cudaEglColorFormatY10V10U10_444SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_444SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_444SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_444S_2, __pyx_t_4) < 0) __PYX_ERR(0, 2957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2961
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     cudaEglColorFormatY10V10U10_444SemiPlanar_709_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY10V10U10_444SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY10V10U10_444SemiPlanar_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY10V10U10_444S_3, __pyx_t_4) < 0) __PYX_ERR(0, 2961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2965
 *     #: 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.
 *     cudaEglColorFormatY12V12U12_420SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12V12U12_420SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_420SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12V12U12_420S_2, __pyx_t_4) < 0) __PYX_ERR(0, 2965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2969
 *     #: 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.
 *     cudaEglColorFormatY12V12U12_420SemiPlanar_709_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12V12U12_420SemiPlanar_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_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_420SemiPlanar_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12V12U12_420S_3, __pyx_t_4) < 0) __PYX_ERR(0, 2969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2973
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     cudaEglColorFormatY12V12U12_444SemiPlanar_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12V12U12_444SemiPlanar_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_444SemiPlanar_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12V12U12_444S_2, __pyx_t_4) < 0) __PYX_ERR(0, 2973, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2977
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER = ccudart.cudaEglColorFormat_enum.cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaArray_t:
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(__pyx_e_4cuda_7ccudart_cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_cudaEglColorFormatY12V12U12_444S_3, __pyx_t_4) < 0) __PYX_ERR(0, 2977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":2550
 *     cudaEglResourceLocationVidmem = ccudart.cudaEglResourceLocationFlags_enum.cudaEglResourceLocationVidmem
 * 
 * class cudaEglColorFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGL Color Format - The different planar and multiplanar
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaEglColorFormat, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEglColorFormat, __pyx_t_4) < 0) __PYX_ERR(0, 2550, __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_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3004
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaArray_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArray_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaArray_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaArray_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArray_t___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaArray_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArray_t___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3032
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaArray_const_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArray_const_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaArray_const_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaArray_const_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArray_const_t___reduce_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaArray_const_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArray_const_t___setstate_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3060
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMipmappedArray_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMipmappedArray_t___reduce_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMipmappedArray_t___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3088
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMipmappedArray_const_t_getPt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMipmappedArray_const_t___red, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMipmappedArray_const_t___set, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3116
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaGraphicsResource_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaGraphicsResource_t___reduce, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaGraphicsResource_t___setstat, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3144
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemory_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalMemory_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemory_t___reduce_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemory_t___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3172
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphore_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphore_t___reduce, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphore_t___setsta, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3198
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11EGLImageKHR_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLImageKHR_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_EGLImageKHR->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11EGLImageKHR_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLImageKHR___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11EGLImageKHR_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLImageKHR___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3224
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12EGLStreamKHR_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLStreamKHR_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_EGLStreamKHR->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12EGLStreamKHR_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLStreamKHR___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12EGLStreamKHR_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLStreamKHR___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3250
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_10EGLSyncKHR_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLSyncKHR_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_EGLSyncKHR->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_10EGLSyncKHR_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLSyncKHR___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_10EGLSyncKHR_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLSyncKHR___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3276
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12cudaHostFn_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostFn_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostFn_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaHostFn_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12cudaHostFn_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostFn_t___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12cudaHostFn_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostFn_t___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3302
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamCallback_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStreamCallback_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaStreamCallback_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamCallback_t___reduce_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamCallback_t___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3332
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_4dim3_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_dim3_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_dim3->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_dim3);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_4dim3_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_dim3___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_4dim3_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_dim3___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3398
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaChannelFormatDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaChannelFormatDesc_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaChannelFormatDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaChannelFormatDesc___reduce_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaChannelFormatDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaChannelFormatDesc___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3470
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArraySparseProperties_tileE_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArraySparseProperties_tileE_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__75)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_39_cudaArraySparseProperties_tileExtent_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArraySparseProperties_tileE_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3536
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_25cudaArraySparseProperties_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArraySparseProperties_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_25cudaArraySparseProperties_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArraySparseProperties___redu, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_25cudaArraySparseProperties_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArraySparseProperties___sets, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__84)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3618
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_27cudaArrayMemoryRequirements_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArrayMemoryRequirements_getP, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__86)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArrayMemoryRequirements->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaArrayMemoryRequirements);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_27cudaArrayMemoryRequirements_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArrayMemoryRequirements___re, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_27cudaArrayMemoryRequirements_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArrayMemoryRequirements___se, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__89)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3682
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_14cudaPitchedPtr_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPitchedPtr_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__91)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaPitchedPtr);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_14cudaPitchedPtr_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPitchedPtr___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__92)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_14cudaPitchedPtr_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPitchedPtr___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__94)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3753
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_10cudaExtent_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExtent_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__96)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExtent);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_10cudaExtent_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExtent___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__97)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_10cudaExtent_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExtent___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__99)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3815
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_7cudaPos_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPos_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__101)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaPos);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_7cudaPos_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPos___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__102)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_7cudaPos_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPos___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3893
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaMemcpy3DParms_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemcpy3DParms_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__106)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 3893, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaMemcpy3DParms_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemcpy3DParms___reduce_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__107)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaMemcpy3DParms_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemcpy3DParms___setstate_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__109)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4049
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaMemcpy3DPeerParms_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemcpy3DPeerParms_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__111)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaMemcpy3DPeerParms_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemcpy3DPeerParms___reduce_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__112)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaMemcpy3DPeerParms_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemcpy3DPeerParms___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__114)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4201
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaMemsetParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemsetParams_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__116)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemsetParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemsetParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaMemsetParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemsetParams___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__117)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaMemsetParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemsetParams___setstate_cyth, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__119)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4302
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaAccessPolicyWindow_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaAccessPolicyWindow_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__121)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaAccessPolicyWindow_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaAccessPolicyWindow___reduce, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__122)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaAccessPolicyWindow_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaAccessPolicyWindow___setstat, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__124)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4378
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaHostNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostNodeParams_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__126)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaHostNodeParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaHostNodeParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostNodeParams___reduce_cyth, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__127)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaHostNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostNodeParams___setstate_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__129)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4430
 *     def __init__(self, void_ptr _ptr):
 *         self._array = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].res.array.array)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_array_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__131)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_array_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_array_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_array_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__132)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33_cudaResourceDesc_res_res_array_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_array_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__134)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4474
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = cudaMipmappedArray_t(_ptr=<void_ptr>&self._ptr[0].res.mipmap.mipmap)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_mipmap_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__136)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_mipmap_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_mipmap_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_mipmap_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__139)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4522
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.linear.desc)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_linear_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__141)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_linear_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_linear_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_linear_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__142)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_34_cudaResourceDesc_res_res_linear_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_linear_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__144)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4586
 *     def __init__(self, void_ptr _ptr):
 *         self._desc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.desc)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_pitch2_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__146)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_pitch2_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__147)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35_cudaResourceDesc_res_res_pitch2D_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_res_pitch2_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__149)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4667
 *         self._linear = _cudaResourceDesc_res_res_linear_s(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = _cudaResourceDesc_res_res_pitch2D_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23_cudaResourceDesc_res_u_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_u_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__151)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_u);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23_cudaResourceDesc_res_u_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_u___reduce, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__152)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23_cudaResourceDesc_res_u_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_res_u___setsta, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__154)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4751
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaResourceDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__156)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaResourceDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaResourceDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__157)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaResourceDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceDesc___setstate_cyth, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__159)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4819
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaResourceViewDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceViewDesc_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__161)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceViewDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaResourceViewDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaResourceViewDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceViewDesc___reduce_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__162)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaResourceViewDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceViewDesc___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__164)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4934
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaPointerAttributes_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPointerAttributes_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__166)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPointerAttributes->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 4934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaPointerAttributes);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaPointerAttributes_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPointerAttributes___reduce_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__167)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaPointerAttributes_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPointerAttributes___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__169)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5037
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaFuncAttributes_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaFuncAttributes_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__171)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaFuncAttributes->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaFuncAttributes);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaFuncAttributes_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaFuncAttributes___reduce_cyth, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__172)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaFuncAttributes_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaFuncAttributes___setstate_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__174)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5143
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaMemLocation_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemLocation_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__176)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemLocation->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemLocation);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaMemLocation_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemLocation___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__177)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaMemLocation_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemLocation___setstate_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__179)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5195
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaMemAccessDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAccessDesc_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__181)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAccessDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemAccessDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaMemAccessDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAccessDesc___reduce_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__182)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaMemAccessDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAccessDesc___setstate_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__184)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5262
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaMemPoolProps_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemPoolProps_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__186)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolProps->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemPoolProps);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaMemPoolProps_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemPoolProps___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__187)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16cudaMemPoolProps_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemPoolProps___setstate_cyth, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5342
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_24cudaMemPoolPtrExportData_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemPoolPtrExportData_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__191)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_24cudaMemPoolPtrExportData_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemPoolPtrExportData___reduc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__192)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_24cudaMemPoolPtrExportData_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemPoolPtrExportData___setst, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__194)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5399
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAllocNodeParams_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__196)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAllocNodeParams___reduce, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__197)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAllocNodeParams___setstat, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__199)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5489
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9CUuuid_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuuid_st_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__201)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_CUuuid_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9CUuuid_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuuid_st___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__202)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9CUuuid_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuuid_st___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__204)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5701
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_14cudaDeviceProp_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaDeviceProp_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__206)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaDeviceProp->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 5701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaDeviceProp);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_14cudaDeviceProp_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaDeviceProp___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_14cudaDeviceProp_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaDeviceProp___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__209)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6389
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaIpcEventHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaIpcEventHandle_st_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__211)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaIpcEventHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaIpcEventHandle_st___reduce_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__212)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaIpcEventHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaIpcEventHandle_st___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__214)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6441
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaIpcMemHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaIpcMemHandle_st_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__216)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaIpcMemHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaIpcMemHandle_st___reduce_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__217)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaIpcMemHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaIpcMemHandle_st___setstate_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__219)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6489
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc_ha_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__221)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc_ha_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__222)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_51_cudaExternalMemoryHandleDesc_handle_handle_win32_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc_ha_5, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__224)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6537
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalMemoryHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc_ha_6, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__226)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc_ha_7, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__227)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_38_cudaExternalMemoryHandleDesc_handle_u_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc_ha_8, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6605
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryHandleDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc_get, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__231)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryHandleDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalMemoryHandleDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryHandleDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc___r, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__232)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryHandleDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc___s, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__234)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6679
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryBufferDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryBufferDesc_get, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__236)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryBufferDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalMemoryBufferDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryBufferDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryBufferDesc___r, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__237)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryBufferDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryBufferDesc___s, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__239)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6748
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryMipmappedArray_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__241)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryMipmappedArray_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__242)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryMipmappedArray_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__244)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6826
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__246)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6826, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_5, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__247)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreHandleDesc_handle_handle_win32_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_6, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__249)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6874
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_7, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__251)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_8, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__252)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreHandleDesc_handle_u_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_9, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__254)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6940
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_10, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__256)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreHandleDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6940, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreHandleDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_11, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__257)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_12, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__259)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6996
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_5, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__261)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 6996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_6, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__262)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_56_cudaExternalSemaphoreSignalParams_params_params_fence_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_7, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__264)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7034
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_8, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__266)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7034, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_9, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__267)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_60_cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_10, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__269)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7078
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_11, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__271)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_12, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__272)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_61_cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_13, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__274)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7122
 *         self._nvSciSync = _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_14, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__276)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_15, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__277)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_43_cudaExternalSemaphoreSignalParams_params_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalPara_16, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__279)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7211
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalParam_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__281)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalParam_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__282)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalParam_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__284)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7267
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_6, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__286)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_7, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__287)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_54_cudaExternalSemaphoreWaitParams_params_params_fence_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_8, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__289)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7305
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_9, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__291)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_10, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__292)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_58_cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_11, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__294)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7351
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_12, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__296)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_13, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__297)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_59_cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_14, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__299)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7403
 *         self._nvSciSync = _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s(_ptr=<void_ptr>self._ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_15, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__301)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_16, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__302)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41_cudaExternalSemaphoreWaitParams_params_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_17, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__304)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7492
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_18, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__306)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_19, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__307)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_20, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__309)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7565
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaKernelNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaKernelNodeParams_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__311)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaKernelNodeParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaKernelNodeParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaKernelNodeParams___reduce_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__312)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaKernelNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaKernelNodeParams___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__314)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7662
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalNodeP_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__316)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalNodeP_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__317)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalNodeP_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__319)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7754
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitNodePar_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__321)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitNodePar_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__322)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitNodePar_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__324)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7836
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue_cudaLa_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__326)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue_cudaLa_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__327)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_88_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_clusterDim_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue_cudaLa_5, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__329)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7892
 *     def __init__(self, void_ptr _ptr):
 *         self._event = cudaEvent_t(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue_cudaLa_6, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__331)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue_cudaLa_7, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__332)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_95_cudaLaunchAttributeValue_cudaLaunchAttributeValue_cudaLaunchAttributeValue_programmaticEvent_s_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue_cudaLa_8, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__334)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7977
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_24cudaLaunchAttributeValue_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__336)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 7977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaLaunchAttributeValue);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_24cudaLaunchAttributeValue_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue___reduc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__337)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_24cudaLaunchAttributeValue_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttributeValue___setst, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__339)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8098
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaLaunchAttribute_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttribute_st_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__341)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaLaunchAttribute_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaLaunchAttribute_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaLaunchAttribute_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttribute_st___reduce, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__342)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaLaunchAttribute_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaLaunchAttribute_st___setstat, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__344)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8174
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaTextureDesc_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureDesc_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__346)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaTextureDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaTextureDesc_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureDesc___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__347)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaTextureDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureDesc___setstate_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__349)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8326
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaTextureDesc_v2_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureDesc_v2_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__351)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc_v2->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaTextureDesc_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaTextureDesc_v2_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureDesc_v2___reduce_cyth, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__352)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_18cudaTextureDesc_v2_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureDesc_v2___setstate_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__354)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8476
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaEglPlaneDesc_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglPlaneDesc_st_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__356)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaEglPlaneDesc_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaEglPlaneDesc_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglPlaneDesc_st___reduce_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__357)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaEglPlaneDesc_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglPlaneDesc_st___setstate_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__359)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8566
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_5getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__361)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart__cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__362)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_50_cudaEglFrame_cudaEglFrame_cudaEglFrame_st_frame_u_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglFrame_cudaEglFrame_cudaE_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__364)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8639
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaEglFrame_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglFrame_st_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__366)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEglFrame_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaEglFrame_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaEglFrame_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglFrame_st___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__367)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaEglFrame_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaEglFrame_st___setstate_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__369)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8720
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6GLenum_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLenum_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__371)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_GLenum->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6GLenum_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLenum___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__372)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6GLenum_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLenum___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__374)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8745
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6GLuint_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLuint_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__376)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_GLuint->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6GLuint_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLuint___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__377)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6GLuint_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLuint___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__379)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8770
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6EGLint_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLint_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__381)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_EGLint->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8770, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6EGLint_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLint___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__382)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_6EGLint_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLint___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__384)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8795
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9VdpDevice_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpDevice_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__386)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_VdpDevice->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9VdpDevice_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpDevice___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__387)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9VdpDevice_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpDevice___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__389)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8820
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17VdpGetProcAddress_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpGetProcAddress_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__391)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_VdpGetProcAddress->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17VdpGetProcAddress_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpGetProcAddress___reduce_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__392)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17VdpGetProcAddress_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpGetProcAddress___setstate_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__394)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8845
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15VdpVideoSurface_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpVideoSurface_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__396)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_VdpVideoSurface->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15VdpVideoSurface_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpVideoSurface___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__397)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15VdpVideoSurface_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpVideoSurface___setstate_cytho, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__399)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8870
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16VdpOutputSurface_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpOutputSurface_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__401)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_VdpOutputSurface->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16VdpOutputSurface_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpOutputSurface___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__402)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_16VdpOutputSurface_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpOutputSurface___setstate_cyth, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__404)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8897
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaSurfaceObject_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaSurfaceObject_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__406)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8897, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaSurfaceObject_t_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaSurfaceObject_t___reduce_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__407)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaSurfaceObject_t_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaSurfaceObject_t___setstate_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__409)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8924
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaTextureObject_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureObject_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__411)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_1) < 0) __PYX_ERR(0, 8924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaTextureObject_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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaTextureObject_t_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureObject_t___reduce_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__412)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaTextureObject_t_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureObject_t___setstate_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__414)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_1) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8928
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUGetDevice(vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Gets the CUDA device associated with a VdpDevice.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_1cudaVDPAUGetDevice, 0, __pyx_n_s_cudaVDPAUGetDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__416)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaVDPAUGetDevice, __pyx_t_1) < 0) __PYX_ERR(0, 8928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8978
 * 
 * @cython.embedsignature(True)
 * def cudaVDPAUSetVDPAUDevice(int device, vdpDevice, vdpGetProcAddress):             # <<<<<<<<<<<<<<
 *     """ Sets a CUDA device to use VDPAU interoperability.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_3cudaVDPAUSetVDPAUDevice, 0, __pyx_n_s_cudaVDPAUSetVDPAUDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__417)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaVDPAUSetVDPAUDevice, __pyx_t_1) < 0) __PYX_ERR(0, 8978, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9033
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpVideoSurface object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_5cudaGraphicsVDPAURegisterVideoSurface, 0, __pyx_n_s_cudaGraphicsVDPAURegisterVideoSu, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__418)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsVDPAURegisterVideoSu, __pyx_t_1) < 0) __PYX_ERR(0, 9033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9086
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register a VdpOutputSurface object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_7cudaGraphicsVDPAURegisterOutputSurface, 0, __pyx_n_s_cudaGraphicsVDPAURegisterOutputS, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__419)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsVDPAURegisterOutputS, __pyx_t_1) < 0) __PYX_ERR(0, 9086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9139
 * 
 * @cython.embedsignature(True)
 * def cudaGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : cudaGLDeviceList):             # <<<<<<<<<<<<<<
 *     """ Gets the CUDA devices associated with the current OpenGL context.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaGLDeviceList); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_deviceList, __pyx_t_2) < 0) __PYX_ERR(0, 9139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9cudaGLGetDevices, 0, __pyx_n_s_cudaGLGetDevices, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__420)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGLGetDevices, __pyx_t_2) < 0) __PYX_ERR(0, 9139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9201
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterImage(image, target, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Register an OpenGL texture or renderbuffer object.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaGraphicsGLRegisterImage, 0, __pyx_n_s_cudaGraphicsGLRegisterImage, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__421)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsGLRegisterImage, __pyx_t_2) < 0) __PYX_ERR(0, 9201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9299
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsGLRegisterBuffer(buffer, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an OpenGL buffer object.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_13cudaGraphicsGLRegisterBuffer, 0, __pyx_n_s_cudaGraphicsGLRegisterBuffer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__422)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsGLRegisterBuffer, __pyx_t_2) < 0) __PYX_ERR(0, 9299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9352
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceReset():             # <<<<<<<<<<<<<<
 *     """ Destroy all allocations and reset all state on the current device in the current process.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaDeviceReset, 0, __pyx_n_s_cudaDeviceReset, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__423)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceReset, __pyx_t_2) < 0) __PYX_ERR(0, 9352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9386
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaDeviceSynchronize, 0, __pyx_n_s_cudaDeviceSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__424)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSynchronize, __pyx_t_2) < 0) __PYX_ERR(0, 9386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9410
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaLimit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_limit, __pyx_t_1) < 0) __PYX_ERR(0, 9410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaDeviceSetLimit, 0, __pyx_n_s_cudaDeviceSetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__425)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSetLimit, __pyx_t_1) < 0) __PYX_ERR(0, 9410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9509
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaLimit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_limit, __pyx_t_2) < 0) __PYX_ERR(0, 9509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaDeviceGetLimit, 0, __pyx_n_s_cudaDeviceGetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__426)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetLimit, __pyx_t_2) < 0) __PYX_ERR(0, 9509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9561
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetTexture1DLinearMaxWidth(fmtDesc : cudaChannelFormatDesc, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given element size.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fmtDesc, __pyx_n_u_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 9561, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaDeviceGetTexture1DLinearMaxWidth, 0, __pyx_n_s_cudaDeviceGetTexture1DLinearMaxW, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__427)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetTexture1DLinearMaxW, __pyx_t_1) < 0) __PYX_ERR(0, 9561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9593
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_25cudaDeviceGetCacheConfig, 0, __pyx_n_s_cudaDeviceGetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__428)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetCacheConfig, __pyx_t_1) < 0) __PYX_ERR(0, 9593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9637
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetStreamPriorityRange():             # <<<<<<<<<<<<<<
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_27cudaDeviceGetStreamPriorityRange, 0, __pyx_n_s_cudaDeviceGetStreamPriorityRange, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__429)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetStreamPriorityRange, __pyx_t_1) < 0) __PYX_ERR(0, 9637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9678
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaFuncCache); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cacheConfig, __pyx_t_2) < 0) __PYX_ERR(0, 9678, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_29cudaDeviceSetCacheConfig, 0, __pyx_n_s_cudaDeviceSetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__430)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSetCacheConfig, __pyx_t_2) < 0) __PYX_ERR(0, 9678, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9732
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetSharedMemConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the shared memory configuration for the current device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaDeviceGetSharedMemConfig, 0, __pyx_n_s_cudaDeviceGetSharedMemConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__431)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetSharedMemConfig, __pyx_t_2) < 0) __PYX_ERR(0, 9732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9768
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetSharedMemConfig(config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for the current device.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaSharedMemConfig); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_config, __pyx_t_1) < 0) __PYX_ERR(0, 9768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33cudaDeviceSetSharedMemConfig, 0, __pyx_n_s_cudaDeviceSetSharedMemConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__432)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSetSharedMemConfig, __pyx_t_1) < 0) __PYX_ERR(0, 9768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9819
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetByPCIBusId(char* pciBusId):             # <<<<<<<<<<<<<<
 *     """ Returns a handle to a compute device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35cudaDeviceGetByPCIBusId, 0, __pyx_n_s_cudaDeviceGetByPCIBusId, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__433)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetByPCIBusId, __pyx_t_1) < 0) __PYX_ERR(0, 9819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9848
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetPCIBusId(int length, int device):             # <<<<<<<<<<<<<<
 *     """ Returns a PCI Bus Id string for the device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_37cudaDeviceGetPCIBusId, 0, __pyx_n_s_cudaDeviceGetPCIBusId, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__434)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetPCIBusId, __pyx_t_1) < 0) __PYX_ERR(0, 9848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9883
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetEventHandle(event):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess handle for a previously allocated event.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_39cudaIpcGetEventHandle, 0, __pyx_n_s_cudaIpcGetEventHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__436)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcGetEventHandle, __pyx_t_1) < 0) __PYX_ERR(0, 9883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9937
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenEventHandle(handle not None : cudaIpcEventHandle_t):             # <<<<<<<<<<<<<<
 *     """ Opens an interprocess event handle for use in the current process.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_handle_2, __pyx_n_u_cudaIpcEventHandle_t) < 0) __PYX_ERR(0, 9937, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41cudaIpcOpenEventHandle, 0, __pyx_n_s_cudaIpcOpenEventHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__437)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcOpenEventHandle, __pyx_t_2) < 0) __PYX_ERR(0, 9937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":9975
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_43cudaIpcGetMemHandle, 0, __pyx_n_s_cudaIpcGetMemHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__438)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcGetMemHandle, __pyx_t_2) < 0) __PYX_ERR(0, 9975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10016
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenMemHandle(handle not None : cudaIpcMemHandle_t, 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(0, 10016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_handle_2, __pyx_n_u_cudaIpcMemHandle_t) < 0) __PYX_ERR(0, 10016, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_45cudaIpcOpenMemHandle, 0, __pyx_n_s_cudaIpcOpenMemHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__439)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcOpenMemHandle, __pyx_t_1) < 0) __PYX_ERR(0, 10016, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10080
 * 
 * @cython.embedsignature(True)
 * def cudaIpcCloseMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Attempts to close memory mapped with cudaIpcOpenMemHandle.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_47cudaIpcCloseMemHandle, 0, __pyx_n_s_cudaIpcCloseMemHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__440)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcCloseMemHandle, __pyx_t_1) < 0) __PYX_ERR(0, 10080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10116
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceFlushGPUDirectRDMAWrites(target not None : cudaFlushGPUDirectRDMAWritesTarget, scope not None : cudaFlushGPUDirectRDMAWritesScope):             # <<<<<<<<<<<<<<
 *     """ Blocks until remote writes are visible to the specified scope.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_target, __pyx_t_2) < 0) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaFlushGPUDirectRDMAWritesScop); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_scope, __pyx_t_2) < 0) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_49cudaDeviceFlushGPUDirectRDMAWrites, 0, __pyx_n_s_cudaDeviceFlushGPUDirectRDMAWrit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__441)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceFlushGPUDirectRDMAWrit, __pyx_t_2) < 0) __PYX_ERR(0, 10116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10155
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExit():             # <<<<<<<<<<<<<<
 *     """ Exit and clean up from CUDA launches.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_51cudaThreadExit, 0, __pyx_n_s_cudaThreadExit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__442)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadExit, __pyx_t_2) < 0) __PYX_ERR(0, 10155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10186
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_53cudaThreadSynchronize, 0, __pyx_n_s_cudaThreadSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__443)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadSynchronize, __pyx_t_2) < 0) __PYX_ERR(0, 10186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10216
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaLimit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_limit, __pyx_t_1) < 0) __PYX_ERR(0, 10216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_55cudaThreadSetLimit, 0, __pyx_n_s_cudaThreadSetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__444)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadSetLimit, __pyx_t_1) < 0) __PYX_ERR(0, 10216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10273
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaLimit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_limit, __pyx_t_2) < 0) __PYX_ERR(0, 10273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_57cudaThreadGetLimit, 0, __pyx_n_s_cudaThreadGetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__445)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadGetLimit, __pyx_t_2) < 0) __PYX_ERR(0, 10273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10316
 * 
 * @cython.embedsignature(True)
 * def cudaGetLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_59cudaGetLastError, 0, __pyx_n_s_cudaGetLastError, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__446)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetLastError, __pyx_t_2) < 0) __PYX_ERR(0, 10316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10335
 * 
 * @cython.embedsignature(True)
 * def cudaPeekAtLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_61cudaPeekAtLastError, 0, __pyx_n_s_cudaPeekAtLastError, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__447)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaPeekAtLastError, __pyx_t_2) < 0) __PYX_ERR(0, 10335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10355
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorName(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the string representation of an error code enum name.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_error, __pyx_t_1) < 0) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_63cudaGetErrorName, 0, __pyx_n_s_cudaGetErrorName, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__448)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetErrorName, __pyx_t_1) < 0) __PYX_ERR(0, 10355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10383
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorString(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the description string for an error code.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_error, __pyx_t_2) < 0) __PYX_ERR(0, 10383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_65cudaGetErrorString, 0, __pyx_n_s_cudaGetErrorString, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__449)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetErrorString, __pyx_t_2) < 0) __PYX_ERR(0, 10383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10410
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceCount():             # <<<<<<<<<<<<<<
 *     """ Returns the number of compute-capable devices.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_67cudaGetDeviceCount, 0, __pyx_n_s_cudaGetDeviceCount, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__450)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDeviceCount, __pyx_t_2) < 0) __PYX_ERR(0, 10410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10433
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceProperties(int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the compute-device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_69cudaGetDeviceProperties, 0, __pyx_n_s_cudaGetDeviceProperties, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__451)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDeviceProperties, __pyx_t_2) < 0) __PYX_ERR(0, 10433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":10711
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetAttribute(attr not None : cudaDeviceAttr, int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the device.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaDeviceAttr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attr, __pyx_t_1) < 0) __PYX_ERR(0, 10711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_71cudaDeviceGetAttribute, 0, __pyx_n_s_cudaDeviceGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__452)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 10711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11070
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetDefaultMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Returns the default mempool of a device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_73cudaDeviceGetDefaultMemPool, 0, __pyx_n_s_cudaDeviceGetDefaultMemPool, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__453)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetDefaultMemPool, __pyx_t_1) < 0) __PYX_ERR(0, 11070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11098
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetMemPool(int device, memPool):             # <<<<<<<<<<<<<<
 *     """ Sets the current memory pool of a device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_75cudaDeviceSetMemPool, 0, __pyx_n_s_cudaDeviceSetMemPool, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__454)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSetMemPool, __pyx_t_1) < 0) __PYX_ERR(0, 11098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11142
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Gets the current mempool for a device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_77cudaDeviceGetMemPool, 0, __pyx_n_s_cudaDeviceGetMemPool, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__455)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetMemPool, __pyx_t_1) < 0) __PYX_ERR(0, 11142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11174
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetNvSciSyncAttributes(int device, int flags):             # <<<<<<<<<<<<<<
 *     """ Return NvSciSync attributes that this device can support.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_79cudaDeviceGetNvSciSyncAttributes, 0, __pyx_n_s_cudaDeviceGetNvSciSyncAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__456)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetNvSciSyncAttributes, __pyx_t_1) < 0) __PYX_ERR(0, 11174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11231
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetP2PAttribute(attr not None : cudaDeviceP2PAttr, int srcDevice, int dstDevice):             # <<<<<<<<<<<<<<
 *     """ Queries attributes of the link between two devices.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaDeviceP2PAttr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_attr, __pyx_t_2) < 0) __PYX_ERR(0, 11231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_81cudaDeviceGetP2PAttribute, 0, __pyx_n_s_cudaDeviceGetP2PAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__457)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetP2PAttribute, __pyx_t_2) < 0) __PYX_ERR(0, 11231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":11285
 * 
 * @cython.embedsignature(True)
 * def cudaChooseDevice(prop : cudaDeviceProp):             # <<<<<<<<<<<<<<
 *     """ Select compute-device which best matches criteria.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_prop, __pyx_n_u_cudaDeviceProp) < 0) __PYX_ERR(0, 11285, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_83cudaChooseDevice, 0, __pyx_n_s_cudaChooseDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__458)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaChooseDevice, __pyx_t_1) < 0) __PYX_ERR(0, 11285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11313
 * 
 * @cython.embedsignature(True)
 * def cudaSetDevice(int device):             # <<<<<<<<<<<<<<
 *     """ Set device to be used for GPU executions.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_85cudaSetDevice, 0, __pyx_n_s_cudaSetDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__459)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDevice, __pyx_t_1) < 0) __PYX_ERR(0, 11313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11362
 * 
 * @cython.embedsignature(True)
 * def cudaGetDevice():             # <<<<<<<<<<<<<<
 *     """ Returns which device is currently being used.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_87cudaGetDevice, 0, __pyx_n_s_cudaGetDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__460)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDevice, __pyx_t_1) < 0) __PYX_ERR(0, 11362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11384
 * 
 * @cython.embedsignature(True)
 * def cudaSetDeviceFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Sets flags to be used for device executions.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_89cudaSetDeviceFlags, 0, __pyx_n_s_cudaSetDeviceFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__461)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDeviceFlags, __pyx_t_1) < 0) __PYX_ERR(0, 11384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11461
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceFlags():             # <<<<<<<<<<<<<<
 *     """ Gets the flags for the current device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_91cudaGetDeviceFlags, 0, __pyx_n_s_cudaGetDeviceFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__462)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDeviceFlags, __pyx_t_1) < 0) __PYX_ERR(0, 11461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11505
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreate():             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_93cudaStreamCreate, 0, __pyx_n_s_cudaStreamCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__463)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCreate, __pyx_t_1) < 0) __PYX_ERR(0, 11505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11526
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_95cudaStreamCreateWithFlags, 0, __pyx_n_s_cudaStreamCreateWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__464)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCreateWithFlags, __pyx_t_1) < 0) __PYX_ERR(0, 11526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11560
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithPriority(unsigned int flags, int priority):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream with the specified priority.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_97cudaStreamCreateWithPriority, 0, __pyx_n_s_cudaStreamCreateWithPriority, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__465)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCreateWithPriority, __pyx_t_1) < 0) __PYX_ERR(0, 11560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11610
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetPriority(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the priority of a stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_99cudaStreamGetPriority, 0, __pyx_n_s_cudaStreamGetPriority, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__466)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetPriority, __pyx_t_1) < 0) __PYX_ERR(0, 11610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11652
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetFlags(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the flags of a stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_101cudaStreamGetFlags, 0, __pyx_n_s_cudaStreamGetFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__467)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetFlags, __pyx_t_1) < 0) __PYX_ERR(0, 11652, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11690
 * 
 * @cython.embedsignature(True)
 * def cudaCtxResetPersistingL2Cache():             # <<<<<<<<<<<<<<
 *     """ Resets all persisting lines in cache to normal status.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_103cudaCtxResetPersistingL2Cache, 0, __pyx_n_s_cudaCtxResetPersistingL2Cache, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__468)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCtxResetPersistingL2Cache, __pyx_t_1) < 0) __PYX_ERR(0, 11690, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11709
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCopyAttributes(dst, src):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source stream to destination stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_105cudaStreamCopyAttributes, 0, __pyx_n_s_cudaStreamCopyAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__469)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCopyAttributes, __pyx_t_1) < 0) __PYX_ERR(0, 11709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11755
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetAttribute(hStream, attr not None : cudaStreamAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries stream attribute.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaStreamAttrID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_attr, __pyx_t_2) < 0) __PYX_ERR(0, 11755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_107cudaStreamGetAttribute, 0, __pyx_n_s_cudaStreamGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__470)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetAttribute, __pyx_t_2) < 0) __PYX_ERR(0, 11755, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":11795
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaStreamAttrID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attr, __pyx_t_1) < 0) __PYX_ERR(0, 11795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_value, __pyx_n_u_cudaLaunchAttributeValue) < 0) __PYX_ERR(0, 11795, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_109cudaStreamSetAttribute, 0, __pyx_n_s_cudaStreamSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__471)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamSetAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 11795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11836
 * 
 * @cython.embedsignature(True)
 * def cudaStreamDestroy(stream):             # <<<<<<<<<<<<<<
 *     """ Destroys and cleans up an asynchronous stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_111cudaStreamDestroy, 0, __pyx_n_s_cudaStreamDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__472)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamDestroy, __pyx_t_1) < 0) __PYX_ERR(0, 11836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11874
 * 
 * @cython.embedsignature(True)
 * def cudaStreamWaitEvent(stream, event, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Make a compute stream wait on an event.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_113cudaStreamWaitEvent, 0, __pyx_n_s_cudaStreamWaitEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__473)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamWaitEvent, __pyx_t_1) < 0) __PYX_ERR(0, 11874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11933
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_115cudaStreamAddCallback, 0, __pyx_n_s_cudaStreamAddCallback, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__474)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamAddCallback, __pyx_t_1) < 0) __PYX_ERR(0, 11933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12028
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSynchronize(stream):             # <<<<<<<<<<<<<<
 *     """ Waits for stream tasks to complete.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_117cudaStreamSynchronize, 0, __pyx_n_s_cudaStreamSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__475)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamSynchronize, __pyx_t_1) < 0) __PYX_ERR(0, 12028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12065
 * 
 * @cython.embedsignature(True)
 * def cudaStreamQuery(stream):             # <<<<<<<<<<<<<<
 *     """ Queries an asynchronous stream for completion status.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_119cudaStreamQuery, 0, __pyx_n_s_cudaStreamQuery, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__476)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamQuery, __pyx_t_1) < 0) __PYX_ERR(0, 12065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12103
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAttachMemAsync(stream, devPtr, size_t length, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Attach memory to a stream asynchronously.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_121cudaStreamAttachMemAsync, 0, __pyx_n_s_cudaStreamAttachMemAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__477)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamAttachMemAsync, __pyx_t_1) < 0) __PYX_ERR(0, 12103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12212
 * 
 * @cython.embedsignature(True)
 * def cudaStreamBeginCapture(stream, mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Begins graph capture on a stream.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaStreamCaptureMode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_t_2) < 0) __PYX_ERR(0, 12212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_123cudaStreamBeginCapture, 0, __pyx_n_s_cudaStreamBeginCapture, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__478)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamBeginCapture, __pyx_t_2) < 0) __PYX_ERR(0, 12212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":12267
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExchangeStreamCaptureMode(mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Swaps the stream capture interaction mode for a thread.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaStreamCaptureMode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mode, __pyx_t_1) < 0) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_125cudaThreadExchangeStreamCaptureMode, 0, __pyx_n_s_cudaThreadExchangeStreamCaptureM, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__479)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadExchangeStreamCaptureM, __pyx_t_1) < 0) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12335
 * 
 * @cython.embedsignature(True)
 * def cudaStreamEndCapture(stream):             # <<<<<<<<<<<<<<
 *     """ Ends capture on a stream, returning the captured graph.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_127cudaStreamEndCapture, 0, __pyx_n_s_cudaStreamEndCapture, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__480)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamEndCapture, __pyx_t_1) < 0) __PYX_ERR(0, 12335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12379
 * 
 * @cython.embedsignature(True)
 * def cudaStreamIsCapturing(stream):             # <<<<<<<<<<<<<<
 *     """ Returns a stream's capture status.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_129cudaStreamIsCapturing, 0, __pyx_n_s_cudaStreamIsCapturing, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__481)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamIsCapturing, __pyx_t_1) < 0) __PYX_ERR(0, 12379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12437
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo(stream):             # <<<<<<<<<<<<<<
 *     """ Query capture status of a stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_131cudaStreamGetCaptureInfo, 0, __pyx_n_s_cudaStreamGetCaptureInfo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__482)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetCaptureInfo, __pyx_t_1) < 0) __PYX_ERR(0, 12437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo_v2(stream):             # <<<<<<<<<<<<<<
 *     """ Query a stream's capture state (11.3+)
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_133cudaStreamGetCaptureInfo_v2, 0, __pyx_n_s_cudaStreamGetCaptureInfo_v2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__483)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetCaptureInfo_v2, __pyx_t_1) < 0) __PYX_ERR(0, 12491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12582
 * 
 * @cython.embedsignature(True)
 * def cudaStreamUpdateCaptureDependencies(stream, dependencies : List[cudaGraphNode_t], size_t numDependencies, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_List); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dependencies, __pyx_t_3) < 0) __PYX_ERR(0, 12582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_135cudaStreamUpdateCaptureDependencies, 0, __pyx_n_s_cudaStreamUpdateCaptureDependenc_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__484)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamUpdateCaptureDependenc_3, __pyx_t_3) < 0) __PYX_ERR(0, 12582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12656
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreate():             # <<<<<<<<<<<<<<
 *     """ Creates an event object.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_137cudaEventCreate, 0, __pyx_n_s_cudaEventCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__487)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventCreate, __pyx_t_3) < 0) __PYX_ERR(0, 12656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12678
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event object with the specified flags.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_139cudaEventCreateWithFlags, 0, __pyx_n_s_cudaEventCreateWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__488)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventCreateWithFlags, __pyx_t_3) < 0) __PYX_ERR(0, 12678, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12724
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecord(event, stream):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_141cudaEventRecord, 0, __pyx_n_s_cudaEventRecord, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__489)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecord, __pyx_t_3) < 0) __PYX_ERR(0, 12724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12783
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecordWithFlags(event, stream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_143cudaEventRecordWithFlags, 0, __pyx_n_s_cudaEventRecordWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__490)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecordWithFlags, __pyx_t_3) < 0) __PYX_ERR(0, 12783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12851
 * 
 * @cython.embedsignature(True)
 * def cudaEventQuery(event):             # <<<<<<<<<<<<<<
 *     """ Queries an event's status.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_145cudaEventQuery, 0, __pyx_n_s_cudaEventQuery, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__491)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventQuery, __pyx_t_3) < 0) __PYX_ERR(0, 12851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12894
 * 
 * @cython.embedsignature(True)
 * def cudaEventSynchronize(event):             # <<<<<<<<<<<<<<
 *     """ Waits for an event to complete.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_147cudaEventSynchronize, 0, __pyx_n_s_cudaEventSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__492)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventSynchronize, __pyx_t_3) < 0) __PYX_ERR(0, 12894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12936
 * 
 * @cython.embedsignature(True)
 * def cudaEventDestroy(event):             # <<<<<<<<<<<<<<
 *     """ Destroys an event object.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_149cudaEventDestroy, 0, __pyx_n_s_cudaEventDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__493)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventDestroy, __pyx_t_3) < 0) __PYX_ERR(0, 12936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12975
 * 
 * @cython.embedsignature(True)
 * def cudaEventElapsedTime(start, end):             # <<<<<<<<<<<<<<
 *     """ Computes the elapsed time between events.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_151cudaEventElapsedTime, 0, __pyx_n_s_cudaEventElapsedTime, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__494)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventElapsedTime, __pyx_t_3) < 0) __PYX_ERR(0, 12975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13042
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalMemory(memHandleDesc : cudaExternalMemoryHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external memory object.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_memHandleDesc, __pyx_n_u_cudaExternalMemoryHandleDesc) < 0) __PYX_ERR(0, 13042, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_153cudaImportExternalMemory, 0, __pyx_n_s_cudaImportExternalMemory, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__495)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaImportExternalMemory, __pyx_t_1) < 0) __PYX_ERR(0, 13042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13190
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bufferDesc, __pyx_n_u_cudaExternalMemoryBufferDesc) < 0) __PYX_ERR(0, 13190, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_155cudaExternalMemoryGetMappedBuffer, 0, __pyx_n_s_cudaExternalMemoryGetMappedBuffe, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__496)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalMemoryGetMappedBuffe, __pyx_t_3) < 0) __PYX_ERR(0, 13190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13254
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mipmapDesc, __pyx_n_u_cudaExternalMemoryMipmappedArray) < 0) __PYX_ERR(0, 13254, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_157cudaExternalMemoryGetMappedMipmappedArray, 0, __pyx_n_s_cudaExternalMemoryGetMappedMipma, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__497)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalMemoryGetMappedMipma, __pyx_t_1) < 0) __PYX_ERR(0, 13254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13324
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_159cudaDestroyExternalMemory, 0, __pyx_n_s_cudaDestroyExternalMemory, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__498)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDestroyExternalMemory, __pyx_t_1) < 0) __PYX_ERR(0, 13324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13360
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalSemaphore(semHandleDesc : cudaExternalSemaphoreHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external semaphore.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_semHandleDesc, __pyx_n_u_cudaExternalSemaphoreHandleDesc_3) < 0) __PYX_ERR(0, 13360, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_161cudaImportExternalSemaphore, 0, __pyx_n_s_cudaImportExternalSemaphore, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__499)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaImportExternalSemaphore, __pyx_t_3) < 0) __PYX_ERR(0, 13360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13503
 * 
 * @cython.embedsignature(True)
 * def cudaSignalExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreSignalParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Signals a set of external semaphore objects.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extSemArray_2, __pyx_t_2) < 0) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_List); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_paramsArray_2, __pyx_t_1) < 0) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_163cudaSignalExternalSemaphoresAsync, 0, __pyx_n_s_cudaSignalExternalSemaphoresAsyn_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__500)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSignalExternalSemaphoresAsyn_2, __pyx_t_1) < 0) __PYX_ERR(0, 13503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13621
 * 
 * @cython.embedsignature(True)
 * def cudaWaitExternalSemaphoresAsync(extSemArray : List[cudaExternalSemaphore_t], paramsArray : List[cudaExternalSemaphoreWaitParams], unsigned int numExtSems, stream):             # <<<<<<<<<<<<<<
 *     """ Waits on a set of external semaphore objects.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extSemArray_2, __pyx_t_2) < 0) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_List); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_paramsArray_2, __pyx_t_3) < 0) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_165cudaWaitExternalSemaphoresAsync, 0, __pyx_n_s_cudaWaitExternalSemaphoresAsync_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__503)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaWaitExternalSemaphoresAsync_2, __pyx_t_3) < 0) __PYX_ERR(0, 13621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13748
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_167cudaDestroyExternalSemaphore, 0, __pyx_n_s_cudaDestroyExternalSemaphore, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__505)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDestroyExternalSemaphore, __pyx_t_3) < 0) __PYX_ERR(0, 13748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13783
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetCacheConfig(func, cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for a device function.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaFuncCache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cacheConfig, __pyx_t_1) < 0) __PYX_ERR(0, 13783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_169cudaFuncSetCacheConfig, 0, __pyx_n_s_cudaFuncSetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__506)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncSetCacheConfig, __pyx_t_1) < 0) __PYX_ERR(0, 13783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13842
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetSharedMemConfig(func, config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for a device function.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaSharedMemConfig); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_config, __pyx_t_3) < 0) __PYX_ERR(0, 13842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_171cudaFuncSetSharedMemConfig, 0, __pyx_n_s_cudaFuncSetSharedMemConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__507)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncSetSharedMemConfig, __pyx_t_3) < 0) __PYX_ERR(0, 13842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13904
 * 
 * @cython.embedsignature(True)
 * def cudaFuncGetAttributes(func):             # <<<<<<<<<<<<<<
 *     """ Find out attributes for a given function.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_173cudaFuncGetAttributes, 0, __pyx_n_s_cudaFuncGetAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__508)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncGetAttributes, __pyx_t_3) < 0) __PYX_ERR(0, 13904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13942
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetAttribute(func, attr not None : cudaFuncAttribute, int value):             # <<<<<<<<<<<<<<
 *     """ Set attributes for a given function.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaFuncAttribute); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attr, __pyx_t_1) < 0) __PYX_ERR(0, 13942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_175cudaFuncSetAttribute, 0, __pyx_n_s_cudaFuncSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__509)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncSetAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 13942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13995
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForDevice(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument to be executed on a device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_177cudaSetDoubleForDevice, 0, __pyx_n_s_cudaSetDoubleForDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__510)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDoubleForDevice, __pyx_t_1) < 0) __PYX_ERR(0, 13995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14022
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForHost(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument after execution on a device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_179cudaSetDoubleForHost, 0, __pyx_n_s_cudaSetDoubleForHost, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__511)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDoubleForHost, __pyx_t_1) < 0) __PYX_ERR(0, 14022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14049
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_181cudaLaunchHostFunc, 0, __pyx_n_s_cudaLaunchHostFunc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__512)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaLaunchHostFunc, __pyx_t_1) < 0) __PYX_ERR(0, 14049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14137
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_183cudaOccupancyMaxActiveBlocksPerMultiprocessor, 0, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__513)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM, __pyx_t_1) < 0) __PYX_ERR(0, 14137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14170
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize):             # <<<<<<<<<<<<<<
 *     """ Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_185cudaOccupancyAvailableDynamicSMemPerBlock, 0, __pyx_n_s_cudaOccupancyAvailableDynamicSMe, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__514)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyAvailableDynamicSMe, __pyx_t_1) < 0) __PYX_ERR(0, 14170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14203
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function with the specified flags.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_187cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, 0, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__515)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2, __pyx_t_1) < 0) __PYX_ERR(0, 14203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14253
 * 
 * @cython.embedsignature(True)
 * def cudaMallocManaged(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_189cudaMallocManaged, 0, __pyx_n_s_cudaMallocManaged, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__516)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocManaged, __pyx_t_1) < 0) __PYX_ERR(0, 14253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14382
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocate memory on the device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_191cudaMalloc, 0, __pyx_n_s_cudaMalloc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__517)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMalloc, __pyx_t_1) < 0) __PYX_ERR(0, 14382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14416
 * 
 * @cython.embedsignature(True)
 * def cudaMallocHost(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_193cudaMallocHost, 0, __pyx_n_s_cudaMallocHost, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__518)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocHost, __pyx_t_1) < 0) __PYX_ERR(0, 14416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14452
 * 
 * @cython.embedsignature(True)
 * def cudaMallocPitch(size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Allocates pitched memory on the device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_195cudaMallocPitch, 0, __pyx_n_s_cudaMallocPitch, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__519)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocPitch, __pyx_t_1) < 0) __PYX_ERR(0, 14452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14502
 * 
 * @cython.embedsignature(True)
 * def cudaMallocArray(desc : cudaChannelFormatDesc, size_t width, size_t height, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_desc_2, __pyx_n_u_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 14502, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_197cudaMallocArray, 0, __pyx_n_s_cudaMallocArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__520)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocArray, __pyx_t_3) < 0) __PYX_ERR(0, 14502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14574
 * 
 * @cython.embedsignature(True)
 * def cudaFree(devPtr):             # <<<<<<<<<<<<<<
 *     """ Frees memory on the device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_199cudaFree, 0, __pyx_n_s_cudaFree, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__521)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFree, __pyx_t_3) < 0) __PYX_ERR(0, 14574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14620
 * 
 * @cython.embedsignature(True)
 * def cudaFreeHost(ptr):             # <<<<<<<<<<<<<<
 *     """ Frees page-locked memory.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_201cudaFreeHost, 0, __pyx_n_s_cudaFreeHost, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__522)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFreeHost, __pyx_t_3) < 0) __PYX_ERR(0, 14620, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14648
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array):             # <<<<<<<<<<<<<<
 *     """ Frees an array on the device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_203cudaFreeArray, 0, __pyx_n_s_cudaFreeArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__523)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFreeArray, __pyx_t_3) < 0) __PYX_ERR(0, 14648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14684
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array on the device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_205cudaFreeMipmappedArray, 0, __pyx_n_s_cudaFreeMipmappedArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__524)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFreeMipmappedArray, __pyx_t_3) < 0) __PYX_ERR(0, 14684, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14719
 * 
 * @cython.embedsignature(True)
 * def cudaHostAlloc(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_207cudaHostAlloc, 0, __pyx_n_s_cudaHostAlloc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__525)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAlloc, __pyx_t_3) < 0) __PYX_ERR(0, 14719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14799
 * 
 * @cython.embedsignature(True)
 * def cudaHostRegister(ptr, size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an existing host memory range for use by CUDA.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_209cudaHostRegister, 0, __pyx_n_s_cudaHostRegister, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__526)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegister, __pyx_t_3) < 0) __PYX_ERR(0, 14799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14908
 * 
 * @cython.embedsignature(True)
 * def cudaHostUnregister(ptr):             # <<<<<<<<<<<<<<
 *     """ Unregisters a memory range that was registered with cudaHostRegister.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_211cudaHostUnregister, 0, __pyx_n_s_cudaHostUnregister, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__527)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostUnregister, __pyx_t_3) < 0) __PYX_ERR(0, 14908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14938
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetDevicePointer(pHost, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Passes back device pointer of mapped host memory allocated by cudaHostAlloc or registered by cudaHostRegister.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_213cudaHostGetDevicePointer, 0, __pyx_n_s_cudaHostGetDevicePointer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__528)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostGetDevicePointer, __pyx_t_3) < 0) __PYX_ERR(0, 14938, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14994
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetFlags(pHost):             # <<<<<<<<<<<<<<
 *     """ Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_215cudaHostGetFlags, 0, __pyx_n_s_cudaHostGetFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__529)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostGetFlags, __pyx_t_3) < 0) __PYX_ERR(0, 14994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15023
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3D(extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Allocates logical 1D, 2D, or 3D memory objects on the device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 15023, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_217cudaMalloc3D, 0, __pyx_n_s_cudaMalloc3D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__530)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMalloc3D, __pyx_t_1) < 0) __PYX_ERR(0, 15023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15066
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3DArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_desc_2, __pyx_n_u_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 15066, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 15066, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_219cudaMalloc3DArray, 0, __pyx_n_s_cudaMalloc3DArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__531)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMalloc3DArray, __pyx_t_3) < 0) __PYX_ERR(0, 15066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15184
 * 
 * @cython.embedsignature(True)
 * def cudaMallocMipmappedArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int numLevels, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate a mipmapped array on the device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_desc_2, __pyx_n_u_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 15184, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 15184, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_221cudaMallocMipmappedArray, 0, __pyx_n_s_cudaMallocMipmappedArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__532)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocMipmappedArray, __pyx_t_1) < 0) __PYX_ERR(0, 15184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15304
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_223cudaGetMipmappedArrayLevel, 0, __pyx_n_s_cudaGetMipmappedArrayLevel, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__533)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetMipmappedArrayLevel, __pyx_t_1) < 0) __PYX_ERR(0, 15304, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15349
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3D(p : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_p, __pyx_n_u_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 15349, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_225cudaMemcpy3D, 0, __pyx_n_s_cudaMemcpy3D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__534)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy3D, __pyx_t_3) < 0) __PYX_ERR(0, 15349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15430
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeer(p : cudaMemcpy3DPeerParms):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_p, __pyx_n_u_cudaMemcpy3DPeerParms) < 0) __PYX_ERR(0, 15430, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_227cudaMemcpy3DPeer, 0, __pyx_n_s_cudaMemcpy3DPeer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__535)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy3DPeer, __pyx_t_1) < 0) __PYX_ERR(0, 15430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15463
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DAsync(p : cudaMemcpy3DParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_p, __pyx_n_u_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 15463, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_229cudaMemcpy3DAsync, 0, __pyx_n_s_cudaMemcpy3DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__536)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy3DAsync, __pyx_t_3) < 0) __PYX_ERR(0, 15463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15567
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeerAsync(p : cudaMemcpy3DPeerParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices asynchronously.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_p, __pyx_n_u_cudaMemcpy3DPeerParms) < 0) __PYX_ERR(0, 15567, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_231cudaMemcpy3DPeerAsync, 0, __pyx_n_s_cudaMemcpy3DPeerAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__537)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy3DPeerAsync, __pyx_t_1) < 0) __PYX_ERR(0, 15567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15605
 * 
 * @cython.embedsignature(True)
 * def cudaMemGetInfo():             # <<<<<<<<<<<<<<
 *     """ Gets free and total device memory.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_233cudaMemGetInfo, 0, __pyx_n_s_cudaMemGetInfo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__538)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemGetInfo, __pyx_t_1) < 0) __PYX_ERR(0, 15605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15644
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_235cudaArrayGetInfo, 0, __pyx_n_s_cudaArrayGetInfo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__539)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayGetInfo, __pyx_t_1) < 0) __PYX_ERR(0, 15644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15689
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_237cudaArrayGetPlane, 0, __pyx_n_s_cudaArrayGetPlane, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__540)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayGetPlane, __pyx_t_1) < 0) __PYX_ERR(0, 15689, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15741
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetMemoryRequirements(array, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA array.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_239cudaArrayGetMemoryRequirements, 0, __pyx_n_s_cudaArrayGetMemoryRequirements, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__541)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayGetMemoryRequirements, __pyx_t_1) < 0) __PYX_ERR(0, 15741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15787
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetMemoryRequirements(mipmap, int device):             # <<<<<<<<<<<<<<
 *     """ Returns the memory requirements of a CUDA mipmapped array.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_241cudaMipmappedArrayGetMemoryRequirements, 0, __pyx_n_s_cudaMipmappedArrayGetMemoryRequi, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__542)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMipmappedArrayGetMemoryRequi, __pyx_t_1) < 0) __PYX_ERR(0, 15787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15833
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_243cudaArrayGetSparseProperties, 0, __pyx_n_s_cudaArrayGetSparseProperties, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__543)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayGetSparseProperties, __pyx_t_1) < 0) __PYX_ERR(0, 15833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15885
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_245cudaMipmappedArrayGetSparseProperties, 0, __pyx_n_s_cudaMipmappedArrayGetSparsePrope, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__544)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMipmappedArrayGetSparsePrope, __pyx_t_1) < 0) __PYX_ERR(0, 15885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15937
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy(dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 15937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_247cudaMemcpy, 0, __pyx_n_s_cudaMemcpy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__545)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy, __pyx_t_3) < 0) __PYX_ERR(0, 15937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15984
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeer(dst, int dstDevice, src, int srcDevice, size_t count):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_249cudaMemcpyPeer, 0, __pyx_n_s_cudaMemcpyPeer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__546)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyPeer, __pyx_t_3) < 0) __PYX_ERR(0, 15984, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16029
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2D(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_kind_2, __pyx_t_1) < 0) __PYX_ERR(0, 16029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_251cudaMemcpy2D, 0, __pyx_n_s_cudaMemcpy2D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__547)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy2D, __pyx_t_1) < 0) __PYX_ERR(0, 16029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16086
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 16086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_253cudaMemcpy2DToArray, 0, __pyx_n_s_cudaMemcpy2DToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__548)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy2DToArray, __pyx_t_3) < 0) __PYX_ERR(0, 16086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16152
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_kind_2, __pyx_t_1) < 0) __PYX_ERR(0, 16152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_255cudaMemcpy2DFromArray, 0, __pyx_n_s_cudaMemcpy2DFromArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__549)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy2DFromArray, __pyx_t_1) < 0) __PYX_ERR(0, 16152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16218
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 16218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_257cudaMemcpy2DArrayToArray, 0, __pyx_n_s_cudaMemcpy2DArrayToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__550)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy2DArrayToArray, __pyx_t_3) < 0) __PYX_ERR(0, 16218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16291
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyAsync(dst, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_kind_2, __pyx_t_1) < 0) __PYX_ERR(0, 16291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_259cudaMemcpyAsync, 0, __pyx_n_s_cudaMemcpyAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__551)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyAsync, __pyx_t_1) < 0) __PYX_ERR(0, 16291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16360
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeerAsync(dst, int dstDevice, src, int srcDevice, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices asynchronously.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_261cudaMemcpyPeerAsync, 0, __pyx_n_s_cudaMemcpyPeerAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__552)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyPeerAsync, __pyx_t_1) < 0) __PYX_ERR(0, 16360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16415
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DAsync(dst, size_t dpitch, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 16415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_263cudaMemcpy2DAsync, 0, __pyx_n_s_cudaMemcpy2DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__553)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy2DAsync, __pyx_t_3) < 0) __PYX_ERR(0, 16415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16495
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t spitch, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_kind_2, __pyx_t_1) < 0) __PYX_ERR(0, 16495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_265cudaMemcpy2DToArrayAsync, 0, __pyx_n_s_cudaMemcpy2DToArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__554)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy2DToArrayAsync, __pyx_t_1) < 0) __PYX_ERR(0, 16495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16584
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 16584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_267cudaMemcpy2DFromArrayAsync, 0, __pyx_n_s_cudaMemcpy2DFromArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__555)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpy2DFromArrayAsync, __pyx_t_3) < 0) __PYX_ERR(0, 16584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16672
 * 
 * @cython.embedsignature(True)
 * def cudaMemset(devPtr, int value, size_t count):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_269cudaMemset, 0, __pyx_n_s_cudaMemset, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__556)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset, __pyx_t_3) < 0) __PYX_ERR(0, 16672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16706
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2D(devPtr, size_t pitch, int value, size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_271cudaMemset2D, 0, __pyx_n_s_cudaMemset2D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__557)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset2D, __pyx_t_3) < 0) __PYX_ERR(0, 16706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16746
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3D(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pitchedDevPtr, __pyx_n_u_cudaPitchedPtr) < 0) __PYX_ERR(0, 16746, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 16746, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_273cudaMemset3D, 0, __pyx_n_s_cudaMemset3D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__558)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset3D, __pyx_t_1) < 0) __PYX_ERR(0, 16746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16796
 * 
 * @cython.embedsignature(True)
 * def cudaMemsetAsync(devPtr, int value, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_275cudaMemsetAsync, 0, __pyx_n_s_cudaMemsetAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__559)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemsetAsync, __pyx_t_1) < 0) __PYX_ERR(0, 16796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16848
 * 
 * @cython.embedsignature(True)
 * def cudaMemset2DAsync(devPtr, size_t pitch, int value, size_t width, size_t height, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_277cudaMemset2DAsync, 0, __pyx_n_s_cudaMemset2DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__560)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset2DAsync, __pyx_t_1) < 0) __PYX_ERR(0, 16848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16906
 * 
 * @cython.embedsignature(True)
 * def cudaMemset3DAsync(pitchedDevPtr not None : cudaPitchedPtr, int value, extent not None : cudaExtent, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pitchedDevPtr, __pyx_n_u_cudaPitchedPtr) < 0) __PYX_ERR(0, 16906, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 16906, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_279cudaMemset3DAsync, 0, __pyx_n_s_cudaMemset3DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__561)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset3DAsync, __pyx_t_3) < 0) __PYX_ERR(0, 16906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16974
 * 
 * @cython.embedsignature(True)
 * def cudaMemPrefetchAsync(devPtr, size_t count, int dstDevice, stream):             # <<<<<<<<<<<<<<
 *     """ Prefetches memory to the specified destination device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_281cudaMemPrefetchAsync, 0, __pyx_n_s_cudaMemPrefetchAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__562)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPrefetchAsync, __pyx_t_3) < 0) __PYX_ERR(0, 16974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17070
 * 
 * @cython.embedsignature(True)
 * def cudaMemAdvise(devPtr, size_t count, advice not None : cudaMemoryAdvise, int device):             # <<<<<<<<<<<<<<
 *     """ Advise about the usage of a given memory range.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemoryAdvise); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_advice, __pyx_t_1) < 0) __PYX_ERR(0, 17070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_283cudaMemAdvise, 0, __pyx_n_s_cudaMemAdvise, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__563)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAdvise, __pyx_t_1) < 0) __PYX_ERR(0, 17070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17237
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttribute(size_t dataSize, attribute not None : cudaMemRangeAttribute, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query an attribute of a given memory range.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemRangeAttribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_attribute, __pyx_t_3) < 0) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_285cudaMemRangeGetAttribute, 0, __pyx_n_s_cudaMemRangeGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__564)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemRangeGetAttribute, __pyx_t_3) < 0) __PYX_ERR(0, 17237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17326
 * 
 * @cython.embedsignature(True)
 * def cudaMemRangeGetAttributes(dataSizes : List[int], attributes : List[cudaMemRangeAttribute], size_t numAttributes, devPtr, size_t count):             # <<<<<<<<<<<<<<
 *     """ Query attributes of a given memory range.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)(&PyInt_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dataSizes, __pyx_t_2) < 0) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_List); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemRangeAttribute); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attributes, __pyx_t_4) < 0) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_287cudaMemRangeGetAttributes, 0, __pyx_n_s_cudaMemRangeGetAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__565)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemRangeGetAttributes, __pyx_t_4) < 0) __PYX_ERR(0, 17326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17395
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 17395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_289cudaMemcpyToArray, 0, __pyx_n_s_cudaMemcpyToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__568)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyToArray, __pyx_t_3) < 0) __PYX_ERR(0, 17395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17452
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_kind_2, __pyx_t_4) < 0) __PYX_ERR(0, 17452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_291cudaMemcpyFromArray, 0, __pyx_n_s_cudaMemcpyFromArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__569)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyFromArray, __pyx_t_4) < 0) __PYX_ERR(0, 17452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17509
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst, size_t wOffsetDst, size_t hOffsetDst, src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 17509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_293cudaMemcpyArrayToArray, 0, __pyx_n_s_cudaMemcpyArrayToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__570)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyArrayToArray, __pyx_t_3) < 0) __PYX_ERR(0, 17509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17579
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_kind_2, __pyx_t_4) < 0) __PYX_ERR(0, 17579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_295cudaMemcpyToArrayAsync, 0, __pyx_n_s_cudaMemcpyToArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__571)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyToArrayAsync, __pyx_t_4) < 0) __PYX_ERR(0, 17579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_kind_2, __pyx_t_3) < 0) __PYX_ERR(0, 17655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_297cudaMemcpyFromArrayAsync, 0, __pyx_n_s_cudaMemcpyFromArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__572)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyFromArrayAsync, __pyx_t_3) < 0) __PYX_ERR(0, 17655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17731
 * 
 * @cython.embedsignature(True)
 * def cudaMallocAsync(size_t size, hStream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory with stream ordered semantics.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_299cudaMallocAsync, 0, __pyx_n_s_cudaMallocAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__573)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocAsync, __pyx_t_3) < 0) __PYX_ERR(0, 17731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17783
 * 
 * @cython.embedsignature(True)
 * def cudaFreeAsync(devPtr, hStream):             # <<<<<<<<<<<<<<
 *     """ Frees memory with stream ordered semantics.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_301cudaFreeAsync, 0, __pyx_n_s_cudaFreeAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__574)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFreeAsync, __pyx_t_3) < 0) __PYX_ERR(0, 17783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17828
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolTrimTo(memPool, size_t minBytesToKeep):             # <<<<<<<<<<<<<<
 *     """ Tries to release memory back to the OS.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_303cudaMemPoolTrimTo, 0, __pyx_n_s_cudaMemPoolTrimTo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__575)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolTrimTo, __pyx_t_3) < 0) __PYX_ERR(0, 17828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17877
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAttribute(memPool, attr not None : cudaMemPoolAttr, value):             # <<<<<<<<<<<<<<
 *     """ Sets attributes of a memory pool.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemPoolAttr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attr, __pyx_t_4) < 0) __PYX_ERR(0, 17877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_305cudaMemPoolSetAttribute, 0, __pyx_n_s_cudaMemPoolSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__576)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolSetAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 17877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17952
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAttribute(memPool, attr not None : cudaMemPoolAttr):             # <<<<<<<<<<<<<<
 *     """ Gets attributes of a memory pool.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemPoolAttr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_attr, __pyx_t_3) < 0) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_307cudaMemPoolGetAttribute, 0, __pyx_n_s_cudaMemPoolGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__577)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolGetAttribute, __pyx_t_3) < 0) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18033
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_List); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAccessDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_descList, __pyx_t_1) < 0) __PYX_ERR(0, 18033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_309cudaMemPoolSetAccess, 0, __pyx_n_s_cudaMemPoolSetAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__578)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolSetAccess, __pyx_t_1) < 0) __PYX_ERR(0, 18033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18084
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAccess(memPool, location : cudaMemLocation):             # <<<<<<<<<<<<<<
 *     """ Returns the accessibility of a pool from a device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_location_2, __pyx_n_u_cudaMemLocation) < 0) __PYX_ERR(0, 18084, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_311cudaMemPoolGetAccess, 0, __pyx_n_s_cudaMemPoolGetAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__580)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolGetAccess, __pyx_t_3) < 0) __PYX_ERR(0, 18084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18124
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolCreate(poolProps : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *     """ Creates a memory pool.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_poolProps_2, __pyx_n_u_cudaMemPoolProps) < 0) __PYX_ERR(0, 18124, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_313cudaMemPoolCreate, 0, __pyx_n_s_cudaMemPoolCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__581)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolCreate, __pyx_t_1) < 0) __PYX_ERR(0, 18124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18160
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolDestroy(memPool):             # <<<<<<<<<<<<<<
 *     """ Destroys the specified memory pool.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_315cudaMemPoolDestroy, 0, __pyx_n_s_cudaMemPoolDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__582)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolDestroy, __pyx_t_1) < 0) __PYX_ERR(0, 18160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18204
 * 
 * @cython.embedsignature(True)
 * def cudaMallocFromPoolAsync(size_t size, memPool, stream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory from a specified pool with stream ordered semantics.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_317cudaMallocFromPoolAsync, 0, __pyx_n_s_cudaMallocFromPoolAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__583)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocFromPoolAsync, __pyx_t_1) < 0) __PYX_ERR(0, 18204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18261
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportToShareableHandle(memPool, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Exports a memory pool to the requested handle type.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemAllocationHandleType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_handleType, __pyx_t_3) < 0) __PYX_ERR(0, 18261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_319cudaMemPoolExportToShareableHandle, 0, __pyx_n_s_cudaMemPoolExportToShareableHand, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__584)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolExportToShareableHand, __pyx_t_3) < 0) __PYX_ERR(0, 18261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18314
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportFromShareableHandle(shareableHandle, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ imports a memory pool from a shared handle.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemAllocationHandleType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_handleType, __pyx_t_1) < 0) __PYX_ERR(0, 18314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_321cudaMemPoolImportFromShareableHandle, 0, __pyx_n_s_cudaMemPoolImportFromShareableHa, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__585)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolImportFromShareableHa, __pyx_t_1) < 0) __PYX_ERR(0, 18314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18352
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportPointer(ptr):             # <<<<<<<<<<<<<<
 *     """ Export data to share a memory pool allocation between processes.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_323cudaMemPoolExportPointer, 0, __pyx_n_s_cudaMemPoolExportPointer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__586)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolExportPointer, __pyx_t_1) < 0) __PYX_ERR(0, 18352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":18383
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportPointer(memPool, exportData : cudaMemPoolPtrExportData):             # <<<<<<<<<<<<<<
 *     """ Import a memory pool allocation from another process.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_exportData, __pyx_n_u_cudaMemPoolPtrExportData) < 0) __PYX_ERR(0, 18383, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_325cudaMemPoolImportPointer, 0, __pyx_n_s_cudaMemPoolImportPointer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__587)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolImportPointer, __pyx_t_3) < 0) __PYX_ERR(0, 18383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18432
 * 
 * @cython.embedsignature(True)
 * def cudaPointerGetAttributes(ptr):             # <<<<<<<<<<<<<<
 *     """ Returns attributes about a specified pointer.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_327cudaPointerGetAttributes, 0, __pyx_n_s_cudaPointerGetAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__588)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaPointerGetAttributes, __pyx_t_3) < 0) __PYX_ERR(0, 18432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18498
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceCanAccessPeer(int device, int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Queries if a device may directly access a peer device's memory.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_329cudaDeviceCanAccessPeer, 0, __pyx_n_s_cudaDeviceCanAccessPeer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__589)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceCanAccessPeer, __pyx_t_3) < 0) __PYX_ERR(0, 18498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18531
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Enables direct access to memory allocations on a peer device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_331cudaDeviceEnablePeerAccess, 0, __pyx_n_s_cudaDeviceEnablePeerAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__590)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceEnablePeerAccess, __pyx_t_3) < 0) __PYX_ERR(0, 18531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18578
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceDisablePeerAccess(int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Disables direct access to memory allocations on a peer device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_333cudaDeviceDisablePeerAccess, 0, __pyx_n_s_cudaDeviceDisablePeerAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__591)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceDisablePeerAccess, __pyx_t_3) < 0) __PYX_ERR(0, 18578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18603
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_335cudaGraphicsUnregisterResource, 0, __pyx_n_s_cudaGraphicsUnregisterResource, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__592)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsUnregisterResource, __pyx_t_3) < 0) __PYX_ERR(0, 18603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18640
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_337cudaGraphicsResourceSetMapFlags, 0, __pyx_n_s_cudaGraphicsResourceSetMapFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__593)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsResourceSetMapFlags, __pyx_t_3) < 0) __PYX_ERR(0, 18640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18694
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_339cudaGraphicsMapResources, 0, __pyx_n_s_cudaGraphicsMapResources, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__594)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsMapResources, __pyx_t_3) < 0) __PYX_ERR(0, 18694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18756
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_341cudaGraphicsUnmapResources, 0, __pyx_n_s_cudaGraphicsUnmapResources, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__595)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsUnmapResources, __pyx_t_3) < 0) __PYX_ERR(0, 18756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18816
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_343cudaGraphicsResourceGetMappedPointer, 0, __pyx_n_s_cudaGraphicsResourceGetMappedPoi, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__596)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsResourceGetMappedPoi, __pyx_t_3) < 0) __PYX_ERR(0, 18816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18858
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel):             # <<<<<<<<<<<<<<
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_345cudaGraphicsSubResourceGetMappedArray, 0, __pyx_n_s_cudaGraphicsSubResourceGetMapped, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__597)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsSubResourceGetMapped, __pyx_t_3) < 0) __PYX_ERR(0, 18858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18911
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_347cudaGraphicsResourceGetMappedMipmappedArray, 0, __pyx_n_s_cudaGraphicsResourceGetMappedMip, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__598)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsResourceGetMappedMip, __pyx_t_3) < 0) __PYX_ERR(0, 18911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18953
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_349cudaGetChannelDesc, 0, __pyx_n_s_cudaGetChannelDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__599)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetChannelDesc, __pyx_t_3) < 0) __PYX_ERR(0, 18953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18990
 * 
 * @cython.embedsignature(True)
 * def cudaCreateChannelDesc(int x, int y, int z, int w, f not None : cudaChannelFormatKind):             # <<<<<<<<<<<<<<
 *     """ Returns a channel descriptor using the specified format.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaChannelFormatKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_f_2, __pyx_t_1) < 0) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_351cudaCreateChannelDesc, 0, __pyx_n_s_cudaCreateChannelDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__600)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCreateChannelDesc, __pyx_t_1) < 0) __PYX_ERR(0, 18990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19036
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pResDesc, __pyx_n_u_cudaResourceDesc) < 0) __PYX_ERR(0, 19036, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pTexDesc, __pyx_n_u_cudaTextureDesc) < 0) __PYX_ERR(0, 19036, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pResViewDesc, __pyx_n_u_cudaResourceViewDesc) < 0) __PYX_ERR(0, 19036, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_353cudaCreateTextureObject, 0, __pyx_n_s_cudaCreateTextureObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__601)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCreateTextureObject, __pyx_t_3) < 0) __PYX_ERR(0, 19036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19260
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject_v2(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc_v2, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pResDesc, __pyx_n_u_cudaResourceDesc) < 0) __PYX_ERR(0, 19260, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pTexDesc, __pyx_n_u_cudaTextureDesc_v2) < 0) __PYX_ERR(0, 19260, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pResViewDesc, __pyx_n_u_cudaResourceViewDesc) < 0) __PYX_ERR(0, 19260, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_355cudaCreateTextureObject_v2, 0, __pyx_n_s_cudaCreateTextureObject_v2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__602)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCreateTextureObject_v2, __pyx_t_1) < 0) __PYX_ERR(0, 19260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19498
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_357cudaDestroyTextureObject, 0, __pyx_n_s_cudaDestroyTextureObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__603)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDestroyTextureObject, __pyx_t_1) < 0) __PYX_ERR(0, 19498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19532
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_359cudaGetTextureObjectResourceDesc, 0, __pyx_n_s_cudaGetTextureObjectResourceDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__604)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetTextureObjectResourceDesc, __pyx_t_1) < 0) __PYX_ERR(0, 19532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19570
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_361cudaGetTextureObjectTextureDesc, 0, __pyx_n_s_cudaGetTextureObjectTextureDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__605)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetTextureObjectTextureDesc, __pyx_t_1) < 0) __PYX_ERR(0, 19570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19608
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc_v2(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_363cudaGetTextureObjectTextureDesc_v2, 0, __pyx_n_s_cudaGetTextureObjectTextureDesc_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__606)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetTextureObjectTextureDesc_2, __pyx_t_1) < 0) __PYX_ERR(0, 19608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19645
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_365cudaGetTextureObjectResourceViewDesc, 0, __pyx_n_s_cudaGetTextureObjectResourceView, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__607)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetTextureObjectResourceView, __pyx_t_1) < 0) __PYX_ERR(0, 19645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19683
 * 
 * @cython.embedsignature(True)
 * def cudaCreateSurfaceObject(pResDesc : cudaResourceDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a surface object.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pResDesc, __pyx_n_u_cudaResourceDesc) < 0) __PYX_ERR(0, 19683, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_367cudaCreateSurfaceObject, 0, __pyx_n_s_cudaCreateSurfaceObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__608)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCreateSurfaceObject, __pyx_t_3) < 0) __PYX_ERR(0, 19683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19720
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_369cudaDestroySurfaceObject, 0, __pyx_n_s_cudaDestroySurfaceObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__609)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDestroySurfaceObject, __pyx_t_3) < 0) __PYX_ERR(0, 19720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19754
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject):             # <<<<<<<<<<<<<<
 *     """ Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by `surfObject`.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_371cudaGetSurfaceObjectResourceDesc, 0, __pyx_n_s_cudaGetSurfaceObjectResourceDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__610)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetSurfaceObjectResourceDesc, __pyx_t_3) < 0) __PYX_ERR(0, 19754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19788
 * 
 * @cython.embedsignature(True)
 * def cudaDriverGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the latest version of CUDA supported by the driver.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_373cudaDriverGetVersion, 0, __pyx_n_s_cudaDriverGetVersion, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__611)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDriverGetVersion, __pyx_t_3) < 0) __PYX_ERR(0, 19788, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19815
 * 
 * @cython.embedsignature(True)
 * def cudaRuntimeGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the CUDA Runtime version.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_375cudaRuntimeGetVersion, 0, __pyx_n_s_cudaRuntimeGetVersion, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__612)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaRuntimeGetVersion, __pyx_t_3) < 0) __PYX_ERR(0, 19815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19841
 * 
 * @cython.embedsignature(True)
 * def cudaGraphCreate(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates a graph.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_377cudaGraphCreate, 0, __pyx_n_s_cudaGraphCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__613)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphCreate, __pyx_t_3) < 0) __PYX_ERR(0, 19841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19867
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddKernelNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ 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(0, 19867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 19867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pNodeParams, __pyx_n_u_cudaKernelNodeParams) < 0) __PYX_ERR(0, 19867, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_379cudaGraphAddKernelNode, 0, __pyx_n_s_cudaGraphAddKernelNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__614)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddKernelNode, __pyx_t_4) < 0) __PYX_ERR(0, 19867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19985
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a kernel node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_381cudaGraphKernelNodeGetParams, 0, __pyx_n_s_cudaGraphKernelNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__616)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphKernelNodeGetParams, __pyx_t_4) < 0) __PYX_ERR(0, 19985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":20030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetParams(node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a kernel node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pNodeParams, __pyx_n_u_cudaKernelNodeParams) < 0) __PYX_ERR(0, 20030, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_383cudaGraphKernelNodeSetParams, 0, __pyx_n_s_cudaGraphKernelNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__617)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphKernelNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(0, 20030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":20066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeCopyAttributes(hSrc, hDst):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source node to destination node.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_385cudaGraphKernelNodeCopyAttributes, 0, __pyx_n_s_cudaGraphKernelNodeCopyAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__618)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphKernelNodeCopyAttribute, __pyx_t_3) < 0) __PYX_ERR(0, 20066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":20113
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetAttribute(hNode, attr not None : cudaKernelNodeAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries node attribute.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaKernelNodeAttrID); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attr, __pyx_t_4) < 0) __PYX_ERR(0, 20113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_387cudaGraphKernelNodeGetAttribute, 0, __pyx_n_s_cudaGraphKernelNodeGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__619)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphKernelNodeGetAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 20113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":20153
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaLaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaKernelNodeAttrID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_attr, __pyx_t_3) < 0) __PYX_ERR(0, 20153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_value, __pyx_n_u_cudaLaunchAttributeValue) < 0) __PYX_ERR(0, 20153, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_389cudaGraphKernelNodeSetAttribute, 0, __pyx_n_s_cudaGraphKernelNodeSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__620)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphKernelNodeSetAttribute, __pyx_t_3) < 0) __PYX_ERR(0, 20153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":20193
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pCopyParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Creates a memcpy node and adds it to a graph.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_List); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pDependencies, __pyx_t_1) < 0) __PYX_ERR(0, 20193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pCopyParams, __pyx_n_u_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 20193, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_391cudaGraphAddMemcpyNode, 0, __pyx_n_s_cudaGraphAddMemcpyNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__621)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddMemcpyNode, __pyx_t_1) < 0) __PYX_ERR(0, 20193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20265
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemcpyNode1D(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Creates a 1D memcpy node and adds it to a graph.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kind_2, __pyx_t_4) < 0) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_393cudaGraphAddMemcpyNode1D, 0, __pyx_n_s_cudaGraphAddMemcpyNode1D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__622)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddMemcpyNode1D, __pyx_t_4) < 0) __PYX_ERR(0, 20265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":20356
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memcpy node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_395cudaGraphMemcpyNodeGetParams, 0, __pyx_n_s_cudaGraphMemcpyNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__623)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemcpyNodeGetParams, __pyx_t_4) < 0) __PYX_ERR(0, 20356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":20392
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams(node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pNodeParams, __pyx_n_u_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 20392, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_397cudaGraphMemcpyNodeSetParams, 0, __pyx_n_s_cudaGraphMemcpyNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__624)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemcpyNodeSetParams, __pyx_t_1) < 0) __PYX_ERR(0, 20392, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20428
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams1D(node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters to perform a 1-dimensional copy.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kind_2, __pyx_t_4) < 0) __PYX_ERR(0, 20428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_399cudaGraphMemcpyNodeSetParams1D, 0, __pyx_n_s_cudaGraphMemcpyNodeSetParams1D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__625)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemcpyNodeSetParams1D, __pyx_t_4) < 0) __PYX_ERR(0, 20428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":20488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemsetNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pMemsetParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Creates a memset node and adds it to a graph.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 20488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pMemsetParams, __pyx_n_u_cudaMemsetParams) < 0) __PYX_ERR(0, 20488, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_401cudaGraphAddMemsetNode, 0, __pyx_n_s_cudaGraphAddMemsetNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__626)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddMemsetNode, __pyx_t_3) < 0) __PYX_ERR(0, 20488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":20554
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memset node's parameters.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_403cudaGraphMemsetNodeGetParams, 0, __pyx_n_s_cudaGraphMemsetNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__627)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemsetNodeGetParams, __pyx_t_3) < 0) __PYX_ERR(0, 20554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":20590
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeSetParams(node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets a memset node's parameters.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pNodeParams, __pyx_n_u_cudaMemsetParams) < 0) __PYX_ERR(0, 20590, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_405cudaGraphMemsetNodeSetParams, 0, __pyx_n_s_cudaGraphMemsetNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__628)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemsetNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 20590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":20626
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddHostNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates a host execution node and adds it to a graph.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pDependencies, __pyx_t_1) < 0) __PYX_ERR(0, 20626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pNodeParams, __pyx_n_u_cudaHostNodeParams) < 0) __PYX_ERR(0, 20626, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_407cudaGraphAddHostNode, 0, __pyx_n_s_cudaGraphAddHostNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__629)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddHostNode, __pyx_t_1) < 0) __PYX_ERR(0, 20626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20693
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a host node's parameters.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_409cudaGraphHostNodeGetParams, 0, __pyx_n_s_cudaGraphHostNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__630)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphHostNodeGetParams, __pyx_t_1) < 0) __PYX_ERR(0, 20693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20729
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeSetParams(node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a host node's parameters.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pNodeParams, __pyx_n_u_cudaHostNodeParams) < 0) __PYX_ERR(0, 20729, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_411cudaGraphHostNodeSetParams, 0, __pyx_n_s_cudaGraphHostNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__631)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphHostNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 20729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":20765
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddChildGraphNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, childGraph):             # <<<<<<<<<<<<<<
 *     """ Creates a child graph node and adds it to a graph.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 20765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_413cudaGraphAddChildGraphNode, 0, __pyx_n_s_cudaGraphAddChildGraphNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__632)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddChildGraphNode, __pyx_t_3) < 0) __PYX_ERR(0, 20765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":20844
 * 
 * @cython.embedsignature(True)
 * def cudaGraphChildGraphNodeGetGraph(node):             # <<<<<<<<<<<<<<
 *     """ Gets a handle to the embedded graph of a child graph node.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_415cudaGraphChildGraphNodeGetGraph, 0, __pyx_n_s_cudaGraphChildGraphNodeGetGraph, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__633)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphChildGraphNodeGetGraph, __pyx_t_3) < 0) __PYX_ERR(0, 20844, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":20885
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEmptyNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Creates an empty node and adds it to a graph.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_List); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pDependencies, __pyx_t_1) < 0) __PYX_ERR(0, 20885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_417cudaGraphAddEmptyNode, 0, __pyx_n_s_cudaGraphAddEmptyNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__634)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddEmptyNode, __pyx_t_1) < 0) __PYX_ERR(0, 20885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":20952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventRecordNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event record node and adds it to a graph.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 20952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_419cudaGraphAddEventRecordNode, 0, __pyx_n_s_cudaGraphAddEventRecordNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__635)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddEventRecordNode, __pyx_t_4) < 0) __PYX_ERR(0, 20952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21030
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event record node.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_421cudaGraphEventRecordNodeGetEvent, 0, __pyx_n_s_cudaGraphEventRecordNodeGetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__636)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventRecordNodeGetEvent, __pyx_t_4) < 0) __PYX_ERR(0, 21030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21066
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event record node's event.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_423cudaGraphEventRecordNodeSetEvent, 0, __pyx_n_s_cudaGraphEventRecordNodeSetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__637)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventRecordNodeSetEvent, __pyx_t_4) < 0) __PYX_ERR(0, 21066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21111
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddEventWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, event):             # <<<<<<<<<<<<<<
 *     """ Creates an event wait node and adds it to a graph.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 21111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_425cudaGraphAddEventWaitNode, 0, __pyx_n_s_cudaGraphAddEventWaitNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__638)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddEventWaitNode, __pyx_t_3) < 0) __PYX_ERR(0, 21111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":21192
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event wait node.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_427cudaGraphEventWaitNodeGetEvent, 0, __pyx_n_s_cudaGraphEventWaitNodeGetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__639)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventWaitNodeGetEvent, __pyx_t_3) < 0) __PYX_ERR(0, 21192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":21228
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event wait node's event.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_429cudaGraphEventWaitNodeSetEvent, 0, __pyx_n_s_cudaGraphEventWaitNodeSetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__640)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventWaitNodeSetEvent, __pyx_t_3) < 0) __PYX_ERR(0, 21228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":21273
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresSignalNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ 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(0, 21273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_List); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pDependencies, __pyx_t_1) < 0) __PYX_ERR(0, 21273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreSignalNodeP) < 0) __PYX_ERR(0, 21273, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_431cudaGraphAddExternalSemaphoresSignalNode, 0, __pyx_n_s_cudaGraphAddExternalSemaphoresSi_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__641)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddExternalSemaphoresSi_2, __pyx_t_1) < 0) __PYX_ERR(0, 21273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21341
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore signal node's parameters.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_433cudaGraphExternalSemaphoresSignalNodeGetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresSigna, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__642)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExternalSemaphoresSigna, __pyx_t_1) < 0) __PYX_ERR(0, 21341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21383
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore signal node's parameters.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreSignalNodeP) < 0) __PYX_ERR(0, 21383, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_435cudaGraphExternalSemaphoresSignalNodeSetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresSigna_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__643)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExternalSemaphoresSigna_2, __pyx_t_3) < 0) __PYX_ERR(0, 21383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":21420
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddExternalSemaphoresWaitNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ 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(0, 21420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 21420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreWaitNodePar) < 0) __PYX_ERR(0, 21420, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_437cudaGraphAddExternalSemaphoresWaitNode, 0, __pyx_n_s_cudaGraphAddExternalSemaphoresWa_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__644)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddExternalSemaphoresWa_2, __pyx_t_4) < 0) __PYX_ERR(0, 21420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21488
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore wait node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_439cudaGraphExternalSemaphoresWaitNodeGetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresWaitN, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__645)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExternalSemaphoresWaitN, __pyx_t_4) < 0) __PYX_ERR(0, 21488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21530
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore wait node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreWaitNodePar) < 0) __PYX_ERR(0, 21530, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_441cudaGraphExternalSemaphoresWaitNodeSetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresWaitN_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__646)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExternalSemaphoresWaitN_2, __pyx_t_3) < 0) __PYX_ERR(0, 21530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":21567
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemAllocNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, nodeParams : cudaMemAllocNodeParams):             # <<<<<<<<<<<<<<
 *     """ Creates an allocation node and adds it to a graph.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_List); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pDependencies, __pyx_t_1) < 0) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_n_u_cudaMemAllocNodeParams) < 0) __PYX_ERR(0, 21567, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_443cudaGraphAddMemAllocNode, 0, __pyx_n_s_cudaGraphAddMemAllocNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__647)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddMemAllocNode, __pyx_t_1) < 0) __PYX_ERR(0, 21567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21673
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemAllocNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory alloc node's parameters.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_445cudaGraphMemAllocNodeGetParams, 0, __pyx_n_s_cudaGraphMemAllocNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__648)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemAllocNodeGetParams, __pyx_t_1) < 0) __PYX_ERR(0, 21673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddMemFreeNode(graph, pDependencies : List[cudaGraphNode_t], size_t numDependencies, dptr):             # <<<<<<<<<<<<<<
 *     """ Creates a memory free node and adds it to a graph.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 21712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_447cudaGraphAddMemFreeNode, 0, __pyx_n_s_cudaGraphAddMemFreeNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__649)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddMemFreeNode, __pyx_t_4) < 0) __PYX_ERR(0, 21712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21797
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemFreeNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory free node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_449cudaGraphMemFreeNodeGetParams, 0, __pyx_n_s_cudaGraphMemFreeNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__650)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemFreeNodeGetParams, __pyx_t_4) < 0) __PYX_ERR(0, 21797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21834
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGraphMemTrim(int device):             # <<<<<<<<<<<<<<
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_451cudaDeviceGraphMemTrim, 0, __pyx_n_s_cudaDeviceGraphMemTrim, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__651)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGraphMemTrim, __pyx_t_4) < 0) __PYX_ERR(0, 21834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21859
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType):             # <<<<<<<<<<<<<<
 *     """ Query asynchronous allocation attributes related to graphs.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaGraphMemAttributeType); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_attr, __pyx_t_1) < 0) __PYX_ERR(0, 21859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_453cudaDeviceGetGraphMemAttribute, 0, __pyx_n_s_cudaDeviceGetGraphMemAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__652)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetGraphMemAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 21859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":21904
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType, value):             # <<<<<<<<<<<<<<
 *     """ Set asynchronous allocation attributes related to graphs.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaGraphMemAttributeType); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_attr, __pyx_t_4) < 0) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_455cudaDeviceSetGraphMemAttribute, 0, __pyx_n_s_cudaDeviceSetGraphMemAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__653)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSetGraphMemAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 21904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21942
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_457cudaGraphClone, 0, __pyx_n_s_cudaGraphClone, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__654)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphClone, __pyx_t_4) < 0) __PYX_ERR(0, 21942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":21984
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeFindInClone(originalNode, clonedGraph):             # <<<<<<<<<<<<<<
 *     """ Finds a cloned version of a node.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_459cudaGraphNodeFindInClone, 0, __pyx_n_s_cudaGraphNodeFindInClone, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__655)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeFindInClone, __pyx_t_4) < 0) __PYX_ERR(0, 21984, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22039
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetType(node):             # <<<<<<<<<<<<<<
 *     """ Returns a node's type.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_461cudaGraphNodeGetType, 0, __pyx_n_s_cudaGraphNodeGetType, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__656)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeGetType, __pyx_t_4) < 0) __PYX_ERR(0, 22039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22075
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetNodes(graph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_463cudaGraphGetNodes, 0, __pyx_n_s_cudaGraphGetNodes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__657)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphGetNodes, __pyx_t_4) < 0) __PYX_ERR(0, 22075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22130
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetRootNodes(graph, size_t pNumRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_465cudaGraphGetRootNodes, 0, __pyx_n_s_cudaGraphGetRootNodes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__658)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphGetRootNodes, __pyx_t_4) < 0) __PYX_ERR(0, 22130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22185
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetEdges(graph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_467cudaGraphGetEdges, 0, __pyx_n_s_cudaGraphGetEdges, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__659)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphGetEdges, __pyx_t_4) < 0) __PYX_ERR(0, 22185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22254
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependencies(node, size_t pNumDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_469cudaGraphNodeGetDependencies, 0, __pyx_n_s_cudaGraphNodeGetDependencies, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__660)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeGetDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 22254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22310
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependentNodes(node, size_t pNumDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_471cudaGraphNodeGetDependentNodes, 0, __pyx_n_s_cudaGraphNodeGetDependentNodes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__661)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeGetDependentNodes, __pyx_t_4) < 0) __PYX_ERR(0, 22310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22366
 * 
 * @cython.embedsignature(True)
 * def cudaGraphAddDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Adds dependency edges to a graph.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_from, __pyx_t_3) < 0) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_to, __pyx_t_1) < 0) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_473cudaGraphAddDependencies, 0, __pyx_n_s_cudaGraphAddDependencies, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__662)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphAddDependencies, __pyx_t_1) < 0) __PYX_ERR(0, 22366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":22442
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRemoveDependencies(graph, from_ : List[cudaGraphNode_t], to : List[cudaGraphNode_t], size_t numDependencies):             # <<<<<<<<<<<<<<
 *     """ Removes dependency edges from a graph.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_List); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_from, __pyx_t_3) < 0) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_to, __pyx_t_4) < 0) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_475cudaGraphRemoveDependencies, 0, __pyx_n_s_cudaGraphRemoveDependencies, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__665)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphRemoveDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 22442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22519
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroyNode(node):             # <<<<<<<<<<<<<<
 *     """ Remove a node from the graph.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_477cudaGraphDestroyNode, 0, __pyx_n_s_cudaGraphDestroyNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__666)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDestroyNode, __pyx_t_4) < 0) __PYX_ERR(0, 22519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22556
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiate(graph, char* pLogBuffer, size_t bufferSize):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_479cudaGraphInstantiate, 0, __pyx_n_s_cudaGraphInstantiate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__667)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphInstantiate, __pyx_t_4) < 0) __PYX_ERR(0, 22556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22609
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiateWithFlags(graph, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_481cudaGraphInstantiateWithFlags, 0, __pyx_n_s_cudaGraphInstantiateWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__668)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphInstantiateWithFlags, __pyx_t_4) < 0) __PYX_ERR(0, 22609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22672
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecKernelNodeSetParams(hGraphExec, node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a kernel node in the given graphExec.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pNodeParams, __pyx_n_u_cudaKernelNodeParams) < 0) __PYX_ERR(0, 22672, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_483cudaGraphExecKernelNodeSetParams, 0, __pyx_n_s_cudaGraphExecKernelNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__669)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecKernelNodeSetParams, __pyx_t_1) < 0) __PYX_ERR(0, 22672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":22731
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams(hGraphExec, node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pNodeParams, __pyx_n_u_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 22731, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_485cudaGraphExecMemcpyNodeSetParams, 0, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__670)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 22731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22796
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams1D(hGraphExec, node, dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_kind_2, __pyx_t_1) < 0) __PYX_ERR(0, 22796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_487cudaGraphExecMemcpyNodeSetParams1D, 0, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__671)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams_2, __pyx_t_1) < 0) __PYX_ERR(0, 22796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":22869
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemsetNodeSetParams(hGraphExec, node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memset node in the given graphExec.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pNodeParams, __pyx_n_u_cudaMemsetParams) < 0) __PYX_ERR(0, 22869, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_489cudaGraphExecMemsetNodeSetParams, 0, __pyx_n_s_cudaGraphExecMemsetNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__672)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecMemsetNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 22869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":22932
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecHostNodeSetParams(hGraphExec, node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a host node in the given graphExec.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pNodeParams, __pyx_n_u_cudaHostNodeParams) < 0) __PYX_ERR(0, 22932, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_491cudaGraphExecHostNodeSetParams, 0, __pyx_n_s_cudaGraphExecHostNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__673)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecHostNodeSetParams, __pyx_t_1) < 0) __PYX_ERR(0, 22932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":22987
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecChildGraphNodeSetParams(hGraphExec, node, childGraph):             # <<<<<<<<<<<<<<
 *     """ Updates node parameters in the child graph node in the given graphExec.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_493cudaGraphExecChildGraphNodeSetParams, 0, __pyx_n_s_cudaGraphExecChildGraphNodeSetPa, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__674)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecChildGraphNodeSetPa, __pyx_t_1) < 0) __PYX_ERR(0, 22987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23059
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event record node in the given graphExec.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_495cudaGraphExecEventRecordNodeSetEvent, 0, __pyx_n_s_cudaGraphExecEventRecordNodeSetE, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__675)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecEventRecordNodeSetE, __pyx_t_1) < 0) __PYX_ERR(0, 23059, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23124
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event wait node in the given graphExec.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_497cudaGraphExecEventWaitNodeSetEvent, 0, __pyx_n_s_cudaGraphExecEventWaitNodeSetEve, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__676)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecEventWaitNodeSetEve, __pyx_t_1) < 0) __PYX_ERR(0, 23124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23189
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreSignalNodeP) < 0) __PYX_ERR(0, 23189, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_499cudaGraphExecExternalSemaphoresSignalNodeSetParams, 0, __pyx_n_s_cudaGraphExecExternalSemaphoresS, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__677)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecExternalSemaphoresS, __pyx_t_4) < 0) __PYX_ERR(0, 23189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":23249
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreWaitNodePar) < 0) __PYX_ERR(0, 23249, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_501cudaGraphExecExternalSemaphoresWaitNodeSetParams, 0, __pyx_n_s_cudaGraphExecExternalSemaphoresW, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__678)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecExternalSemaphoresW, __pyx_t_1) < 0) __PYX_ERR(0, 23249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23309
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):             # <<<<<<<<<<<<<<
 *     """ Enables or disables the specified node in the given graphExec.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_503cudaGraphNodeSetEnabled, 0, __pyx_n_s_cudaGraphNodeSetEnabled, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__679)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeSetEnabled, __pyx_t_1) < 0) __PYX_ERR(0, 23309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23372
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetEnabled(hGraphExec, hNode):             # <<<<<<<<<<<<<<
 *     """ Query whether a node in the given graphExec is enabled.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_505cudaGraphNodeGetEnabled, 0, __pyx_n_s_cudaGraphNodeGetEnabled, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__680)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeGetEnabled, __pyx_t_1) < 0) __PYX_ERR(0, 23372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23429
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecUpdate(hGraphExec, hGraph):             # <<<<<<<<<<<<<<
 *     """ Check whether an executable graph can be updated with a graph and perform the update if possible.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_507cudaGraphExecUpdate, 0, __pyx_n_s_cudaGraphExecUpdate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__681)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecUpdate, __pyx_t_1) < 0) __PYX_ERR(0, 23429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23576
 * 
 * @cython.embedsignature(True)
 * def cudaGraphUpload(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Uploads an executable graph in a stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_509cudaGraphUpload, 0, __pyx_n_s_cudaGraphUpload, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__682)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphUpload, __pyx_t_1) < 0) __PYX_ERR(0, 23576, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23625
 * 
 * @cython.embedsignature(True)
 * def cudaGraphLaunch(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Launches an executable graph in a stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_511cudaGraphLaunch, 0, __pyx_n_s_cudaGraphLaunch, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__683)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphLaunch, __pyx_t_1) < 0) __PYX_ERR(0, 23625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23679
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecDestroy(graphExec):             # <<<<<<<<<<<<<<
 *     """ Destroys an executable graph.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_513cudaGraphExecDestroy, 0, __pyx_n_s_cudaGraphExecDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__684)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecDestroy, __pyx_t_1) < 0) __PYX_ERR(0, 23679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23712
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_515cudaGraphDestroy, 0, __pyx_n_s_cudaGraphDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__685)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDestroy, __pyx_t_1) < 0) __PYX_ERR(0, 23712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23745
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDebugDotPrint(graph, char* path, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Write a DOT file describing graph structure.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_517cudaGraphDebugDotPrint, 0, __pyx_n_s_cudaGraphDebugDotPrint, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__686)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDebugDotPrint, __pyx_t_1) < 0) __PYX_ERR(0, 23745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23783
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_519cudaUserObjectCreate, 0, __pyx_n_s_cudaUserObjectCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__687)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectCreate, __pyx_t_1) < 0) __PYX_ERR(0, 23783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23841
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRetain(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_521cudaUserObjectRetain, 0, __pyx_n_s_cudaUserObjectRetain, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__688)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectRetain, __pyx_t_1) < 0) __PYX_ERR(0, 23841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23881
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRelease(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a reference to a user object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_523cudaUserObjectRelease, 0, __pyx_n_s_cudaUserObjectRelease, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__689)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectRelease, __pyx_t_1) < 0) __PYX_ERR(0, 23881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23924
 * 
 * @cython.embedsignature(True)
 * def cudaGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object from a graph.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_525cudaGraphRetainUserObject, 0, __pyx_n_s_cudaGraphRetainUserObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__690)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphRetainUserObject, __pyx_t_1) < 0) __PYX_ERR(0, 23924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":23980
 * 
 * @cython.embedsignature(True)
 * def cudaGraphReleaseUserObject(graph, object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a user object reference from a graph.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_527cudaGraphReleaseUserObject, 0, __pyx_n_s_cudaGraphReleaseUserObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__691)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphReleaseUserObject, __pyx_t_1) < 0) __PYX_ERR(0, 23980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24031
 * 
 * @cython.embedsignature(True)
 * def cudaGetDriverEntryPoint(char* symbol, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Returns the requested driver API function pointer.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_529cudaGetDriverEntryPoint, 0, __pyx_n_s_cudaGetDriverEntryPoint, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__692)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDriverEntryPoint, __pyx_t_1) < 0) __PYX_ERR(0, 24031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24100
 * 
 * @cython.embedsignature(True)
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pExportTableId, __pyx_n_u_cudaUUID_t) < 0) __PYX_ERR(0, 24100, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_531cudaGetExportTable, 0, __pyx_n_s_cudaGetExportTable, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__693)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetExportTable, __pyx_t_4) < 0) __PYX_ERR(0, 24100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":24108
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPitchedPtr` based on input parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_533make_cudaPitchedPtr, 0, __pyx_n_s_make_cudaPitchedPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__694)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_cudaPitchedPtr, __pyx_t_4) < 0) __PYX_ERR(0, 24108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":24145
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaPos` based on input parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_535make_cudaPos, 0, __pyx_n_s_make_cudaPos, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__695)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_cudaPos, __pyx_t_4) < 0) __PYX_ERR(0, 24145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":24178
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """ Returns a :py:obj:`~.cudaExtent` based on input parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_537make_cudaExtent, 0, __pyx_n_s_make_cudaExtent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__696)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_cudaExtent, __pyx_t_4) < 0) __PYX_ERR(0, 24178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":24212
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerInitialize(char* configFile, char* outputFile, outputMode not None : cudaOutputMode_t):             # <<<<<<<<<<<<<<
 *     """ Initialize the CUDA profiler.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaOutputMode_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_outputMode, __pyx_t_1) < 0) __PYX_ERR(0, 24212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_539cudaProfilerInitialize, 0, __pyx_n_s_cudaProfilerInitialize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__697)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaProfilerInitialize, __pyx_t_1) < 0) __PYX_ERR(0, 24212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24263
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStart():             # <<<<<<<<<<<<<<
 *     """ Enable profiling.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_541cudaProfilerStart, 0, __pyx_n_s_cudaProfilerStart, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__698)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaProfilerStart, __pyx_t_1) < 0) __PYX_ERR(0, 24263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24287
 * 
 * @cython.embedsignature(True)
 * def cudaProfilerStop():             # <<<<<<<<<<<<<<
 *     """ Disable profiling.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_543cudaProfilerStop, 0, __pyx_n_s_cudaProfilerStop, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__699)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaProfilerStop, __pyx_t_1) < 0) __PYX_ERR(0, 24287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24311
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsEGLRegisterImage(image, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an EGL image.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_545cudaGraphicsEGLRegisterImage, 0, __pyx_n_s_cudaGraphicsEGLRegisterImage, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__700)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsEGLRegisterImage, __pyx_t_1) < 0) __PYX_ERR(0, 24311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24383
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnect(eglStream):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_547cudaEGLStreamConsumerConnect, 0, __pyx_n_s_cudaEGLStreamConsumerConnect, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__701)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamConsumerConnect, __pyx_t_1) < 0) __PYX_ERR(0, 24383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24422
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerConnectWithFlags(eglStream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_549cudaEGLStreamConsumerConnectWithFlags, 0, __pyx_n_s_cudaEGLStreamConsumerConnectWith, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__702)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamConsumerConnectWith, __pyx_t_1) < 0) __PYX_ERR(0, 24422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24465
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a consumer to EGLStream .
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_551cudaEGLStreamConsumerDisconnect, 0, __pyx_n_s_cudaEGLStreamConsumerDisconnect, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__703)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamConsumerDisconnect, __pyx_t_1) < 0) __PYX_ERR(0, 24465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24499
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout):             # <<<<<<<<<<<<<<
 *     """ Acquire an image frame from the EGLStream with CUDA as a consumer.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_553cudaEGLStreamConsumerAcquireFrame, 0, __pyx_n_s_cudaEGLStreamConsumerAcquireFram, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__704)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamConsumerAcquireFram, __pyx_t_1) < 0) __PYX_ERR(0, 24499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24564
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):             # <<<<<<<<<<<<<<
 *     """ Releases the last frame acquired from the EGLStream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_555cudaEGLStreamConsumerReleaseFrame, 0, __pyx_n_s_cudaEGLStreamConsumerReleaseFram, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__705)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamConsumerReleaseFram, __pyx_t_1) < 0) __PYX_ERR(0, 24564, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24624
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerConnect(eglStream, width, height):             # <<<<<<<<<<<<<<
 *     """ Connect CUDA to EGLStream as a producer.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_557cudaEGLStreamProducerConnect, 0, __pyx_n_s_cudaEGLStreamProducerConnect, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__706)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamProducerConnect, __pyx_t_1) < 0) __PYX_ERR(0, 24624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24687
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerDisconnect(conn):             # <<<<<<<<<<<<<<
 *     """ Disconnect CUDA as a producer to EGLStream .
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_559cudaEGLStreamProducerDisconnect, 0, __pyx_n_s_cudaEGLStreamProducerDisconnect, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__707)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamProducerDisconnect, __pyx_t_1) < 0) __PYX_ERR(0, 24687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24721
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerPresentFrame(conn, eglframe not None : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_eglframe, __pyx_n_u_cudaEglFrame) < 0) __PYX_ERR(0, 24721, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_561cudaEGLStreamProducerPresentFrame, 0, __pyx_n_s_cudaEGLStreamProducerPresentFram, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__708)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamProducerPresentFram, __pyx_t_4) < 0) __PYX_ERR(0, 24721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":24779
 * 
 * @cython.embedsignature(True)
 * def cudaEGLStreamProducerReturnFrame(conn, eglframe : cudaEglFrame, pStream):             # <<<<<<<<<<<<<<
 *     """ Return the CUDA eglFrame to the EGLStream last released by the consumer.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_eglframe, __pyx_n_u_cudaEglFrame) < 0) __PYX_ERR(0, 24779, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_563cudaEGLStreamProducerReturnFrame, 0, __pyx_n_s_cudaEGLStreamProducerReturnFrame, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__709)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_1, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEGLStreamProducerReturnFrame, __pyx_t_1) < 0) __PYX_ERR(0, 24779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24832
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel):             # <<<<<<<<<<<<<<
 *     """ Get an eglFrame through which to access a registered EGL graphics resource.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_565cudaGraphicsResourceGetMappedEglFrame, 0, __pyx_n_s_cudaGraphicsResourceGetMappedEgl, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__710)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsResourceGetMappedEgl, __pyx_t_1) < 0) __PYX_ERR(0, 24832, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24882
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateFromEGLSync(eglSync, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event from EGLSync object.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_567cudaEventCreateFromEGLSync, 0, __pyx_n_s_cudaEventCreateFromEGLSync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__711)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventCreateFromEGLSync, __pyx_t_1) < 0) __PYX_ERR(0, 24882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":24934
 * 
 * @cython.embedsignature(True)
 * def sizeof(objType):             # <<<<<<<<<<<<<<
 *     """ Returns the size of provided CUDA Python structure in bytes
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_569sizeof, 0, __pyx_n_s_sizeof, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__712)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_sizeof, __pyx_t_1) < 0) __PYX_ERR(0, 24934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1
 * # Copyright 2021-2022 NVIDIA Corporation.  All rights reserved.             # <<<<<<<<<<<<<<
 * #
 * # Please refer to the NVIDIA end user license agreement (EULA) associated
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_u_cudaSetDevice_line_11313, __pyx_kp_u_Set_device_to_be_used_for_GPU_e) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_enum__cudaMemRangeAttribute")
 * cdef vector[X] __pyx_convert_vector_from_py_enum__cudaMemRangeAttribute(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */
  __Pyx_TraceReturn(Py_None, 0);

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  if (__pyx_m) {
    if (__pyx_d) {
      __Pyx_AddTraceback("init cuda.cudart", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    Py_CLEAR(__pyx_m);
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init cuda.cudart");
  }
  __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
}

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

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

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
    if (unlikely(!result)) {
        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;
}

/* 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 **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;
    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
            continue;
        }
        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;
                    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 = (**name == key) ? 0 :
                #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;
                    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;
        }
    }
    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:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    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);
}

/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    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);
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    *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

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

/* KeywordStringCheck */
static int __Pyx_CheckKeywordStrings(
    PyObject *kwdict,
    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(kwdict, &pos, &key, 0))
        goto invalid_keyword;
    return 1;
#else
    while (PyDict_Next(kwdict, &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:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
    return 0;
}

/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL
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;
}
#if 1 || PY_VERSION_HEX < 0x030600B1
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_EnterRecursiveCall((char*)" while calling a Python object")) {
        return NULL;
    }
    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
#endif

/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = PyCFunction_GET_FUNCTION(func);
    self = PyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallNoArg */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
    }
#endif
#ifdef __Pyx_CyFunction_USED
    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
#else
    if (likely(PyCFunction_Check(func)))
#endif
    {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
            return __Pyx_PyObject_CallMethO(func, NULL);
        }
    }
    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
#endif

/* PyCFunctionFastCall */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
    PyObject *self = PyCFunction_GET_SELF(func);
    int flags = PyCFunction_GET_FLAGS(func);
    assert(PyCFunction_Check(func));
    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
    assert(nargs >= 0);
    assert(nargs == 0 || args != NULL);
    /* _PyCFunction_FastCallDict() must not be called with an exception set,
       because it may clear it (directly or indirectly) and so the
       caller loses its exception */
    assert(!PyErr_Occurred());
    if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
        return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
    } else {
        return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
    }
}
#endif

/* PyObjectCallOneArg */
#if CYTHON_COMPILING_IN_CPYTHON
static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_New(1);
    if (unlikely(!args)) return NULL;
    Py_INCREF(arg);
    PyTuple_SET_ITEM(args, 0, arg);
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, &arg, 1);
    }
#endif
    if (likely(PyCFunction_Check(func))) {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
            return __Pyx_PyObject_CallMethO(func, arg);
#if CYTHON_FAST_PYCCALL
        } else if (__Pyx_PyFastCFunction_Check(func)) {
            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
#endif
        }
    }
    return __Pyx__PyObject_CallOneArg(func, arg);
}
#else
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_Pack(1, arg);
    if (unlikely(!args)) return NULL;
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
#endif

/* RaiseException */
#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                        CYTHON_UNUSED PyObject *cause) {
    __Pyx_PyThreadState_declare
    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 CYTHON_COMPILING_IN_PYPY
        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);
#else
        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);
        }
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

/* WriteUnraisableException */
static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
                                  int full_traceback, CYTHON_UNUSED 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();
#ifdef _MSC_VER
    else state = (PyGILState_STATE)-1;
#endif
#endif
    __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
}

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

/* PyObjectCall2Args */
static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args, *result = NULL;
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(function)) {
        PyObject *args[2] = {arg1, arg2};
        return __Pyx_PyFunction_FastCall(function, args, 2);
    }
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(function)) {
        PyObject *args[2] = {arg1, arg2};
        return __Pyx_PyCFunction_FastCall(function, args, 2);
    }
    #endif
    args = PyTuple_New(2);
    if (unlikely(!args)) goto done;
    Py_INCREF(arg1);
    PyTuple_SET_ITEM(args, 0, arg1);
    Py_INCREF(arg2);
    PyTuple_SET_ITEM(args, 1, arg2);
    Py_INCREF(function);
    result = __Pyx_PyObject_Call(function, args, NULL);
    Py_DECREF(args);
    Py_DECREF(function);
done:
    return result;
}

/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    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;
    }
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
        name, type->tp_name, Py_TYPE(obj)->tp_name);
    return 0;
}

/* BytesEquals */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
    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
    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
}

/* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
#if PY_MAJOR_VERSION >= 3
    if (likely(PyUnicode_Check(n)))
#else
    if (likely(PyString_Check(n)))
#endif
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* PyIntBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
    (void)inplace;
    (void)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 + 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
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } else {
            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;
        double a = PyFloat_AS_DOUBLE(op1);
            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

/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (!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 {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (is_list || PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

/* PyIntBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
    (void)inplace;
    (void)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 - 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
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } else {
            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;
        double a = PyFloat_AS_DOUBLE(op1);
            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

/* None */
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}

/* 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) {
#if CYTHON_FAST_THREAD_STATE
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject* exc_type = tstate->curexc_type;
    if (unlikely(exc_type)) {
        if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
            PyObject *exc_value, *exc_tb;
            exc_value = tstate->curexc_value;
            exc_tb = tstate->curexc_traceback;
            tstate->curexc_type = 0;
            tstate->curexc_value = 0;
            tstate->curexc_traceback = 0;
            Py_DECREF(exc_type);
            Py_XDECREF(exc_value);
            Py_XDECREF(exc_tb);
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#else
    if (unlikely(PyErr_Occurred())) {
        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
            PyErr_Clear();
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#endif
}

/* UnpackItemEndCheck */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    } else {
        return __Pyx_IterFinish();
    }
    return 0;
}

/* GetTopmostException */
#if CYTHON_USE_EXC_INFO_STACK
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_type == NULL || exc_info->exc_type == 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
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    #endif
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    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

/* 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) {
    PyObject *exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
    if (unlikely(PyTuple_Check(err)))
        return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
}
#endif

/* CallNextTpDealloc */
static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_dealloc != current_tp_dealloc)
        type = type->tp_base;
    while (type && type->tp_dealloc == current_tp_dealloc)
        type = type->tp_base;
    if (type)
        type->tp_dealloc(obj);
}

/* PyObject_GenericGetAttrNoDict */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'%.50s' object has no attribute '%U'",
                 tp->tp_name, attr_name);
#else
                 "'%.50s' object has no attribute '%.400s'",
                 tp->tp_name, PyString_AS_STRING(attr_name));
#endif
    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

/* PyObjectGetAttrStrNoError */
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        __Pyx_PyErr_Clear();
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
    PyObject *result;
#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;
}

/* SetupReduce */
static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
  int ret;
  PyObject *name_attr;
  name_attr = __Pyx_PyObject_GetAttrStr(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_GetAttrStr(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())
        PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);
    ret = -1;
__PYX_GOOD:
#if !CYTHON_USE_PYTYPE_LOOKUP
    Py_XDECREF(object_reduce);
    Py_XDECREF(object_reduce_ex);
    Py_XDECREF(object_getstate);
    Py_XDECREF(getstate);
#endif
    Py_XDECREF(reduce);
    Py_XDECREF(reduce_ex);
    Py_XDECREF(reduce_cython);
    Py_XDECREF(setstate);
    Py_XDECREF(setstate_cython);
    return ret;
}

/* TypeImport */
#ifndef __PYX_HAVE_RT_ImportType
#define __PYX_HAVE_RT_ImportType
static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
    size_t size, enum __Pyx_ImportType_CheckSize check_size)
{
    PyObject *result = 0;
    char warning[200];
    Py_ssize_t basicsize;
#ifdef Py_LIMITED_API
    PyObject *py_basicsize;
#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;
    }
#ifndef Py_LIMITED_API
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
#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;
#endif
    if ((size_t)basicsize < 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);
        goto bad;
    }
    if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != 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);
        goto bad;
    }
    else if (check_size == __Pyx_ImportType_CheckSize_Warn && (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 *empty_list = 0;
    PyObject *module = 0;
    PyObject *global_dict = 0;
    PyObject *empty_dict = 0;
    PyObject *list;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_import;
    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
    if (!py_import)
        goto bad;
    #endif
    if (from_list)
        list = from_list;
    else {
        empty_list = PyList_New(0);
        if (!empty_list)
            goto bad;
        list = empty_list;
    }
    global_dict = PyModule_GetDict(__pyx_m);
    if (!global_dict)
        goto bad;
    empty_dict = PyDict_New();
    if (!empty_dict)
        goto bad;
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
                module = PyImport_ImportModuleLevelObject(
                    name, global_dict, empty_dict, list, 1);
                if (!module) {
                    if (!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 (!py_level)
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, global_dict, empty_dict, list, level);
            #endif
        }
    }
bad:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_import);
    #endif
    Py_XDECREF(empty_list);
    Py_XDECREF(empty_dict);
    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)) {
        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;
}

/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
        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;
}

/* 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_GetAttrStr(metaclass, __pyx_n_s_prepare);
        if (prep) {
            PyObject *pargs = PyTuple_Pack(2, name, bases);
            if (unlikely(!pargs)) {
                Py_DECREF(prep);
                return NULL;
            }
            ns = PyObject_Call(prep, pargs, mkw);
            Py_DECREF(prep);
            Py_DECREF(pargs);
        } else {
            if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
                return NULL;
            PyErr_Clear();
            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 (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
    return ns;
bad:
    Py_DECREF(ns);
    return NULL;
}
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
                                      PyObject *dict, PyObject *mkw,
                                      int calculate_metaclass, int allow_py2_metaclass) {
    PyObject *result, *margs;
    PyObject *owned_metaclass = NULL;
    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;
    }
    margs = PyTuple_Pack(3, name, bases, dict);
    if (unlikely(!margs)) {
        result = NULL;
    } else {
        result = PyObject_Call(metaclass, margs, mkw);
        Py_DECREF(margs);
    }
    Py_XDECREF(owned_metaclass);
    return result;
}

/* FetchCommonType */
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
    PyObject* fake_module;
    PyTypeObject* cached_type = NULL;
    fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
    if (!fake_module) return NULL;
    Py_INCREF(fake_module);
    cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
    if (cached_type) {
        if (!PyType_Check((PyObject*)cached_type)) {
            PyErr_Format(PyExc_TypeError,
                "Shared Cython type %.200s is not a type object",
                type->tp_name);
            goto bad;
        }
        if (cached_type->tp_basicsize != type->tp_basicsize) {
            PyErr_Format(PyExc_TypeError,
                "Shared Cython type %.200s has the wrong size, try recompiling",
                type->tp_name);
            goto bad;
        }
    } else {
        if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
        PyErr_Clear();
        if (PyType_Ready(type) < 0) goto bad;
        if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
            goto bad;
        Py_INCREF(type);
        cached_type = type;
    }
done:
    Py_DECREF(fake_module);
    return cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}

/* CythonFunctionShared */
#include <structmember.h>
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
{
    if (unlikely(op->func_doc == NULL)) {
        if (op->func.m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
            op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
#else
            op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
#endif
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp = op->func_doc;
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    op->func_doc = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    if (unlikely(op->func_name == NULL)) {
#if PY_MAJOR_VERSION >= 3
        op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
#else
        op->func_name = PyString_InternFromString(op->func.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, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#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;
    }
    tmp = op->func_name;
    Py_INCREF(value);
    op->func_name = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    Py_INCREF(op->func_qualname);
    return op->func_qualname;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#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;
    }
    tmp = op->func_qualname;
    Py_INCREF(value);
    op->func_qualname = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
{
    PyObject *self;
    self = m->func_closure;
    if (self == NULL)
        self = Py_None;
    Py_INCREF(self);
    return self;
}
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *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, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
    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;
    }
    tmp = op->func_dict;
    Py_INCREF(value);
    op->func_dict = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    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 = PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = 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, CYTHON_UNUSED void *context) {
    PyObject* tmp;
    if (!value) {
        value = Py_None;
    } else if (value != Py_None && !PyTuple_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    Py_INCREF(value);
    tmp = op->defaults_tuple;
    op->defaults_tuple = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
    PyObject* result = op->defaults_tuple;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (__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, CYTHON_UNUSED void *context) {
    PyObject* tmp;
    if (!value) {
        value = Py_None;
    } else if (value != Py_None && !PyDict_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    Py_INCREF(value);
    tmp = op->defaults_kwdict;
    op->defaults_kwdict = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
    PyObject* result = op->defaults_kwdict;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (__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, CYTHON_UNUSED void *context) {
    PyObject* tmp;
    if (!value || value == Py_None) {
        value = NULL;
    } else if (!PyDict_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    tmp = op->func_annotations;
    op->func_annotations = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
    PyObject* result = op->func_annotations;
    if (unlikely(!result)) {
        result = PyDict_New();
        if (unlikely(!result)) return NULL;
        op->func_annotations = result;
    }
    Py_INCREF(result);
    return result;
}
static 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 *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 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},
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
    {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0},
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
{
#if PY_MAJOR_VERSION >= 3
    Py_INCREF(m->func_qualname);
    return m->func_qualname;
#else
    return PyString_FromString(m->func.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
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.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 (unlikely(op == NULL))
        return NULL;
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
    op->func.m_ml = ml;
    op->func.m_self = (PyObject *) op;
    Py_XINCREF(closure);
    op->func_closure = closure;
    Py_XINCREF(module);
    op->func.m_module = module;
    op->func_dict = NULL;
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
    op->func_classobj = NULL;
    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;
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
    Py_CLEAR(m->func.m_module);
    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);
    Py_CLEAR(m->func_classobj);
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    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);
    PyObject_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);
    Py_VISIT(m->func.m_module);
    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);
    Py_VISIT(m->func_classobj);
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    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_descr_get(PyObject *func, PyObject *obj, PyObject *type)
{
#if PY_MAJOR_VERSION < 3
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
        Py_INCREF(func);
        return func;
    }
    if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
        if (type == NULL)
            type = (PyObject *)(Py_TYPE(obj));
        return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
    }
    if (obj == Py_None)
        obj = NULL;
#endif
    return __Pyx_PyMethod_New(func, obj, type);
}
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) {
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    Py_ssize_t size;
    switch (f->m_ml->ml_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)) {
            size = PyTuple_GET_SIZE(arg);
            if (likely(size == 0))
                return (*meth)(self, NULL);
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
            size = PyTuple_GET_SIZE(arg);
            if (likely(size == 1)) {
                PyObject *result, *arg0;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                arg0 = PyTuple_GET_ITEM(arg, 0);
                #else
                arg0 = 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;
            }
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags in "
                        "__Pyx_CyFunction_Call. METH_OLDARGS is no "
                        "longer supported!");
        return NULL;
    }
    PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
                 f->m_ml->ml_name);
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
        argc = PyTuple_GET_SIZE(args);
        new_args = PyTuple_GetSlice(args, 1, argc);
        if (unlikely(!new_args))
            return NULL;
        self = PyTuple_GetItem(args, 0);
        if (unlikely(!self)) {
            Py_DECREF(new_args);
            PyErr_Format(PyExc_TypeError,
                         "unbound method %.200S() needs an argument",
                         cyfunc->func_qualname);
            return NULL;
        }
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
        Py_DECREF(new_args);
    } else {
        result = __Pyx_CyFunction_Call(func, args, kw);
    }
    return result;
}
static PyTypeObject __pyx_CyFunctionType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
    (destructor) __Pyx_CyFunction_dealloc,
    0,
    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,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
    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_CyFunction_descr_get,
    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 PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
    0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
    0,
#endif
};
static int __pyx_CyFunction_init(void) {
    __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
    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;
}

/* ObjectGetItem */
#if CYTHON_USE_TYPE_SLOTS
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
    PyObject *runerr;
    Py_ssize_t key_value;
    PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
    if (unlikely(!(m && m->sq_item))) {
        PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
        return NULL;
    }
    key_value = __Pyx_PyIndex_AsSsize_t(index);
    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
    }
    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
        PyErr_Clear();
        PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
    }
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
    PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
    if (likely(m && m->mp_subscript)) {
        return m->mp_subscript(obj, key);
    }
    return __Pyx_PyObject_GetIndex(obj, key);
}
#endif

/* CLineInTraceback */
#ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
    PyObject *use_cline;
    PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject **cython_runtime_dict;
#endif
    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_GetAttrStr(__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 */
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);
}

/* AddTraceback */
#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
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,
        __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);
}

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

/* None */
static CYTHON_INLINE int __Pyx_ErrOccurredWithGIL(void) {
  int err;
  #ifdef WITH_THREAD
  PyGILState_STATE _save = PyGILState_Ensure();
  #endif
  err = !!PyErr_Occurred();
  #ifdef WITH_THREAD
  PyGILState_Release(_save);
  #endif
  return err;
}

/* 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;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaError(enum cudaError value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaError neg_one = (enum cudaError) -1, const_zero = (enum cudaError) 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) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaError) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaError) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaError) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaError) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaError),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaChannelFormatKind(enum cudaChannelFormatKind value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaChannelFormatKind neg_one = (enum cudaChannelFormatKind) -1, const_zero = (enum cudaChannelFormatKind) 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 cudaChannelFormatKind) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaChannelFormatKind) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaChannelFormatKind) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaChannelFormatKind) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaChannelFormatKind) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaChannelFormatKind),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemoryType(enum cudaMemoryType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemoryType neg_one = (enum cudaMemoryType) -1, const_zero = (enum cudaMemoryType) 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 cudaMemoryType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemoryType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemoryType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemoryType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemoryType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemoryType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemcpyKind(enum cudaMemcpyKind value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemcpyKind neg_one = (enum cudaMemcpyKind) -1, const_zero = (enum cudaMemcpyKind) 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 cudaMemcpyKind) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemcpyKind) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemcpyKind) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemcpyKind) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemcpyKind) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemcpyKind),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaAccessProperty(enum cudaAccessProperty value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaAccessProperty neg_one = (enum cudaAccessProperty) -1, const_zero = (enum cudaAccessProperty) 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 cudaAccessProperty) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaAccessProperty) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaAccessProperty) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaAccessProperty) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaAccessProperty) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaAccessProperty),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaStreamCaptureStatus(enum cudaStreamCaptureStatus value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaStreamCaptureStatus neg_one = (enum cudaStreamCaptureStatus) -1, const_zero = (enum cudaStreamCaptureStatus) 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 cudaStreamCaptureStatus) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaStreamCaptureStatus) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaStreamCaptureStatus) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaStreamCaptureStatus) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaStreamCaptureStatus) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaStreamCaptureStatus),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaStreamCaptureMode(enum cudaStreamCaptureMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaStreamCaptureMode neg_one = (enum cudaStreamCaptureMode) -1, const_zero = (enum cudaStreamCaptureMode) 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 cudaStreamCaptureMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaStreamCaptureMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaStreamCaptureMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaStreamCaptureMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaStreamCaptureMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaStreamCaptureMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSynchronizationPolicy(enum cudaSynchronizationPolicy value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaSynchronizationPolicy neg_one = (enum cudaSynchronizationPolicy) -1, const_zero = (enum cudaSynchronizationPolicy) 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 cudaSynchronizationPolicy) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaSynchronizationPolicy) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSynchronizationPolicy) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaSynchronizationPolicy) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSynchronizationPolicy) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaSynchronizationPolicy),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaClusterSchedulingPolicy(enum cudaClusterSchedulingPolicy value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaClusterSchedulingPolicy neg_one = (enum cudaClusterSchedulingPolicy) -1, const_zero = (enum cudaClusterSchedulingPolicy) 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 cudaClusterSchedulingPolicy) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaClusterSchedulingPolicy) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaClusterSchedulingPolicy) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaClusterSchedulingPolicy) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaClusterSchedulingPolicy) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaClusterSchedulingPolicy),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaStreamUpdateCaptureDependenciesFlags(enum cudaStreamUpdateCaptureDependenciesFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaStreamUpdateCaptureDependenciesFlags neg_one = (enum cudaStreamUpdateCaptureDependenciesFlags) -1, const_zero = (enum cudaStreamUpdateCaptureDependenciesFlags) 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 cudaStreamUpdateCaptureDependenciesFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaStreamUpdateCaptureDependenciesFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaStreamUpdateCaptureDependenciesFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaStreamUpdateCaptureDependenciesFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaStreamUpdateCaptureDependenciesFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaStreamUpdateCaptureDependenciesFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaUserObjectFlags(enum cudaUserObjectFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaUserObjectFlags neg_one = (enum cudaUserObjectFlags) -1, const_zero = (enum cudaUserObjectFlags) 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 cudaUserObjectFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaUserObjectFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaUserObjectFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaUserObjectFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaUserObjectFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaUserObjectFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaUserObjectRetainFlags(enum cudaUserObjectRetainFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaUserObjectRetainFlags neg_one = (enum cudaUserObjectRetainFlags) -1, const_zero = (enum cudaUserObjectRetainFlags) 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 cudaUserObjectRetainFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaUserObjectRetainFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaUserObjectRetainFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaUserObjectRetainFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaUserObjectRetainFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaUserObjectRetainFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphicsRegisterFlags(enum cudaGraphicsRegisterFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphicsRegisterFlags neg_one = (enum cudaGraphicsRegisterFlags) -1, const_zero = (enum cudaGraphicsRegisterFlags) 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 cudaGraphicsRegisterFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphicsRegisterFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphicsRegisterFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphicsRegisterFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphicsRegisterFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphicsRegisterFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphicsMapFlags(enum cudaGraphicsMapFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphicsMapFlags neg_one = (enum cudaGraphicsMapFlags) -1, const_zero = (enum cudaGraphicsMapFlags) 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 cudaGraphicsMapFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphicsMapFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphicsMapFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphicsMapFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphicsMapFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphicsMapFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphicsCubeFace(enum cudaGraphicsCubeFace value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphicsCubeFace neg_one = (enum cudaGraphicsCubeFace) -1, const_zero = (enum cudaGraphicsCubeFace) 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 cudaGraphicsCubeFace) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphicsCubeFace) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphicsCubeFace) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphicsCubeFace) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphicsCubeFace) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphicsCubeFace),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaResourceType(enum cudaResourceType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaResourceType neg_one = (enum cudaResourceType) -1, const_zero = (enum cudaResourceType) 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 cudaResourceType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaResourceType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaResourceType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaResourceType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaResourceType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaResourceType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaResourceViewFormat(enum cudaResourceViewFormat value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaResourceViewFormat neg_one = (enum cudaResourceViewFormat) -1, const_zero = (enum cudaResourceViewFormat) 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 cudaResourceViewFormat) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaResourceViewFormat) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaResourceViewFormat) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaResourceViewFormat) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaResourceViewFormat) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaResourceViewFormat),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFuncAttribute(enum cudaFuncAttribute value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFuncAttribute neg_one = (enum cudaFuncAttribute) -1, const_zero = (enum cudaFuncAttribute) 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 cudaFuncAttribute) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaFuncAttribute) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFuncAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaFuncAttribute) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFuncAttribute) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaFuncAttribute),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFuncCache(enum cudaFuncCache value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFuncCache neg_one = (enum cudaFuncCache) -1, const_zero = (enum cudaFuncCache) 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 cudaFuncCache) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaFuncCache) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFuncCache) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaFuncCache) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFuncCache) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaFuncCache),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSharedMemConfig(enum cudaSharedMemConfig value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaSharedMemConfig neg_one = (enum cudaSharedMemConfig) -1, const_zero = (enum cudaSharedMemConfig) 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 cudaSharedMemConfig) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaSharedMemConfig) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSharedMemConfig) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaSharedMemConfig) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSharedMemConfig) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaSharedMemConfig),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSharedCarveout(enum cudaSharedCarveout value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaSharedCarveout neg_one = (enum cudaSharedCarveout) -1, const_zero = (enum cudaSharedCarveout) 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 cudaSharedCarveout) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaSharedCarveout) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSharedCarveout) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaSharedCarveout) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSharedCarveout) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaSharedCarveout),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaComputeMode(enum cudaComputeMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaComputeMode neg_one = (enum cudaComputeMode) -1, const_zero = (enum cudaComputeMode) 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 cudaComputeMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaComputeMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaComputeMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaComputeMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaComputeMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaComputeMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaLimit(enum cudaLimit value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaLimit neg_one = (enum cudaLimit) -1, const_zero = (enum cudaLimit) 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 cudaLimit) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaLimit) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaLimit) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaLimit) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaLimit) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaLimit),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemoryAdvise(enum cudaMemoryAdvise value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemoryAdvise neg_one = (enum cudaMemoryAdvise) -1, const_zero = (enum cudaMemoryAdvise) 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 cudaMemoryAdvise) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemoryAdvise) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemoryAdvise) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemoryAdvise) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemoryAdvise) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemoryAdvise),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemRangeAttribute(enum cudaMemRangeAttribute value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemRangeAttribute neg_one = (enum cudaMemRangeAttribute) -1, const_zero = (enum cudaMemRangeAttribute) 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 cudaMemRangeAttribute) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemRangeAttribute) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemRangeAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemRangeAttribute) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemRangeAttribute) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemRangeAttribute),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaOutputMode(enum cudaOutputMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaOutputMode neg_one = (enum cudaOutputMode) -1, const_zero = (enum cudaOutputMode) 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 cudaOutputMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaOutputMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaOutputMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaOutputMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaOutputMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaOutputMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesOptions(enum cudaFlushGPUDirectRDMAWritesOptions value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFlushGPUDirectRDMAWritesOptions neg_one = (enum cudaFlushGPUDirectRDMAWritesOptions) -1, const_zero = (enum cudaFlushGPUDirectRDMAWritesOptions) 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 cudaFlushGPUDirectRDMAWritesOptions) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesOptions) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesOptions) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaFlushGPUDirectRDMAWritesOptions) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesOptions) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaFlushGPUDirectRDMAWritesOptions),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGPUDirectRDMAWritesOrdering(enum cudaGPUDirectRDMAWritesOrdering value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGPUDirectRDMAWritesOrdering neg_one = (enum cudaGPUDirectRDMAWritesOrdering) -1, const_zero = (enum cudaGPUDirectRDMAWritesOrdering) 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 cudaGPUDirectRDMAWritesOrdering) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGPUDirectRDMAWritesOrdering) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGPUDirectRDMAWritesOrdering) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGPUDirectRDMAWritesOrdering) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGPUDirectRDMAWritesOrdering) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGPUDirectRDMAWritesOrdering),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesScope(enum cudaFlushGPUDirectRDMAWritesScope value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFlushGPUDirectRDMAWritesScope neg_one = (enum cudaFlushGPUDirectRDMAWritesScope) -1, const_zero = (enum cudaFlushGPUDirectRDMAWritesScope) 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 cudaFlushGPUDirectRDMAWritesScope) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaFlushGPUDirectRDMAWritesScope),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaFlushGPUDirectRDMAWritesTarget(enum cudaFlushGPUDirectRDMAWritesTarget value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFlushGPUDirectRDMAWritesTarget neg_one = (enum cudaFlushGPUDirectRDMAWritesTarget) -1, const_zero = (enum cudaFlushGPUDirectRDMAWritesTarget) 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 cudaFlushGPUDirectRDMAWritesTarget) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaFlushGPUDirectRDMAWritesTarget),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaDeviceAttr(enum cudaDeviceAttr value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaDeviceAttr neg_one = (enum cudaDeviceAttr) -1, const_zero = (enum cudaDeviceAttr) 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 cudaDeviceAttr) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaDeviceAttr) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaDeviceAttr) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaDeviceAttr) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaDeviceAttr) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaDeviceAttr),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemPoolAttr(enum cudaMemPoolAttr value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemPoolAttr neg_one = (enum cudaMemPoolAttr) -1, const_zero = (enum cudaMemPoolAttr) 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 cudaMemPoolAttr) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemPoolAttr) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemPoolAttr) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemPoolAttr) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemPoolAttr) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemPoolAttr),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemLocationType(enum cudaMemLocationType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemLocationType neg_one = (enum cudaMemLocationType) -1, const_zero = (enum cudaMemLocationType) 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 cudaMemLocationType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemLocationType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemLocationType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemLocationType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemLocationType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemLocationType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemAccessFlags(enum cudaMemAccessFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemAccessFlags neg_one = (enum cudaMemAccessFlags) -1, const_zero = (enum cudaMemAccessFlags) 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 cudaMemAccessFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemAccessFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemAccessFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemAccessFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemAccessFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemAccessFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemAllocationType(enum cudaMemAllocationType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemAllocationType neg_one = (enum cudaMemAllocationType) -1, const_zero = (enum cudaMemAllocationType) 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 cudaMemAllocationType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemAllocationType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemAllocationType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemAllocationType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemAllocationType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemAllocationType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaMemAllocationHandleType(enum cudaMemAllocationHandleType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemAllocationHandleType neg_one = (enum cudaMemAllocationHandleType) -1, const_zero = (enum cudaMemAllocationHandleType) 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 cudaMemAllocationHandleType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaMemAllocationHandleType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemAllocationHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaMemAllocationHandleType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaMemAllocationHandleType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaMemAllocationHandleType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphMemAttributeType(enum cudaGraphMemAttributeType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphMemAttributeType neg_one = (enum cudaGraphMemAttributeType) -1, const_zero = (enum cudaGraphMemAttributeType) 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 cudaGraphMemAttributeType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphMemAttributeType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphMemAttributeType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphMemAttributeType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphMemAttributeType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphMemAttributeType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaDeviceP2PAttr(enum cudaDeviceP2PAttr value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaDeviceP2PAttr neg_one = (enum cudaDeviceP2PAttr) -1, const_zero = (enum cudaDeviceP2PAttr) 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 cudaDeviceP2PAttr) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaDeviceP2PAttr) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaDeviceP2PAttr) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaDeviceP2PAttr) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaDeviceP2PAttr) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaDeviceP2PAttr),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaExternalMemoryHandleType(enum cudaExternalMemoryHandleType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaExternalMemoryHandleType neg_one = (enum cudaExternalMemoryHandleType) -1, const_zero = (enum cudaExternalMemoryHandleType) 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 cudaExternalMemoryHandleType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaExternalMemoryHandleType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaExternalMemoryHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaExternalMemoryHandleType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaExternalMemoryHandleType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaExternalMemoryHandleType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaExternalSemaphoreHandleType(enum cudaExternalSemaphoreHandleType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaExternalSemaphoreHandleType neg_one = (enum cudaExternalSemaphoreHandleType) -1, const_zero = (enum cudaExternalSemaphoreHandleType) 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 cudaExternalSemaphoreHandleType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaExternalSemaphoreHandleType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaExternalSemaphoreHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaExternalSemaphoreHandleType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaExternalSemaphoreHandleType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaExternalSemaphoreHandleType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaCGScope(enum cudaCGScope value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaCGScope neg_one = (enum cudaCGScope) -1, const_zero = (enum cudaCGScope) 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 cudaCGScope) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaCGScope) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaCGScope) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaCGScope) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaCGScope) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaCGScope),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphNodeType(enum cudaGraphNodeType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphNodeType neg_one = (enum cudaGraphNodeType) -1, const_zero = (enum cudaGraphNodeType) 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 cudaGraphNodeType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphNodeType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphNodeType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphNodeType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphNodeType) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphNodeType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphExecUpdateResult(enum cudaGraphExecUpdateResult value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphExecUpdateResult neg_one = (enum cudaGraphExecUpdateResult) -1, const_zero = (enum cudaGraphExecUpdateResult) 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 cudaGraphExecUpdateResult) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphExecUpdateResult) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphExecUpdateResult) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphExecUpdateResult) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphExecUpdateResult) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphExecUpdateResult),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGetDriverEntryPointFlags(enum cudaGetDriverEntryPointFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGetDriverEntryPointFlags neg_one = (enum cudaGetDriverEntryPointFlags) -1, const_zero = (enum cudaGetDriverEntryPointFlags) 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 cudaGetDriverEntryPointFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGetDriverEntryPointFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGetDriverEntryPointFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGetDriverEntryPointFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGetDriverEntryPointFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGetDriverEntryPointFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphDebugDotFlags(enum cudaGraphDebugDotFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphDebugDotFlags neg_one = (enum cudaGraphDebugDotFlags) -1, const_zero = (enum cudaGraphDebugDotFlags) 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 cudaGraphDebugDotFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphDebugDotFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphDebugDotFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphDebugDotFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphDebugDotFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphDebugDotFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaGraphInstantiateFlags(enum cudaGraphInstantiateFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphInstantiateFlags neg_one = (enum cudaGraphInstantiateFlags) -1, const_zero = (enum cudaGraphInstantiateFlags) 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 cudaGraphInstantiateFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaGraphInstantiateFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphInstantiateFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaGraphInstantiateFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaGraphInstantiateFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaGraphInstantiateFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaLaunchAttributeID(enum cudaLaunchAttributeID value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaLaunchAttributeID neg_one = (enum cudaLaunchAttributeID) -1, const_zero = (enum cudaLaunchAttributeID) 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 cudaLaunchAttributeID) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaLaunchAttributeID) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaLaunchAttributeID) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaLaunchAttributeID) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaLaunchAttributeID) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaLaunchAttributeID),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID neg_one = (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) 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_7ccudart_cudaStreamAttrID) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID neg_one = (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) 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_7ccudart_cudaKernelNodeAttrID) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) 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_7ccudart_cudaGLDeviceList) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGLMapFlags(enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags) 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_7ccudart_cudaGLMapFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLMapFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaRoundMode(enum cudaRoundMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaRoundMode neg_one = (enum cudaRoundMode) -1, const_zero = (enum cudaRoundMode) 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 cudaRoundMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaRoundMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaRoundMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaRoundMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaRoundMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaRoundMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSurfaceBoundaryMode(enum cudaSurfaceBoundaryMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaSurfaceBoundaryMode neg_one = (enum cudaSurfaceBoundaryMode) -1, const_zero = (enum cudaSurfaceBoundaryMode) 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 cudaSurfaceBoundaryMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaSurfaceBoundaryMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSurfaceBoundaryMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaSurfaceBoundaryMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSurfaceBoundaryMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaSurfaceBoundaryMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaSurfaceFormatMode(enum cudaSurfaceFormatMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaSurfaceFormatMode neg_one = (enum cudaSurfaceFormatMode) -1, const_zero = (enum cudaSurfaceFormatMode) 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 cudaSurfaceFormatMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaSurfaceFormatMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSurfaceFormatMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaSurfaceFormatMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaSurfaceFormatMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaSurfaceFormatMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaTextureAddressMode(enum cudaTextureAddressMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaTextureAddressMode neg_one = (enum cudaTextureAddressMode) -1, const_zero = (enum cudaTextureAddressMode) 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 cudaTextureAddressMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaTextureAddressMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaTextureAddressMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaTextureAddressMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaTextureAddressMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaTextureAddressMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaTextureFilterMode(enum cudaTextureFilterMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaTextureFilterMode neg_one = (enum cudaTextureFilterMode) -1, const_zero = (enum cudaTextureFilterMode) 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 cudaTextureFilterMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaTextureFilterMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaTextureFilterMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaTextureFilterMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaTextureFilterMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaTextureFilterMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaTextureReadMode(enum cudaTextureReadMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaTextureReadMode neg_one = (enum cudaTextureReadMode) -1, const_zero = (enum cudaTextureReadMode) 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 cudaTextureReadMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaTextureReadMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaTextureReadMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaTextureReadMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaTextureReadMode) <= 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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaTextureReadMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaDataType_t(enum cudaDataType_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaDataType_t neg_one = (enum cudaDataType_t) -1, const_zero = (enum cudaDataType_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(enum cudaDataType_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaDataType_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaDataType_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaDataType_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaDataType_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;
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaDataType_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__libraryPropertyType_t(enum libraryPropertyType_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum libraryPropertyType_t neg_one = (enum libraryPropertyType_t) -1, const_zero = (enum libraryPropertyType_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(enum libraryPropertyType_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum libraryPropertyType_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum libraryPropertyType_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum libraryPropertyType_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum libraryPropertyType_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;
        return _PyLong_FromByteArray(bytes, sizeof(enum libraryPropertyType_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum neg_one = (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum(enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum neg_one = (enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_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_7ccudart_cudaEglResourceLocationFlags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_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;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglResourceLocationFlags_enum),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum neg_one = (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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;
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum),
                                     little, !is_unsigned);
    }
}

/* 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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned PY_LONG_LONG) 0;
                case  1: __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned PY_LONG_LONG) 0;
                case -1: __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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 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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(unsigned int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(unsigned int,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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 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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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 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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(size_t,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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 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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint32_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint32_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint32_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint32_t,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned PY_LONG_LONG),
                                     little, !is_unsigned);
    }
}

/* 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;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaChannelFormatKind __Pyx_PyInt_As_enum__cudaChannelFormatKind(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaChannelFormatKind neg_one = (enum cudaChannelFormatKind) -1, const_zero = (enum cudaChannelFormatKind) 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 cudaChannelFormatKind) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaChannelFormatKind) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaChannelFormatKind) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaChannelFormatKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) >= 2 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) (((((enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaChannelFormatKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) >= 3 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) (((((((enum cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaChannelFormatKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) >= 4 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) (((((((((enum cudaChannelFormatKind)digits[3]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaChannelFormatKind) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaChannelFormatKind) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaChannelFormatKind, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaChannelFormatKind) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaChannelFormatKind, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaChannelFormatKind) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) (((enum cudaChannelFormatKind)-1)*(((((enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaChannelFormatKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) ((((((enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) (((enum cudaChannelFormatKind)-1)*(((((((enum cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaChannelFormatKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) ((((((((enum cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, 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 cudaChannelFormatKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) (((enum cudaChannelFormatKind)-1)*(((((((((enum cudaChannelFormatKind)digits[3]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaChannelFormatKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaChannelFormatKind, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaChannelFormatKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaChannelFormatKind) ((((((((((enum cudaChannelFormatKind)digits[3]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaChannelFormatKind) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaChannelFormatKind, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaChannelFormatKind) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaChannelFormatKind, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaChannelFormatKind 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaChannelFormatKind) -1;
        }
    } else {
        enum cudaChannelFormatKind val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaChannelFormatKind) -1;
        val = __Pyx_PyInt_As_enum__cudaChannelFormatKind(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaChannelFormatKind");
    return (enum cudaChannelFormatKind) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaChannelFormatKind");
    return (enum cudaChannelFormatKind) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemcpyKind __Pyx_PyInt_As_enum__cudaMemcpyKind(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemcpyKind neg_one = (enum cudaMemcpyKind) -1, const_zero = (enum cudaMemcpyKind) 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 cudaMemcpyKind) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemcpyKind) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemcpyKind) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemcpyKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) (((((enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemcpyKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) (((((((enum cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemcpyKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) (((((((((enum cudaMemcpyKind)digits[3]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemcpyKind) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemcpyKind) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemcpyKind, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemcpyKind) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemcpyKind, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemcpyKind) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemcpyKind) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) (((enum cudaMemcpyKind)-1)*(((((enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemcpyKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) ((((((enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemcpyKind) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) (((enum cudaMemcpyKind)-1)*(((((((enum cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemcpyKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) ((((((((enum cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemcpyKind) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, 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 cudaMemcpyKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) (((enum cudaMemcpyKind)-1)*(((((((((enum cudaMemcpyKind)digits[3]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemcpyKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemcpyKind, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemcpyKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemcpyKind) ((((((((((enum cudaMemcpyKind)digits[3]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemcpyKind) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemcpyKind, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemcpyKind) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemcpyKind, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemcpyKind 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemcpyKind) -1;
        }
    } else {
        enum cudaMemcpyKind val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemcpyKind) -1;
        val = __Pyx_PyInt_As_enum__cudaMemcpyKind(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemcpyKind");
    return (enum cudaMemcpyKind) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemcpyKind");
    return (enum cudaMemcpyKind) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaAccessProperty __Pyx_PyInt_As_enum__cudaAccessProperty(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaAccessProperty neg_one = (enum cudaAccessProperty) -1, const_zero = (enum cudaAccessProperty) 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 cudaAccessProperty) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaAccessProperty) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaAccessProperty) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaAccessProperty) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) >= 2 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) (((((enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaAccessProperty) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) >= 3 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) (((((((enum cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaAccessProperty) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) >= 4 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) (((((((((enum cudaAccessProperty)digits[3]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaAccessProperty) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaAccessProperty) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaAccessProperty, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaAccessProperty) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaAccessProperty, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaAccessProperty) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaAccessProperty) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) (((enum cudaAccessProperty)-1)*(((((enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaAccessProperty) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) ((((((enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaAccessProperty) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) (((enum cudaAccessProperty)-1)*(((((((enum cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaAccessProperty) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) ((((((((enum cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaAccessProperty) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, 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 cudaAccessProperty) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) (((enum cudaAccessProperty)-1)*(((((((((enum cudaAccessProperty)digits[3]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaAccessProperty) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaAccessProperty, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaAccessProperty) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaAccessProperty) ((((((((((enum cudaAccessProperty)digits[3]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaAccessProperty) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaAccessProperty, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaAccessProperty) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaAccessProperty, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaAccessProperty 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaAccessProperty) -1;
        }
    } else {
        enum cudaAccessProperty val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaAccessProperty) -1;
        val = __Pyx_PyInt_As_enum__cudaAccessProperty(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaAccessProperty");
    return (enum cudaAccessProperty) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaAccessProperty");
    return (enum cudaAccessProperty) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaResourceType __Pyx_PyInt_As_enum__cudaResourceType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaResourceType neg_one = (enum cudaResourceType) -1, const_zero = (enum cudaResourceType) 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 cudaResourceType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaResourceType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaResourceType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaResourceType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaResourceType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaResourceType) (((((enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaResourceType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaResourceType) (((((((enum cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaResourceType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaResourceType) (((((((((enum cudaResourceType)digits[3]) << PyLong_SHIFT) | (enum cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaResourceType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaResourceType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaResourceType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaResourceType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaResourceType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaResourceType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaResourceType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaResourceType) (((enum cudaResourceType)-1)*(((((enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaResourceType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaResourceType) ((((((enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaResourceType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaResourceType) (((enum cudaResourceType)-1)*(((((((enum cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaResourceType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaResourceType) ((((((((enum cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaResourceType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, 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 cudaResourceType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaResourceType) (((enum cudaResourceType)-1)*(((((((((enum cudaResourceType)digits[3]) << PyLong_SHIFT) | (enum cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaResourceType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaResourceType) ((((((((((enum cudaResourceType)digits[3]) << PyLong_SHIFT) | (enum cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum cudaResourceType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaResourceType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaResourceType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaResourceType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaResourceType) -1;
        }
    } else {
        enum cudaResourceType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaResourceType) -1;
        val = __Pyx_PyInt_As_enum__cudaResourceType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaResourceType");
    return (enum cudaResourceType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaResourceType");
    return (enum cudaResourceType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaResourceViewFormat __Pyx_PyInt_As_enum__cudaResourceViewFormat(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaResourceViewFormat neg_one = (enum cudaResourceViewFormat) -1, const_zero = (enum cudaResourceViewFormat) 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 cudaResourceViewFormat) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaResourceViewFormat) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaResourceViewFormat) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaResourceViewFormat) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) >= 2 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) (((((enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaResourceViewFormat) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) >= 3 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) (((((((enum cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaResourceViewFormat) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) >= 4 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) (((((((((enum cudaResourceViewFormat)digits[3]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaResourceViewFormat) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaResourceViewFormat) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceViewFormat, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaResourceViewFormat) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceViewFormat, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaResourceViewFormat) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) (((enum cudaResourceViewFormat)-1)*(((((enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaResourceViewFormat) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) ((((((enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) (((enum cudaResourceViewFormat)-1)*(((((((enum cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaResourceViewFormat) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) ((((((((enum cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, 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 cudaResourceViewFormat) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) (((enum cudaResourceViewFormat)-1)*(((((((((enum cudaResourceViewFormat)digits[3]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaResourceViewFormat) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaResourceViewFormat, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaResourceViewFormat) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaResourceViewFormat) ((((((((((enum cudaResourceViewFormat)digits[3]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaResourceViewFormat) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceViewFormat, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaResourceViewFormat) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaResourceViewFormat, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaResourceViewFormat 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaResourceViewFormat) -1;
        }
    } else {
        enum cudaResourceViewFormat val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaResourceViewFormat) -1;
        val = __Pyx_PyInt_As_enum__cudaResourceViewFormat(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaResourceViewFormat");
    return (enum cudaResourceViewFormat) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaResourceViewFormat");
    return (enum cudaResourceViewFormat) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemoryType __Pyx_PyInt_As_enum__cudaMemoryType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemoryType neg_one = (enum cudaMemoryType) -1, const_zero = (enum cudaMemoryType) 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 cudaMemoryType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemoryType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemoryType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemoryType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) (((((enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemoryType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) (((((((enum cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemoryType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) (((((((((enum cudaMemoryType)digits[3]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemoryType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemoryType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemoryType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemoryType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemoryType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemoryType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) (((enum cudaMemoryType)-1)*(((((enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemoryType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) ((((((enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemoryType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) (((enum cudaMemoryType)-1)*(((((((enum cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemoryType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) ((((((((enum cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemoryType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, 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 cudaMemoryType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) (((enum cudaMemoryType)-1)*(((((((((enum cudaMemoryType)digits[3]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemoryType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemoryType) ((((((((((enum cudaMemoryType)digits[3]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemoryType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemoryType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemoryType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemoryType) -1;
        }
    } else {
        enum cudaMemoryType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemoryType) -1;
        val = __Pyx_PyInt_As_enum__cudaMemoryType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemoryType");
    return (enum cudaMemoryType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemoryType");
    return (enum cudaMemoryType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemLocationType __Pyx_PyInt_As_enum__cudaMemLocationType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemLocationType neg_one = (enum cudaMemLocationType) -1, const_zero = (enum cudaMemLocationType) 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 cudaMemLocationType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemLocationType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemLocationType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemLocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) (((((enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemLocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) (((((((enum cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemLocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) (((((((((enum cudaMemLocationType)digits[3]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemLocationType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemLocationType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemLocationType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemLocationType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemLocationType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemLocationType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemLocationType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) (((enum cudaMemLocationType)-1)*(((((enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemLocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) ((((((enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemLocationType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) (((enum cudaMemLocationType)-1)*(((((((enum cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemLocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) ((((((((enum cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemLocationType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, 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 cudaMemLocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) (((enum cudaMemLocationType)-1)*(((((((((enum cudaMemLocationType)digits[3]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemLocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemLocationType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemLocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemLocationType) ((((((((((enum cudaMemLocationType)digits[3]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemLocationType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemLocationType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemLocationType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemLocationType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemLocationType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemLocationType) -1;
        }
    } else {
        enum cudaMemLocationType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemLocationType) -1;
        val = __Pyx_PyInt_As_enum__cudaMemLocationType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemLocationType");
    return (enum cudaMemLocationType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemLocationType");
    return (enum cudaMemLocationType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemAccessFlags __Pyx_PyInt_As_enum__cudaMemAccessFlags(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemAccessFlags neg_one = (enum cudaMemAccessFlags) -1, const_zero = (enum cudaMemAccessFlags) 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 cudaMemAccessFlags) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemAccessFlags) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemAccessFlags) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemAccessFlags) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) (((((enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemAccessFlags) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) (((((((enum cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemAccessFlags) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) (((((((((enum cudaMemAccessFlags)digits[3]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemAccessFlags) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemAccessFlags) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAccessFlags, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemAccessFlags) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAccessFlags, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemAccessFlags) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) (((enum cudaMemAccessFlags)-1)*(((((enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemAccessFlags) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) ((((((enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) (((enum cudaMemAccessFlags)-1)*(((((((enum cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemAccessFlags) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) ((((((((enum cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, 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 cudaMemAccessFlags) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) (((enum cudaMemAccessFlags)-1)*(((((((((enum cudaMemAccessFlags)digits[3]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemAccessFlags) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAccessFlags, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAccessFlags) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemAccessFlags) ((((((((((enum cudaMemAccessFlags)digits[3]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemAccessFlags) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAccessFlags, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemAccessFlags) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAccessFlags, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemAccessFlags 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemAccessFlags) -1;
        }
    } else {
        enum cudaMemAccessFlags val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemAccessFlags) -1;
        val = __Pyx_PyInt_As_enum__cudaMemAccessFlags(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemAccessFlags");
    return (enum cudaMemAccessFlags) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemAccessFlags");
    return (enum cudaMemAccessFlags) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemAllocationType __Pyx_PyInt_As_enum__cudaMemAllocationType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemAllocationType neg_one = (enum cudaMemAllocationType) -1, const_zero = (enum cudaMemAllocationType) 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 cudaMemAllocationType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemAllocationType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemAllocationType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemAllocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) (((((enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemAllocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) (((((((enum cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemAllocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) (((((((((enum cudaMemAllocationType)digits[3]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemAllocationType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemAllocationType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemAllocationType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemAllocationType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemAllocationType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) (((enum cudaMemAllocationType)-1)*(((((enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemAllocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) ((((((enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemAllocationType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) (((enum cudaMemAllocationType)-1)*(((((((enum cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemAllocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) ((((((((enum cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemAllocationType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, 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 cudaMemAllocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) (((enum cudaMemAllocationType)-1)*(((((((((enum cudaMemAllocationType)digits[3]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemAllocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationType) ((((((((((enum cudaMemAllocationType)digits[3]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemAllocationType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemAllocationType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemAllocationType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemAllocationType) -1;
        }
    } else {
        enum cudaMemAllocationType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemAllocationType) -1;
        val = __Pyx_PyInt_As_enum__cudaMemAllocationType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemAllocationType");
    return (enum cudaMemAllocationType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemAllocationType");
    return (enum cudaMemAllocationType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemAllocationHandleType __Pyx_PyInt_As_enum__cudaMemAllocationHandleType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemAllocationHandleType neg_one = (enum cudaMemAllocationHandleType) -1, const_zero = (enum cudaMemAllocationHandleType) 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 cudaMemAllocationHandleType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemAllocationHandleType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemAllocationHandleType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) (((((enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) (((((((enum cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) (((((((((enum cudaMemAllocationHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemAllocationHandleType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemAllocationHandleType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationHandleType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemAllocationHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationHandleType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemAllocationHandleType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) (((enum cudaMemAllocationHandleType)-1)*(((((enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) ((((((enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) (((enum cudaMemAllocationHandleType)-1)*(((((((enum cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) ((((((((enum cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, 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 cudaMemAllocationHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) (((enum cudaMemAllocationHandleType)-1)*(((((((((enum cudaMemAllocationHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemAllocationHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemAllocationHandleType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemAllocationHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemAllocationHandleType) ((((((((((enum cudaMemAllocationHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemAllocationHandleType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationHandleType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemAllocationHandleType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemAllocationHandleType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemAllocationHandleType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemAllocationHandleType) -1;
        }
    } else {
        enum cudaMemAllocationHandleType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemAllocationHandleType) -1;
        val = __Pyx_PyInt_As_enum__cudaMemAllocationHandleType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemAllocationHandleType");
    return (enum cudaMemAllocationHandleType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemAllocationHandleType");
    return (enum cudaMemAllocationHandleType) -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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned char) 0;
                case  1: __PYX_VERIFY_RETURN_INT(unsigned char, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned char) 0;
                case -1: __PYX_VERIFY_RETURN_INT(unsigned char, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(unsigned char,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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 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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (char) 0;
                case  1: __PYX_VERIFY_RETURN_INT(char, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (char) 0;
                case -1: __PYX_VERIFY_RETURN_INT(char, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(char,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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 cudaExternalMemoryHandleType __Pyx_PyInt_As_enum__cudaExternalMemoryHandleType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaExternalMemoryHandleType neg_one = (enum cudaExternalMemoryHandleType) -1, const_zero = (enum cudaExternalMemoryHandleType) 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 cudaExternalMemoryHandleType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaExternalMemoryHandleType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaExternalMemoryHandleType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) (((((enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) (((((((enum cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) (((((((((enum cudaExternalMemoryHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaExternalMemoryHandleType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaExternalMemoryHandleType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalMemoryHandleType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaExternalMemoryHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalMemoryHandleType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaExternalMemoryHandleType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) (((enum cudaExternalMemoryHandleType)-1)*(((((enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) ((((((enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) (((enum cudaExternalMemoryHandleType)-1)*(((((((enum cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) ((((((((enum cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, 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 cudaExternalMemoryHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) (((enum cudaExternalMemoryHandleType)-1)*(((((((((enum cudaExternalMemoryHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaExternalMemoryHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalMemoryHandleType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalMemoryHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaExternalMemoryHandleType) ((((((((((enum cudaExternalMemoryHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaExternalMemoryHandleType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalMemoryHandleType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaExternalMemoryHandleType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalMemoryHandleType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaExternalMemoryHandleType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaExternalMemoryHandleType) -1;
        }
    } else {
        enum cudaExternalMemoryHandleType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaExternalMemoryHandleType) -1;
        val = __Pyx_PyInt_As_enum__cudaExternalMemoryHandleType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaExternalMemoryHandleType");
    return (enum cudaExternalMemoryHandleType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaExternalMemoryHandleType");
    return (enum cudaExternalMemoryHandleType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaExternalSemaphoreHandleType __Pyx_PyInt_As_enum__cudaExternalSemaphoreHandleType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaExternalSemaphoreHandleType neg_one = (enum cudaExternalSemaphoreHandleType) -1, const_zero = (enum cudaExternalSemaphoreHandleType) 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 cudaExternalSemaphoreHandleType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaExternalSemaphoreHandleType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaExternalSemaphoreHandleType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) (((((enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) (((((((enum cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) (((((((((enum cudaExternalSemaphoreHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaExternalSemaphoreHandleType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaExternalSemaphoreHandleType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalSemaphoreHandleType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaExternalSemaphoreHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalSemaphoreHandleType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaExternalSemaphoreHandleType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) (((enum cudaExternalSemaphoreHandleType)-1)*(((((enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) ((((((enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) (((enum cudaExternalSemaphoreHandleType)-1)*(((((((enum cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) ((((((((enum cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, 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 cudaExternalSemaphoreHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) (((enum cudaExternalSemaphoreHandleType)-1)*(((((((((enum cudaExternalSemaphoreHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaExternalSemaphoreHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaExternalSemaphoreHandleType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaExternalSemaphoreHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaExternalSemaphoreHandleType) ((((((((((enum cudaExternalSemaphoreHandleType)digits[3]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaExternalSemaphoreHandleType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalSemaphoreHandleType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaExternalSemaphoreHandleType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaExternalSemaphoreHandleType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaExternalSemaphoreHandleType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaExternalSemaphoreHandleType) -1;
        }
    } else {
        enum cudaExternalSemaphoreHandleType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaExternalSemaphoreHandleType) -1;
        val = __Pyx_PyInt_As_enum__cudaExternalSemaphoreHandleType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaExternalSemaphoreHandleType");
    return (enum cudaExternalSemaphoreHandleType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaExternalSemaphoreHandleType");
    return (enum cudaExternalSemaphoreHandleType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaSynchronizationPolicy __Pyx_PyInt_As_enum__cudaSynchronizationPolicy(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaSynchronizationPolicy neg_one = (enum cudaSynchronizationPolicy) -1, const_zero = (enum cudaSynchronizationPolicy) 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 cudaSynchronizationPolicy) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaSynchronizationPolicy) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaSynchronizationPolicy) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) >= 2 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) (((((enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) >= 3 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) (((((((enum cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) >= 4 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) (((((((((enum cudaSynchronizationPolicy)digits[3]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaSynchronizationPolicy) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaSynchronizationPolicy) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSynchronizationPolicy, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaSynchronizationPolicy) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSynchronizationPolicy, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaSynchronizationPolicy) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) (((enum cudaSynchronizationPolicy)-1)*(((((enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) ((((((enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) (((enum cudaSynchronizationPolicy)-1)*(((((((enum cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) ((((((((enum cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, 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 cudaSynchronizationPolicy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) (((enum cudaSynchronizationPolicy)-1)*(((((((((enum cudaSynchronizationPolicy)digits[3]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaSynchronizationPolicy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSynchronizationPolicy, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSynchronizationPolicy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaSynchronizationPolicy) ((((((((((enum cudaSynchronizationPolicy)digits[3]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaSynchronizationPolicy) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSynchronizationPolicy, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaSynchronizationPolicy) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSynchronizationPolicy, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaSynchronizationPolicy 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaSynchronizationPolicy) -1;
        }
    } else {
        enum cudaSynchronizationPolicy val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaSynchronizationPolicy) -1;
        val = __Pyx_PyInt_As_enum__cudaSynchronizationPolicy(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaSynchronizationPolicy");
    return (enum cudaSynchronizationPolicy) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaSynchronizationPolicy");
    return (enum cudaSynchronizationPolicy) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaClusterSchedulingPolicy __Pyx_PyInt_As_enum__cudaClusterSchedulingPolicy(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaClusterSchedulingPolicy neg_one = (enum cudaClusterSchedulingPolicy) -1, const_zero = (enum cudaClusterSchedulingPolicy) 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 cudaClusterSchedulingPolicy) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaClusterSchedulingPolicy) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaClusterSchedulingPolicy) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) >= 2 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) (((((enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) >= 3 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) (((((((enum cudaClusterSchedulingPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) >= 4 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) (((((((((enum cudaClusterSchedulingPolicy)digits[3]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaClusterSchedulingPolicy) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaClusterSchedulingPolicy) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaClusterSchedulingPolicy, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaClusterSchedulingPolicy) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaClusterSchedulingPolicy, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaClusterSchedulingPolicy) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) (((enum cudaClusterSchedulingPolicy)-1)*(((((enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) ((((((enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) (((enum cudaClusterSchedulingPolicy)-1)*(((((((enum cudaClusterSchedulingPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) ((((((((enum cudaClusterSchedulingPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, 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 cudaClusterSchedulingPolicy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) (((enum cudaClusterSchedulingPolicy)-1)*(((((((((enum cudaClusterSchedulingPolicy)digits[3]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaClusterSchedulingPolicy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaClusterSchedulingPolicy, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaClusterSchedulingPolicy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaClusterSchedulingPolicy) ((((((((((enum cudaClusterSchedulingPolicy)digits[3]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[2]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[1]) << PyLong_SHIFT) | (enum cudaClusterSchedulingPolicy)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaClusterSchedulingPolicy) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaClusterSchedulingPolicy, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaClusterSchedulingPolicy) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaClusterSchedulingPolicy, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaClusterSchedulingPolicy 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaClusterSchedulingPolicy) -1;
        }
    } else {
        enum cudaClusterSchedulingPolicy val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaClusterSchedulingPolicy) -1;
        val = __Pyx_PyInt_As_enum__cudaClusterSchedulingPolicy(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaClusterSchedulingPolicy");
    return (enum cudaClusterSchedulingPolicy) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaClusterSchedulingPolicy");
    return (enum cudaClusterSchedulingPolicy) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaLaunchAttributeID __Pyx_PyInt_As_enum__cudaLaunchAttributeID(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaLaunchAttributeID neg_one = (enum cudaLaunchAttributeID) -1, const_zero = (enum cudaLaunchAttributeID) 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 cudaLaunchAttributeID) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaLaunchAttributeID) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaLaunchAttributeID) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaLaunchAttributeID) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) >= 2 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) (((((enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaLaunchAttributeID) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) >= 3 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) (((((((enum cudaLaunchAttributeID)digits[2]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaLaunchAttributeID) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) >= 4 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) (((((((((enum cudaLaunchAttributeID)digits[3]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[2]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaLaunchAttributeID) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaLaunchAttributeID) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLaunchAttributeID, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaLaunchAttributeID) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLaunchAttributeID, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaLaunchAttributeID) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) (((enum cudaLaunchAttributeID)-1)*(((((enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaLaunchAttributeID) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) ((((((enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) (((enum cudaLaunchAttributeID)-1)*(((((((enum cudaLaunchAttributeID)digits[2]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaLaunchAttributeID) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) ((((((((enum cudaLaunchAttributeID)digits[2]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, 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 cudaLaunchAttributeID) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) (((enum cudaLaunchAttributeID)-1)*(((((((((enum cudaLaunchAttributeID)digits[3]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[2]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaLaunchAttributeID) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLaunchAttributeID, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLaunchAttributeID) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaLaunchAttributeID) ((((((((((enum cudaLaunchAttributeID)digits[3]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[2]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[1]) << PyLong_SHIFT) | (enum cudaLaunchAttributeID)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaLaunchAttributeID) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLaunchAttributeID, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaLaunchAttributeID) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLaunchAttributeID, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaLaunchAttributeID 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaLaunchAttributeID) -1;
        }
    } else {
        enum cudaLaunchAttributeID val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaLaunchAttributeID) -1;
        val = __Pyx_PyInt_As_enum__cudaLaunchAttributeID(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaLaunchAttributeID");
    return (enum cudaLaunchAttributeID) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaLaunchAttributeID");
    return (enum cudaLaunchAttributeID) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaTextureAddressMode __Pyx_PyInt_As_enum__cudaTextureAddressMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaTextureAddressMode neg_one = (enum cudaTextureAddressMode) -1, const_zero = (enum cudaTextureAddressMode) 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 cudaTextureAddressMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaTextureAddressMode) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaTextureAddressMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaTextureAddressMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) >= 2 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) (((((enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaTextureAddressMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) >= 3 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) (((((((enum cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaTextureAddressMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) >= 4 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) (((((((((enum cudaTextureAddressMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaTextureAddressMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaTextureAddressMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureAddressMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaTextureAddressMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureAddressMode, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaTextureAddressMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) (((enum cudaTextureAddressMode)-1)*(((((enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaTextureAddressMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) ((((((enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) (((enum cudaTextureAddressMode)-1)*(((((((enum cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaTextureAddressMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) ((((((((enum cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, 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 cudaTextureAddressMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) (((enum cudaTextureAddressMode)-1)*(((((((((enum cudaTextureAddressMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaTextureAddressMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureAddressMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureAddressMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaTextureAddressMode) ((((((((((enum cudaTextureAddressMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaTextureAddressMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureAddressMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaTextureAddressMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureAddressMode, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaTextureAddressMode 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaTextureAddressMode) -1;
        }
    } else {
        enum cudaTextureAddressMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaTextureAddressMode) -1;
        val = __Pyx_PyInt_As_enum__cudaTextureAddressMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaTextureAddressMode");
    return (enum cudaTextureAddressMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaTextureAddressMode");
    return (enum cudaTextureAddressMode) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaTextureFilterMode __Pyx_PyInt_As_enum__cudaTextureFilterMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaTextureFilterMode neg_one = (enum cudaTextureFilterMode) -1, const_zero = (enum cudaTextureFilterMode) 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 cudaTextureFilterMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaTextureFilterMode) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaTextureFilterMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaTextureFilterMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) >= 2 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) (((((enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaTextureFilterMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) >= 3 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) (((((((enum cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaTextureFilterMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) >= 4 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) (((((((((enum cudaTextureFilterMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaTextureFilterMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaTextureFilterMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureFilterMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaTextureFilterMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureFilterMode, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaTextureFilterMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) (((enum cudaTextureFilterMode)-1)*(((((enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaTextureFilterMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) ((((((enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) (((enum cudaTextureFilterMode)-1)*(((((((enum cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaTextureFilterMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) ((((((((enum cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, 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 cudaTextureFilterMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) (((enum cudaTextureFilterMode)-1)*(((((((((enum cudaTextureFilterMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaTextureFilterMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureFilterMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureFilterMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaTextureFilterMode) ((((((((((enum cudaTextureFilterMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaTextureFilterMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureFilterMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaTextureFilterMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureFilterMode, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaTextureFilterMode 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaTextureFilterMode) -1;
        }
    } else {
        enum cudaTextureFilterMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaTextureFilterMode) -1;
        val = __Pyx_PyInt_As_enum__cudaTextureFilterMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaTextureFilterMode");
    return (enum cudaTextureFilterMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaTextureFilterMode");
    return (enum cudaTextureFilterMode) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaTextureReadMode __Pyx_PyInt_As_enum__cudaTextureReadMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaTextureReadMode neg_one = (enum cudaTextureReadMode) -1, const_zero = (enum cudaTextureReadMode) 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 cudaTextureReadMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaTextureReadMode) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaTextureReadMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaTextureReadMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) >= 2 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) (((((enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaTextureReadMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) >= 3 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) (((((((enum cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaTextureReadMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) >= 4 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) (((((((((enum cudaTextureReadMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaTextureReadMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaTextureReadMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureReadMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaTextureReadMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureReadMode, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaTextureReadMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaTextureReadMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) (((enum cudaTextureReadMode)-1)*(((((enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaTextureReadMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) ((((((enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaTextureReadMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) (((enum cudaTextureReadMode)-1)*(((((((enum cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaTextureReadMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) ((((((((enum cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaTextureReadMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, 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 cudaTextureReadMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) (((enum cudaTextureReadMode)-1)*(((((((((enum cudaTextureReadMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaTextureReadMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaTextureReadMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaTextureReadMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaTextureReadMode) ((((((((((enum cudaTextureReadMode)digits[3]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaTextureReadMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureReadMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaTextureReadMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaTextureReadMode, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaTextureReadMode 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaTextureReadMode) -1;
        }
    } else {
        enum cudaTextureReadMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaTextureReadMode) -1;
        val = __Pyx_PyInt_As_enum__cudaTextureReadMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaTextureReadMode");
    return (enum cudaTextureReadMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaTextureReadMode");
    return (enum cudaTextureReadMode) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum neg_one = (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) (((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) (((((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) (((((((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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_7ccudart_cudaEglFrameType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) (((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) ((((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) (((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) ((((((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) (((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_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_7ccudart_cudaEglFrameType_enum) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglFrameType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum");
    return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum");
    return (enum __pyx_t_4cuda_7ccudart_cudaEglFrameType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum neg_one = (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) (((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) (((((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) (((((((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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_7ccudart_cudaEglColorFormat_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) (((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) ((((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) (((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) ((((((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) (((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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_7ccudart_cudaEglColorFormat_enum) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum");
    return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_enum");
    return (enum __pyx_t_4cuda_7ccudart_cudaEglColorFormat_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;
        return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) 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_7ccudart_cudaGLDeviceList) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, 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_7ccudart_cudaGLDeviceList) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) (((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, 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_7ccudart_cudaGLDeviceList) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) (((((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, unsigned long, (((((((((unsigned long)digits[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_7ccudart_cudaGLDeviceList) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) (((((((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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_7ccudart_cudaGLDeviceList) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) (((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) ((((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, 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_7ccudart_cudaGLDeviceList) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) (((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, 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_7ccudart_cudaGLDeviceList) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) ((((((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, 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_7ccudart_cudaGLDeviceList) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) (((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, unsigned long, (((((((((unsigned long)digits[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_7ccudart_cudaGLDeviceList) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGLDeviceList(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList");
    return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList");
    return (enum __pyx_t_4cuda_7ccudart_cudaGLDeviceList) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaLimit __Pyx_PyInt_As_enum__cudaLimit(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaLimit neg_one = (enum cudaLimit) -1, const_zero = (enum cudaLimit) 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 cudaLimit) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaLimit, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaLimit) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaLimit) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaLimit, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaLimit) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) >= 2 * PyLong_SHIFT) {
                            return (enum cudaLimit) (((((enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaLimit) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) >= 3 * PyLong_SHIFT) {
                            return (enum cudaLimit) (((((((enum cudaLimit)digits[2]) << PyLong_SHIFT) | (enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaLimit) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) >= 4 * PyLong_SHIFT) {
                            return (enum cudaLimit) (((((((((enum cudaLimit)digits[3]) << PyLong_SHIFT) | (enum cudaLimit)digits[2]) << PyLong_SHIFT) | (enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaLimit) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaLimit) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLimit, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaLimit) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLimit, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaLimit) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaLimit, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaLimit,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaLimit) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaLimit) (((enum cudaLimit)-1)*(((((enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaLimit) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaLimit) ((((((enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaLimit) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaLimit) (((enum cudaLimit)-1)*(((((((enum cudaLimit)digits[2]) << PyLong_SHIFT) | (enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaLimit) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaLimit) ((((((((enum cudaLimit)digits[2]) << PyLong_SHIFT) | (enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaLimit) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, 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 cudaLimit) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaLimit) (((enum cudaLimit)-1)*(((((((((enum cudaLimit)digits[3]) << PyLong_SHIFT) | (enum cudaLimit)digits[2]) << PyLong_SHIFT) | (enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaLimit) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaLimit, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaLimit) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaLimit) ((((((((((enum cudaLimit)digits[3]) << PyLong_SHIFT) | (enum cudaLimit)digits[2]) << PyLong_SHIFT) | (enum cudaLimit)digits[1]) << PyLong_SHIFT) | (enum cudaLimit)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaLimit) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLimit, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaLimit) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaLimit, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaLimit 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaLimit) -1;
        }
    } else {
        enum cudaLimit val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaLimit) -1;
        val = __Pyx_PyInt_As_enum__cudaLimit(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaLimit");
    return (enum cudaLimit) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaLimit");
    return (enum cudaLimit) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaFuncCache __Pyx_PyInt_As_enum__cudaFuncCache(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFuncCache neg_one = (enum cudaFuncCache) -1, const_zero = (enum cudaFuncCache) 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 cudaFuncCache) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaFuncCache) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFuncCache) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaFuncCache) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) >= 2 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) (((((enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFuncCache) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) >= 3 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) (((((((enum cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFuncCache) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) >= 4 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) (((((((((enum cudaFuncCache)digits[3]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaFuncCache) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaFuncCache) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncCache, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFuncCache) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncCache, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFuncCache) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFuncCache,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaFuncCache) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) (((enum cudaFuncCache)-1)*(((((enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaFuncCache) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) ((((((enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaFuncCache) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) (((enum cudaFuncCache)-1)*(((((((enum cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFuncCache) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) ((((((((enum cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaFuncCache) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, 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 cudaFuncCache) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) (((enum cudaFuncCache)-1)*(((((((((enum cudaFuncCache)digits[3]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFuncCache) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncCache, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncCache) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFuncCache) ((((((((((enum cudaFuncCache)digits[3]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum cudaFuncCache)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaFuncCache) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncCache, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFuncCache) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncCache, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaFuncCache 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaFuncCache) -1;
        }
    } else {
        enum cudaFuncCache val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaFuncCache) -1;
        val = __Pyx_PyInt_As_enum__cudaFuncCache(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaFuncCache");
    return (enum cudaFuncCache) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaFuncCache");
    return (enum cudaFuncCache) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaSharedMemConfig __Pyx_PyInt_As_enum__cudaSharedMemConfig(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaSharedMemConfig neg_one = (enum cudaSharedMemConfig) -1, const_zero = (enum cudaSharedMemConfig) 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 cudaSharedMemConfig) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaSharedMemConfig) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaSharedMemConfig) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaSharedMemConfig) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) >= 2 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) (((((enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaSharedMemConfig) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) >= 3 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) (((((((enum cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaSharedMemConfig) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) >= 4 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) (((((((((enum cudaSharedMemConfig)digits[3]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaSharedMemConfig) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaSharedMemConfig) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSharedMemConfig, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaSharedMemConfig) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSharedMemConfig, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaSharedMemConfig) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) (((enum cudaSharedMemConfig)-1)*(((((enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaSharedMemConfig) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) ((((((enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) (((enum cudaSharedMemConfig)-1)*(((((((enum cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaSharedMemConfig) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) ((((((((enum cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, 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 cudaSharedMemConfig) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) (((enum cudaSharedMemConfig)-1)*(((((((((enum cudaSharedMemConfig)digits[3]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaSharedMemConfig) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaSharedMemConfig, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaSharedMemConfig) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaSharedMemConfig) ((((((((((enum cudaSharedMemConfig)digits[3]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaSharedMemConfig) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSharedMemConfig, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaSharedMemConfig) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaSharedMemConfig, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaSharedMemConfig 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaSharedMemConfig) -1;
        }
    } else {
        enum cudaSharedMemConfig val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaSharedMemConfig) -1;
        val = __Pyx_PyInt_As_enum__cudaSharedMemConfig(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaSharedMemConfig");
    return (enum cudaSharedMemConfig) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaSharedMemConfig");
    return (enum cudaSharedMemConfig) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaFlushGPUDirectRDMAWritesTarget __Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesTarget(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFlushGPUDirectRDMAWritesTarget neg_one = (enum cudaFlushGPUDirectRDMAWritesTarget) -1, const_zero = (enum cudaFlushGPUDirectRDMAWritesTarget) 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 cudaFlushGPUDirectRDMAWritesTarget) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaFlushGPUDirectRDMAWritesTarget) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFlushGPUDirectRDMAWritesTarget) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) >= 2 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) (((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) >= 3 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) (((((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) >= 4 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) (((((((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[3]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaFlushGPUDirectRDMAWritesTarget) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFlushGPUDirectRDMAWritesTarget) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) (((enum cudaFlushGPUDirectRDMAWritesTarget)-1)*(((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) ((((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) (((enum cudaFlushGPUDirectRDMAWritesTarget)-1)*(((((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) ((((((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, 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 cudaFlushGPUDirectRDMAWritesTarget) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) (((enum cudaFlushGPUDirectRDMAWritesTarget)-1)*(((((((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[3]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesTarget) ((((((((((enum cudaFlushGPUDirectRDMAWritesTarget)digits[3]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesTarget, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesTarget, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaFlushGPUDirectRDMAWritesTarget 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaFlushGPUDirectRDMAWritesTarget) -1;
        }
    } else {
        enum cudaFlushGPUDirectRDMAWritesTarget val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaFlushGPUDirectRDMAWritesTarget) -1;
        val = __Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesTarget(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaFlushGPUDirectRDMAWritesTarget");
    return (enum cudaFlushGPUDirectRDMAWritesTarget) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaFlushGPUDirectRDMAWritesTarget");
    return (enum cudaFlushGPUDirectRDMAWritesTarget) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaFlushGPUDirectRDMAWritesScope __Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesScope(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFlushGPUDirectRDMAWritesScope neg_one = (enum cudaFlushGPUDirectRDMAWritesScope) -1, const_zero = (enum cudaFlushGPUDirectRDMAWritesScope) 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 cudaFlushGPUDirectRDMAWritesScope) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaFlushGPUDirectRDMAWritesScope) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFlushGPUDirectRDMAWritesScope) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) >= 2 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) (((((enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) >= 3 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) (((((((enum cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) >= 4 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) (((((((((enum cudaFlushGPUDirectRDMAWritesScope)digits[3]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaFlushGPUDirectRDMAWritesScope) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesScope, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesScope, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFlushGPUDirectRDMAWritesScope) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) (((enum cudaFlushGPUDirectRDMAWritesScope)-1)*(((((enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) ((((((enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) (((enum cudaFlushGPUDirectRDMAWritesScope)-1)*(((((((enum cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) ((((((((enum cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, 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 cudaFlushGPUDirectRDMAWritesScope) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) (((enum cudaFlushGPUDirectRDMAWritesScope)-1)*(((((((((enum cudaFlushGPUDirectRDMAWritesScope)digits[3]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFlushGPUDirectRDMAWritesScope) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFlushGPUDirectRDMAWritesScope) ((((((((((enum cudaFlushGPUDirectRDMAWritesScope)digits[3]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesScope, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFlushGPUDirectRDMAWritesScope) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFlushGPUDirectRDMAWritesScope, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaFlushGPUDirectRDMAWritesScope 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaFlushGPUDirectRDMAWritesScope) -1;
        }
    } else {
        enum cudaFlushGPUDirectRDMAWritesScope val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaFlushGPUDirectRDMAWritesScope) -1;
        val = __Pyx_PyInt_As_enum__cudaFlushGPUDirectRDMAWritesScope(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaFlushGPUDirectRDMAWritesScope");
    return (enum cudaFlushGPUDirectRDMAWritesScope) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaFlushGPUDirectRDMAWritesScope");
    return (enum cudaFlushGPUDirectRDMAWritesScope) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaError __Pyx_PyInt_As_enum__cudaError(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaError neg_one = (enum cudaError) -1, const_zero = (enum cudaError) 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) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaError, 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) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaError) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaError, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaError) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaError) >= 2 * PyLong_SHIFT) {
                            return (enum cudaError) (((((enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaError) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaError) >= 3 * PyLong_SHIFT) {
                            return (enum cudaError) (((((((enum cudaError)digits[2]) << PyLong_SHIFT) | (enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaError) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, unsigned long, (((((((((unsigned long)digits[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) >= 4 * PyLong_SHIFT) {
                            return (enum cudaError) (((((((((enum cudaError)digits[3]) << PyLong_SHIFT) | (enum cudaError)digits[2]) << PyLong_SHIFT) | (enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaError) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaError) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaError) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaError, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaError,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaError) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaError) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaError) (((enum cudaError)-1)*(((((enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaError) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaError) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaError) ((((((enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaError) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaError) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaError) (((enum cudaError)-1)*(((((((enum cudaError)digits[2]) << PyLong_SHIFT) | (enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaError) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaError) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaError) ((((((((enum cudaError)digits[2]) << PyLong_SHIFT) | (enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaError) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, 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) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaError) (((enum cudaError)-1)*(((((((((enum cudaError)digits[3]) << PyLong_SHIFT) | (enum cudaError)digits[2]) << PyLong_SHIFT) | (enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaError) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaError, unsigned long, (((((((((unsigned long)digits[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) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaError) ((((((((((enum cudaError)digits[3]) << PyLong_SHIFT) | (enum cudaError)digits[2]) << PyLong_SHIFT) | (enum cudaError)digits[1]) << PyLong_SHIFT) | (enum cudaError)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaError) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaError) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaError 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaError) -1;
        }
    } else {
        enum cudaError val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaError) -1;
        val = __Pyx_PyInt_As_enum__cudaError(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaError");
    return (enum cudaError) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaError");
    return (enum cudaError) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaDeviceAttr __Pyx_PyInt_As_enum__cudaDeviceAttr(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaDeviceAttr neg_one = (enum cudaDeviceAttr) -1, const_zero = (enum cudaDeviceAttr) 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 cudaDeviceAttr) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaDeviceAttr) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaDeviceAttr) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaDeviceAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) >= 2 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) (((((enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaDeviceAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) >= 3 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) (((((((enum cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaDeviceAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) >= 4 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) (((((((((enum cudaDeviceAttr)digits[3]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaDeviceAttr) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaDeviceAttr) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceAttr, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaDeviceAttr) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceAttr, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaDeviceAttr) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaDeviceAttr) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) (((enum cudaDeviceAttr)-1)*(((((enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaDeviceAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) ((((((enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaDeviceAttr) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) (((enum cudaDeviceAttr)-1)*(((((((enum cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaDeviceAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) ((((((((enum cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaDeviceAttr) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, 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 cudaDeviceAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) (((enum cudaDeviceAttr)-1)*(((((((((enum cudaDeviceAttr)digits[3]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaDeviceAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceAttr, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaDeviceAttr) ((((((((((enum cudaDeviceAttr)digits[3]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaDeviceAttr) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceAttr, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaDeviceAttr) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceAttr, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaDeviceAttr 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaDeviceAttr) -1;
        }
    } else {
        enum cudaDeviceAttr val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaDeviceAttr) -1;
        val = __Pyx_PyInt_As_enum__cudaDeviceAttr(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaDeviceAttr");
    return (enum cudaDeviceAttr) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaDeviceAttr");
    return (enum cudaDeviceAttr) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaDeviceP2PAttr __Pyx_PyInt_As_enum__cudaDeviceP2PAttr(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaDeviceP2PAttr neg_one = (enum cudaDeviceP2PAttr) -1, const_zero = (enum cudaDeviceP2PAttr) 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 cudaDeviceP2PAttr) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaDeviceP2PAttr) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaDeviceP2PAttr) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) >= 2 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) (((((enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) >= 3 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) (((((((enum cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) >= 4 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) (((((((((enum cudaDeviceP2PAttr)digits[3]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaDeviceP2PAttr) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaDeviceP2PAttr) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceP2PAttr, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaDeviceP2PAttr) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceP2PAttr, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaDeviceP2PAttr) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) (((enum cudaDeviceP2PAttr)-1)*(((((enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) ((((((enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) (((enum cudaDeviceP2PAttr)-1)*(((((((enum cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) ((((((((enum cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, 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 cudaDeviceP2PAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) (((enum cudaDeviceP2PAttr)-1)*(((((((((enum cudaDeviceP2PAttr)digits[3]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaDeviceP2PAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaDeviceP2PAttr, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaDeviceP2PAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaDeviceP2PAttr) ((((((((((enum cudaDeviceP2PAttr)digits[3]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaDeviceP2PAttr) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceP2PAttr, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaDeviceP2PAttr) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaDeviceP2PAttr, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaDeviceP2PAttr 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaDeviceP2PAttr) -1;
        }
    } else {
        enum cudaDeviceP2PAttr val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaDeviceP2PAttr) -1;
        val = __Pyx_PyInt_As_enum__cudaDeviceP2PAttr(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaDeviceP2PAttr");
    return (enum cudaDeviceP2PAttr) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaDeviceP2PAttr");
    return (enum cudaDeviceP2PAttr) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID neg_one = (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) 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_7ccudart_cudaStreamAttrID) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, 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_7ccudart_cudaStreamAttrID) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) (((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, 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_7ccudart_cudaStreamAttrID) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) (((((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, unsigned long, (((((((((unsigned long)digits[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_7ccudart_cudaStreamAttrID) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) (((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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_7ccudart_cudaStreamAttrID) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) (((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) ((((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, 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_7ccudart_cudaStreamAttrID) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) (((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, 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_7ccudart_cudaStreamAttrID) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) ((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, 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_7ccudart_cudaStreamAttrID) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) (((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, unsigned long, (((((((((unsigned long)digits[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_7ccudart_cudaStreamAttrID) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID");
    return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID");
    return (enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaStreamCaptureMode __Pyx_PyInt_As_enum__cudaStreamCaptureMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaStreamCaptureMode neg_one = (enum cudaStreamCaptureMode) -1, const_zero = (enum cudaStreamCaptureMode) 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 cudaStreamCaptureMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaStreamCaptureMode) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaStreamCaptureMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaStreamCaptureMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) >= 2 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) (((((enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaStreamCaptureMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) >= 3 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) (((((((enum cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaStreamCaptureMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) >= 4 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) (((((((((enum cudaStreamCaptureMode)digits[3]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaStreamCaptureMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaStreamCaptureMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaStreamCaptureMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaStreamCaptureMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaStreamCaptureMode, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaStreamCaptureMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) (((enum cudaStreamCaptureMode)-1)*(((((enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaStreamCaptureMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) ((((((enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) (((enum cudaStreamCaptureMode)-1)*(((((((enum cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaStreamCaptureMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) ((((((((enum cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, 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 cudaStreamCaptureMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) (((enum cudaStreamCaptureMode)-1)*(((((((((enum cudaStreamCaptureMode)digits[3]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaStreamCaptureMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaStreamCaptureMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaStreamCaptureMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaStreamCaptureMode) ((((((((((enum cudaStreamCaptureMode)digits[3]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaStreamCaptureMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaStreamCaptureMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaStreamCaptureMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaStreamCaptureMode, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaStreamCaptureMode 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaStreamCaptureMode) -1;
        }
    } else {
        enum cudaStreamCaptureMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaStreamCaptureMode) -1;
        val = __Pyx_PyInt_As_enum__cudaStreamCaptureMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaStreamCaptureMode");
    return (enum cudaStreamCaptureMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaStreamCaptureMode");
    return (enum cudaStreamCaptureMode) -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;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaFuncAttribute __Pyx_PyInt_As_enum__cudaFuncAttribute(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaFuncAttribute neg_one = (enum cudaFuncAttribute) -1, const_zero = (enum cudaFuncAttribute) 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 cudaFuncAttribute) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaFuncAttribute) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFuncAttribute) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaFuncAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) >= 2 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) (((((enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFuncAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) >= 3 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) (((((((enum cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFuncAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) >= 4 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) (((((((((enum cudaFuncAttribute)digits[3]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaFuncAttribute) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaFuncAttribute) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncAttribute, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFuncAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncAttribute, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaFuncAttribute) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaFuncAttribute) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) (((enum cudaFuncAttribute)-1)*(((((enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaFuncAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) ((((((enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaFuncAttribute) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) (((enum cudaFuncAttribute)-1)*(((((((enum cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaFuncAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) ((((((((enum cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaFuncAttribute) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, 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 cudaFuncAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) (((enum cudaFuncAttribute)-1)*(((((((((enum cudaFuncAttribute)digits[3]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaFuncAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaFuncAttribute, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaFuncAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaFuncAttribute) ((((((((((enum cudaFuncAttribute)digits[3]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaFuncAttribute) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncAttribute, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaFuncAttribute) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaFuncAttribute, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaFuncAttribute 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaFuncAttribute) -1;
        }
    } else {
        enum cudaFuncAttribute val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaFuncAttribute) -1;
        val = __Pyx_PyInt_As_enum__cudaFuncAttribute(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaFuncAttribute");
    return (enum cudaFuncAttribute) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaFuncAttribute");
    return (enum cudaFuncAttribute) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemoryAdvise __Pyx_PyInt_As_enum__cudaMemoryAdvise(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemoryAdvise neg_one = (enum cudaMemoryAdvise) -1, const_zero = (enum cudaMemoryAdvise) 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 cudaMemoryAdvise) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemoryAdvise) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemoryAdvise) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemoryAdvise) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) (((((enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemoryAdvise) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) (((((((enum cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemoryAdvise) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) (((((((((enum cudaMemoryAdvise)digits[3]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemoryAdvise) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemoryAdvise) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryAdvise, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemoryAdvise) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryAdvise, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemoryAdvise) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) (((enum cudaMemoryAdvise)-1)*(((((enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemoryAdvise) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) ((((((enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) (((enum cudaMemoryAdvise)-1)*(((((((enum cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemoryAdvise) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) ((((((((enum cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, 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 cudaMemoryAdvise) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) (((enum cudaMemoryAdvise)-1)*(((((((((enum cudaMemoryAdvise)digits[3]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemoryAdvise) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemoryAdvise, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemoryAdvise) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemoryAdvise) ((((((((((enum cudaMemoryAdvise)digits[3]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemoryAdvise) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryAdvise, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemoryAdvise) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemoryAdvise, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemoryAdvise 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemoryAdvise) -1;
        }
    } else {
        enum cudaMemoryAdvise val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemoryAdvise) -1;
        val = __Pyx_PyInt_As_enum__cudaMemoryAdvise(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemoryAdvise");
    return (enum cudaMemoryAdvise) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemoryAdvise");
    return (enum cudaMemoryAdvise) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemRangeAttribute __Pyx_PyInt_As_enum__cudaMemRangeAttribute(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemRangeAttribute neg_one = (enum cudaMemRangeAttribute) -1, const_zero = (enum cudaMemRangeAttribute) 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 cudaMemRangeAttribute) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemRangeAttribute) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemRangeAttribute) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemRangeAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) (((((enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemRangeAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) (((((((enum cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemRangeAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) (((((((((enum cudaMemRangeAttribute)digits[3]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemRangeAttribute) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemRangeAttribute) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemRangeAttribute, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemRangeAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemRangeAttribute, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemRangeAttribute) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) (((enum cudaMemRangeAttribute)-1)*(((((enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemRangeAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) ((((((enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) (((enum cudaMemRangeAttribute)-1)*(((((((enum cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemRangeAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) ((((((((enum cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, 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 cudaMemRangeAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) (((enum cudaMemRangeAttribute)-1)*(((((((((enum cudaMemRangeAttribute)digits[3]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemRangeAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemRangeAttribute, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemRangeAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemRangeAttribute) ((((((((((enum cudaMemRangeAttribute)digits[3]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemRangeAttribute) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemRangeAttribute, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemRangeAttribute) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemRangeAttribute, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemRangeAttribute 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemRangeAttribute) -1;
        }
    } else {
        enum cudaMemRangeAttribute val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemRangeAttribute) -1;
        val = __Pyx_PyInt_As_enum__cudaMemRangeAttribute(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemRangeAttribute");
    return (enum cudaMemRangeAttribute) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemRangeAttribute");
    return (enum cudaMemRangeAttribute) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaMemPoolAttr __Pyx_PyInt_As_enum__cudaMemPoolAttr(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaMemPoolAttr neg_one = (enum cudaMemPoolAttr) -1, const_zero = (enum cudaMemPoolAttr) 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 cudaMemPoolAttr) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaMemPoolAttr) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemPoolAttr) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaMemPoolAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) >= 2 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) (((((enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemPoolAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) >= 3 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) (((((((enum cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemPoolAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) >= 4 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) (((((((((enum cudaMemPoolAttr)digits[3]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaMemPoolAttr) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaMemPoolAttr) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemPoolAttr, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemPoolAttr) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemPoolAttr, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaMemPoolAttr) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) (((enum cudaMemPoolAttr)-1)*(((((enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaMemPoolAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) ((((((enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) (((enum cudaMemPoolAttr)-1)*(((((((enum cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaMemPoolAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) ((((((((enum cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, 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 cudaMemPoolAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) (((enum cudaMemPoolAttr)-1)*(((((((((enum cudaMemPoolAttr)digits[3]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaMemPoolAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaMemPoolAttr, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaMemPoolAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaMemPoolAttr) ((((((((((enum cudaMemPoolAttr)digits[3]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaMemPoolAttr) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemPoolAttr, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaMemPoolAttr) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaMemPoolAttr, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaMemPoolAttr 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaMemPoolAttr) -1;
        }
    } else {
        enum cudaMemPoolAttr val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaMemPoolAttr) -1;
        val = __Pyx_PyInt_As_enum__cudaMemPoolAttr(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaMemPoolAttr");
    return (enum cudaMemPoolAttr) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaMemPoolAttr");
    return (enum cudaMemPoolAttr) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID neg_one = (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) 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_7ccudart_cudaKernelNodeAttrID) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, 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_7ccudart_cudaKernelNodeAttrID) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) (((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, 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_7ccudart_cudaKernelNodeAttrID) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) (((((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, unsigned long, (((((((((unsigned long)digits[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_7ccudart_cudaKernelNodeAttrID) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) (((((((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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_7ccudart_cudaKernelNodeAttrID) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) (((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) ((((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, 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_7ccudart_cudaKernelNodeAttrID) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) (((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, 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_7ccudart_cudaKernelNodeAttrID) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) ((((((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, 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_7ccudart_cudaKernelNodeAttrID) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) (((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, unsigned long, (((((((((unsigned long)digits[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_7ccudart_cudaKernelNodeAttrID) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID");
    return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID");
    return (enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaGraphMemAttributeType __Pyx_PyInt_As_enum__cudaGraphMemAttributeType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaGraphMemAttributeType neg_one = (enum cudaGraphMemAttributeType) -1, const_zero = (enum cudaGraphMemAttributeType) 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 cudaGraphMemAttributeType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaGraphMemAttributeType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaGraphMemAttributeType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) >= 2 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) (((((enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) >= 3 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) (((((((enum cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) >= 4 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) (((((((((enum cudaGraphMemAttributeType)digits[3]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaGraphMemAttributeType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaGraphMemAttributeType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaGraphMemAttributeType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaGraphMemAttributeType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaGraphMemAttributeType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaGraphMemAttributeType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) (((enum cudaGraphMemAttributeType)-1)*(((((enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) ((((((enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) (((enum cudaGraphMemAttributeType)-1)*(((((((enum cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) ((((((((enum cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, 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 cudaGraphMemAttributeType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) (((enum cudaGraphMemAttributeType)-1)*(((((((((enum cudaGraphMemAttributeType)digits[3]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaGraphMemAttributeType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaGraphMemAttributeType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaGraphMemAttributeType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaGraphMemAttributeType) ((((((((((enum cudaGraphMemAttributeType)digits[3]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaGraphMemAttributeType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaGraphMemAttributeType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaGraphMemAttributeType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaGraphMemAttributeType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaGraphMemAttributeType 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaGraphMemAttributeType) -1;
        }
    } else {
        enum cudaGraphMemAttributeType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaGraphMemAttributeType) -1;
        val = __Pyx_PyInt_As_enum__cudaGraphMemAttributeType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaGraphMemAttributeType");
    return (enum cudaGraphMemAttributeType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaGraphMemAttributeType");
    return (enum cudaGraphMemAttributeType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaOutputMode __Pyx_PyInt_As_enum__cudaOutputMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaOutputMode neg_one = (enum cudaOutputMode) -1, const_zero = (enum cudaOutputMode) 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 cudaOutputMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaOutputMode) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaOutputMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum cudaOutputMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) >= 2 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) (((((enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaOutputMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) >= 3 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) (((((((enum cudaOutputMode)digits[2]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaOutputMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) >= 4 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) (((((((((enum cudaOutputMode)digits[3]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[2]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 cudaOutputMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum cudaOutputMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaOutputMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaOutputMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaOutputMode, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum cudaOutputMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum cudaOutputMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum cudaOutputMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) (((enum cudaOutputMode)-1)*(((((enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum cudaOutputMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) ((((((enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum cudaOutputMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) (((enum cudaOutputMode)-1)*(((((((enum cudaOutputMode)digits[2]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum cudaOutputMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) ((((((((enum cudaOutputMode)digits[2]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum cudaOutputMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, 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 cudaOutputMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) (((enum cudaOutputMode)-1)*(((((((((enum cudaOutputMode)digits[3]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[2]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum cudaOutputMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum cudaOutputMode, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum cudaOutputMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum cudaOutputMode) ((((((((((enum cudaOutputMode)digits[3]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[2]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[1]) << PyLong_SHIFT) | (enum cudaOutputMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum cudaOutputMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaOutputMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum cudaOutputMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaOutputMode, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum cudaOutputMode 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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum cudaOutputMode) -1;
        }
    } else {
        enum cudaOutputMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaOutputMode) -1;
        val = __Pyx_PyInt_As_enum__cudaOutputMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaOutputMode");
    return (enum cudaOutputMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaOutputMode");
    return (enum cudaOutputMode) -1;
}

/* 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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
                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
            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
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
                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
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            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 one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            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;
}

/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = a->tp_base;
        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);
}
#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) {
    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
    if (!res) {
        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
    return res;
}
#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

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

/* 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
    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 PY_MAJOR_VERSION >= 3
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr) || (Py_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 (descr != NULL) {
        *method = descr;
        return 0;
    }
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'%.50s' object has no attribute '%U'",
                 tp->tp_name, name);
#else
                 "'%.50s' object has no attribute '%.400s'",
                 tp->tp_name, PyString_AS_STRING(name));
#endif
    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;
}

/* PyObjectCallMethod1 */
static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
    Py_DECREF(method);
    return result;
}
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
    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);
}

/* CoroutineBase */
#include <structmember.h>
#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(CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject **pvalue) {
    PyObject *et, *ev, *tb;
    PyObject *value = NULL;
    __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 (Py_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) {
    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);
}
#define __Pyx_Coroutine_AlreadyRunningError(gen)  (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
static void __Pyx__Coroutine_AlreadyRunningError(CYTHON_UNUSED __pyx_CoroutineObject *gen) {
    const char *msg;
    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(CYTHON_UNUSED PyObject *gen) {
    const char *msg;
    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(CYTHON_UNUSED PyObject *gen, PyObject *value, CYTHON_UNUSED int 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_type) {
        #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
        #else
        if (exc_state->exc_traceback) {
            PyTracebackObject *tb = (PyTracebackObject *) exc_state->exc_traceback;
            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
        }
        #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((PyObject *) 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) {
    PyObject *exc_tb = exc_state->exc_traceback;
    if (likely(exc_tb)) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
#else
        PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
        PyFrameObject *f = tb->tb_frame;
        Py_CLEAR(f->f_back);
#endif
    }
}
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_MethodReturn(CYTHON_UNUSED PyObject* gen, PyObject *retval) {
    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 {
            _PyGen_SetStopIterationValue(result);
        }
        Py_CLEAR(result);
    }
    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 = Py_TYPE(yf)->tp_iternext(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_GetAttrStr(yf, __pyx_n_s_close);
        if (unlikely(!meth)) {
            if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
                PyErr_WriteUnraisable(yf);
            }
            PyErr_Clear();
        } else {
            retval = PyObject_CallFunction(meth, NULL);
            Py_DECREF(meth);
            if (!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 = Py_TYPE(yf)->tp_iternext(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, CYTHON_UNUSED PyObject *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_GetAttrStr(yf, __pyx_n_s_throw);
            if (unlikely(!meth)) {
                Py_DECREF(yf);
                if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
                    gen->is_running = 0;
                    return NULL;
                }
                PyErr_Clear();
                __Pyx_Coroutine_Undelegate(gen);
                gen->is_running = 0;
                goto throw_here;
            }
            if (likely(args)) {
                ret = PyObject_CallObject(meth, args);
            } else {
                ret = PyObject_CallFunctionObjArgs(meth, typ, val, tb, NULL);
            }
            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 (!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) {
    Py_VISIT(exc_state->exc_type);
    Py_VISIT(exc_state->exc_value);
    Py_VISIT(exc_state->exc_traceback);
    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 (PyObject_CallFinalizerFromDealloc(self))
#else
        Py_TYPE(gen)->tp_del(self);
        if (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);
    PyObject_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 (--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, CYTHON_UNUSED void *context)
{
    PyObject *name = self->gi_name;
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#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;
    }
    tmp = self->gi_name;
    Py_INCREF(value);
    self->gi_name = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
{
    PyObject *name = self->gi_qualname;
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#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;
    }
    tmp = self->gi_qualname;
    Py_INCREF(value);
    self->gi_qualname = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
{
    PyObject *frame = self->gi_frame;
    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;
    gen->gi_exc_state.exc_type = NULL;
    gen->gi_exc_state.exc_value = NULL;
    gen->gi_exc_state.exc_traceback = NULL;
#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 (!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},
    {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}
};
static PyTypeObject __pyx_GeneratorType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    "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 PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
    0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
    0,
#endif
};
static int __pyx_Generator_init(void) {
    __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
    __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
    __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
    if (unlikely(!__pyx_GeneratorType)) {
        return -1;
    }
    return 0;
}

/* CheckBinaryVersion */
static int __Pyx_check_binary_version(void) {
    char ctversion[5];
    int same=1, i, found_dot;
    const char* rt_from_call = Py_GetVersion();
    PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    found_dot = 0;
    for (i = 0; i < 4; i++) {
        if (!ctversion[i]) {
            same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
            break;
        }
        if (rt_from_call[i] != ctversion[i]) {
            same = 0;
            break;
        }
    }
    if (!same) {
        char rtversion[5] = {'\0'};
        char message[200];
        for (i=0; i<4; ++i) {
            if (rt_from_call[i] == '.') {
                if (found_dot) break;
                found_dot = 1;
            } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
                break;
            }
            rtversion[i] = rt_from_call[i];
        }
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        return PyErr_WarnEx(NULL, message, 1);
    }
    return 0;
}

/* FunctionImport */
#ifndef __PYX_HAVE_RT_ImportFunction
#define __PYX_HAVE_RT_ImportFunction
static int __Pyx_ImportFunction(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 PY_VERSION_HEX >= 0x02070000
    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);
#else
    {const char *desc, *s1, *s2;
    desc = (const char *)PyCObject_GetDesc(cobj);
    if (!desc)
        goto bad;
    s1 = desc; s2 = sig;
    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
    if (*s1 != *s2) {
        PyErr_Format(PyExc_TypeError,
            "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), funcname, sig, desc);
        goto bad;
    }
    tmp.p = PyCObject_AsVoidPtr(cobj);}
#endif
    *f = tmp.fp;
    if (!(*f))
        goto bad;
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(d);
    return -1;
}
#endif

/* InitStrings */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        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);
        }
        #else
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        if (PyObject_Hash(*t->p) == -1)
            return -1;
        ++t;
    }
    return 0;
}

static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
}
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) || (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) {
#if PY_MAJOR_VERSION >= 3
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type %.200s).  "
                "The ability to return an instance of a strict subclass of int "
                "is deprecated, and may be removed in a future version of Python.",
                Py_TYPE(result)->tp_name)) {
            Py_DECREF(result);
            return NULL;
        }
        return result;
    }
#endif
    PyErr_Format(PyExc_TypeError,
                 "__%.4s__ returned non-%.4s (type %.200s)",
                 type_name, type_name, Py_TYPE(result)->tp_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
    const digit* digits = ((PyLongObject*)b)->ob_digit;
    const Py_ssize_t size = Py_SIZE(b);
    if (likely(__Pyx_sst_abs(size) <= 1)) {
        ival = likely(size) ? digits[0] : 0;
        if (size == -1) ival = -ival;
        return ival;
    } else {
      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);
}


#endif /* Py_PYTHON_H */
